Skip to content

Repository files navigation

Playgrounds

Browser host for SAM (Single-page Application Module) sandboxes: OPFS workspace, canvas via Service Worker, optional agents, WASI shell, SecretStore.

  • Default field: https://play.samkuo.me/
  • Docs: https://docs.samkuo.me/ — Starlight in docs-site/ (DEC-043 / docs/PG-DOCS-PLAN.md); npm run docs:dev / docs:deploy
  • Field net: any https://<name>.samkuo.me/ — same build, separate browser origin (OPFS / secrets / SW)
  • Deploy target: Cloudflare Workers (static assets + wildcard *.samkuo.me)
  • Author notes: samkuo.me (personal blog; not a product site)
  • Legacy (frozen): https://samkuo.me/playgrounds/ still opens with a migrate tip but is not updated with this repo; export .sam then import on the field you want (data is origin-bound)

Decisions: DEC-041 (extract / legacy mount), DEC-042 (Workers / wildcard / play), DEC-043 (docs / Starlight) — see docs/.

Develop

cp .env.example .env   # PUBLIC_PLAYGROUNDS_BASE_PATH= for root mount
npm install
npm run dev
npm test
npm run build
npm run deploy   # Cloudflare Workers (play.samkuo.me)

Open a SAM

https://play.samkuo.me/?open=sampot/pg-steward&name=總管

On another field, the same query works with that host (in-app “copy open link” should use location.origin).

Layout

Path Role
src/components/playgrounds/ Host UI
src/sam-runtime/ Portable SAM instance runtime
src/sam-host/ Headless Node host
public/sw.js Canvas virtual origin + offline shell cache
docs/ Host API / decisions snapshot
docs-site/ Starlight site for docs.samkuo.me

License

MIT — see LICENSE.

About

Browser Playgrounds host: SAM sandboxes, OPFS, agents, WASI shell

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages