Publish a module
Publishing writes to your PDS: the wasm, a com.fedfork.exec.wasm.module record and the source it was
built from. The build runs in a rust:<your rustc version> container (podman, docker or Apple's
container), so atlibs verify reproduces it anywhere.
In the repo from Write a module, built once (cargo wasm writes Cargo.lock):
cd my-module
git init -q && git add -A && git commit -qm my-module
git remote add origin https://example.com/you/my-module # the source manifest records it
atlibs login you.bsky.social
atlibs publish --dry-run --as you.bsky.social
atlibs publish --as you.bsky.social
…
would-publish my-module <pin> -
0 published, 0 unchanged, 1 would publish, 0 skipped:dirty, 0 drift, 0 failed (cache …)
…
published my-module <pin> <cid> you.bsky.social/my-module
1 published, 0 unchanged, 0 would publish, 0 skipped:dirty, 0 drift, 0 failed (cache …)
Publishing refuses uncommitted sources. Later runs publish only what changed. Without OAuth:
--app-password you.bsky.social --password-env APP_PASSWORD in place of --as.
Verify, add, run
Anyone can rebuild it and compare, then use it:
atlibs verify you.bsky.social/my-module
cd "$(mktemp -d)"
atlibs add you.bsky.social/my-module
atlibs run my-module describe '{"did":"did:plc:ocnuqjlzgohypj3zoznermms"}'
…"reproducible": true…
added my-module (you.bsky.social/my-module) pin …
Remove it
atlibs publish delete com.fedfork.exec.wasm.module/my-module --as you.bsky.social
Signed-in modules (a session record), pins, what is uploaded: Publish a module.
Previous: Write a module | Next: Compose