Skip to content

v0.8.0 — per-artifact public share (gist + hosted viewer) - #12

Merged
drepkovsky merged 1 commit into
mainfrom
feat/public-share
Jun 14, 2026
Merged

v0.8.0 — per-artifact public share (gist + hosted viewer)#12
drepkovsky merged 1 commit into
mainfrom
feat/public-share

Conversation

@drepkovsky

Copy link
Copy Markdown
Member

Share one board artifact — a design, spec, task, or knowledge note — as a public link, without self-hosting and without the recipient installing anything. The unit is one artifact (not the whole board), which keeps redaction trivial.

What's in it

  • agent-board share <design|spec|task|knowledge> <id> — uploads the artifact as a secret GitHub gist (via your existing gh auth) and prints a link rendered by a zero-build static viewer at docs/share (GitHub Pages, already on main/docs).
  • Designs are flattened into one self-contained HTML — local stylesheets, scripts, images, and CSS url(...) become inline content and data URLs; CDN/absolute refs are left alone. Specs/tasks/knowledge render as Markdown.
  • Stable URL on re-share via a non-invasive shares.json index at the project root; share list and share rm <kind> <id> manage shares.
  • Web viewer: a Share button on every task/spec/knowledge/design detail, backed by a loopback-only POST /api/share (the board's first mutating route — gated to localhost so --host 0.0.0.0 can't let a LAN peer publish on your behalf).
  • The hosted viewer is fully self-contained (vendored marked, no runtime CDN dependency).

Verified

  • tsc --noEmit clean · bun test 69 pass (+2 for the bundle inliner + parseShareKind) · agent-board skills check no drift.
  • End-to-end: design + markdown shares created/updated/deleted via CLI and the web button; the viewer renders the design (sandboxed iframe) and Markdown with no console errors.

Secret gists are link-private, not access-controlled; override the viewer with AGENT_BOARD_SHARE_VIEWER. Bumps to 0.8.0.

🤖 Generated with Claude Code

- `agent-board share <design|spec|task|knowledge> <id>` publishes one artifact as a secret GitHub gist (via existing gh auth) rendered by a zero-build static viewer (docs/share, GitHub Pages from main/docs).
- Designs: the wireframe bundle is inlined into one self-contained HTML (local css/js/img + CSS url() become inline content and data URLs; CDN/absolute refs untouched). Specs/tasks/knowledge render as Markdown.
- Stable URL on re-share via a non-invasive shares.json index; `share list` and `share rm <kind> <id>`.
- Web viewer: a Share button on every task/spec/knowledge/design detail, backed by a loopback-only POST /api/share (the board's first mutating route).
- Hosted viewer is self-contained (vendored marked, no runtime CDN).
- Unit tests for the bundle inliner + parseShareKind. Bump to 0.8.0.
@drepkovsky
drepkovsky merged commit fd0402d into main Jun 14, 2026
1 check passed
@drepkovsky
drepkovsky deleted the feat/public-share branch June 14, 2026 15:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant