# atlibs docs WebAssembly modules published as atproto records, run in a page, Node, Rust or the `atlibs` CLI. ## Use - [In a page](start/page.md): an import map from jsdelivr, a published module - [In Node](start/node.md): `npm i @publicdomainrelay/atlibs` - [From the CLI](start/cli.md): `cargo install`, `atlibs add`, `atlibs run`, `atlibs serve` - [In Rust](start/rust.md): the `atlibs-host` crate - More: [pages](browser/run-modules.md), [page sign-in](browser/oauth.md), [Node servers](server/node.md), [Rust servers](server/rust.md), [server sessions](server/sessions.md), [app identity](server/app-identity.md), [MCP servers](server/mcp.md) ## Write - [A module](start/write.md): `atlibs new`, `cargo test`, `cargo wasm`, `atlibs run` - More: [the SDK](modules/write.md), [calls](modules/calls.md), [tests](modules/test.md), [policies](policies.md), [transports](transports.md) ## Publish - [A module](start/publish.md): `atlibs publish`, `atlibs verify`, `atlibs add` - More: [session records, pins](modules/publish.md) ## Compose - [A composition](start/compose.md): `compose.ts` writes the `composition.json` you commit; `atlibs compose check`, run, publish, add, stage for a page - More: [compositions](compositions.md) (routes by `implements`, `config` input, Rust) ## Reference [CLI](cli.md), [how it works](how-it-works.md), [examples](examples.md), [lexicons](reference/lexicons.md), [limits](reference/limits.md), [environment](reference/env.md), [security](reference/security.md) Every block in these pages runs or is tagged: `node --test docs/docs.test.mjs` (header: the tags; `ATLIBS_DOCS_NETWORK=1` adds the network ones).