~ knotless Search/
↑↓ move↵ open⇧↵ all results

johnandersen777.bsky.social/atlibs

0
0
main
54 lines · 1.8 KB Raw History
# 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](write.md), built once (`cargo wasm` writes `Cargo.lock`):

```bash run=account
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
```

```output
…
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:

```bash run=account
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"}'
```

```output
…"reproducible": true…
added my-module (you.bsky.social/my-module) pin …
```

## Remove it

```bash run=account
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](../modules/publish.md).

Previous: [Write a module](write.md) | Next: [Compose](compose.md)