922a57fe34
Self-hosted 開源:WASM 零件 + recipe + cypher-executor,跑在你自己的 Cloudflare。 此為重建的乾淨歷史起點(移除曾誤 commit 的 GCP SA 金鑰,舊歷史保留在 richblack/arcrun 與本地 backup 分支)。含: - acr init --self-hosted installer(建 KV/R2 + codeload 拉預編譯 wasm + wrangler deploy + seed recipe) - recipe push 把關(資料外流提醒 + 打通檢查) - 19 個正當零件預編譯 wasm(claude_api/km_writer/kbdb_upsert_block 排除:違反 DECISIONS §1) - CLI / cypher-executor / registry / 完整 SDD Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
1.6 KiB
1.6 KiB
Tech Stack — arcrun
Runtime & Deployment
- Cloudflare Workers — all backend services deploy as Workers via Wrangler
- Cloudflare KV — workflow definitions, credentials (encrypted), recipes, sessions
- Cloudflare R2 — WASM binary storage (
WASM_BUCKET) - Cloudflare Pages — frontend deployment (arcrun.dev landing page)
Languages & Frameworks
- TypeScript — Workers (HTTP routing/orchestration only), CLI, SDKs
- TinyGo / AssemblyScript — all component logic, compiled to WASM (WASI preview1)
- Hono — HTTP framework for all Workers (routing, middleware, OpenAPI)
- Zod — schema validation and OpenAPI spec generation (
@hono/zod-openapi) - React 19 + Vite — frontend (landing page)
- Tailwind CSS v4 — styling
Testing
- Vitest — test runner
- @cloudflare/vitest-pool-workers — Workers-specific test pool for cypher-executor
Package Management
- pnpm — used in most packages (some use npm)
Common Commands
Per-service (run from the service directory)
# Start local dev server
pnpm dev # or: npm run dev
# Deploy to Cloudflare
pnpm deploy
# Run tests (single pass)
pnpm test # runs: vitest run
WASM Components (TinyGo)
# Build a component
cd registry/components/{name}/
tinygo build -target=wasi -o main.wasm main.go
CLI
cd cli/
npm run build
acr --help
API Documentation
Each Worker exposes OpenAPI docs at runtime:
/doc— OpenAPI JSON spec/ui— Swagger UI
Dev base URLs: Cypher Executor → http://localhost:8788