Get started locally

Run a local AppView for a public AT Protocol collection with Node.js 22.13 or newer.

Create a project with the starter config:

pnpx @atmo-dev/contrail init my-appview
cd my-appview

This creates contrail.config.ts:

export default {
  namespace: "com.example",
  collections: {
    event: {
      collection: "community.lexicon.calendar.event",
      queryable: { startsAt: { type: "range" } },
    },
  },
};

Then run:

pnpx @atmo-dev/contrail dev

Contrail resolves the Lexicons, backfills existing records, follows new records, and serves a resumable SQLite AppView at http://127.0.0.1:8787.

curl 'http://127.0.0.1:8787/xrpc/com.example.event.listRecords?limit=10'

Replace the collection and fields with your own. Next: add the typed client to your app .

contrail