5d00e71275
頂層 D22 決策(leo 2026-07-03 拍板):推什麼由開發環境歸屬決定, Gitea private=除機敏值/build 產物/.github 外全 push。 解 T1.5 卡點:雲端工人 clone 拿得到 credential-store-migration.md,可就地改寫 SDD。 機敏掃描兩輪通過(新增 189 檔約 2.1MB,node_modules/dist/wasm 照舊排除)。 Co-Authored-By: Claude Fable 5 <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