aft.page
Your agent made the app. aft makes it real. Give aft.page what an agent made → get a durable live URL → share it like a Google Doc.
Hosted path: HTML/files via MCP, paste, upload, or API — plus runtimes
(upstream worker / next) with claim, share, and per-site secrets. See
rfs.txt and docs/STRATEGY.md.
| Path | Role |
|---|---|
www/ | Apex website (landing, login, docs — Cloudflare Pages) |
apps/api/ | Worker: deploy, serve, secrets, upstream proxy |
apps/extension/ | Chrome: Run on AFT on GitHub; ChatGPT/Claude HTML + repo links |
apps/macos/ | macOS: Codex Open in aft Drop / folder-to-live-URL client |
apps/mcp/ | MCP: any agent can deploy_html / deploy_files |
apps/cli/ | Hosted CLI: curl -fsSL https://aft.page/install | sh → aft deploy |
examples/ | vite-hello, next-hello, share-checklist |
Hosted CLI (no account required):
curl -fsSL https://aft.page/install | sh
aft deploy
OSS CLI (customer AWS / Cloudflare — parked, different product): vaibhavmule/aft.
Hosted repo: vaibhavmule/aft.page.
Try it
curl -X POST https://api.aft.page/v1/deploy \
-H 'Content-Type: text/html' \
-H 'X-Aft-Client: curl' \
--data '<h1>Hello from aft.page</h1>'
# → { "url": "https://{slug}.aft.page", ... }
Live: hello.aft.page · vite-hello.aft.page (Vite SPA) · next-hello.aft.page (Next SSR SPOC) · share-checklist.aft.page
Human landings: Docs · Drop · host · share · upload
Secrets (owner / editor)
# List names only
curl https://api.aft.page/v1/sites/{slug}/secrets -H "Cookie: …"
# Set env value
curl -X PUT https://api.aft.page/v1/sites/{slug}/secrets/ANTHROPIC_API_KEY \
-H "Content-Type: application/json" -H "Cookie: …" \
-d '{"value":"sk-…"}'
aft.json may declare "runtime": "worker" | "next" | "static" and
capabilities.secrets / egress. See docs/CAPABILITIES.md.
Develop the API
cd apps/api
npm install --legacy-peer-deps
npx wrangler deploy
See apps/api/README.md, docs/METRICS.md, and todo.txt.