Files
Arcrun/.agents/steerings/tech.md
T
uncle6me-web 922a57fe34 arcrun — AI workflow execution engine (clean history)
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>
2026-06-03 15:52:38 +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