Files
Arcrun/system-dev/docs/3-specs/tech.md
T
uncle6me-web 5d00e71275 chore: D22 落地——docs/SDD/wiki/CLAUDE.md 進 repo(Gitea private 預設全 push)
頂層 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>
2026-07-03 07:13:33 +08:00

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