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>
63 lines
1.6 KiB
Markdown
63 lines
1.6 KiB
Markdown
# 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)
|
|
|
|
```bash
|
|
# 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)
|
|
|
|
```bash
|
|
# Build a component
|
|
cd registry/components/{name}/
|
|
tinygo build -target=wasi -o main.wasm main.go
|
|
```
|
|
|
|
### CLI
|
|
|
|
```bash
|
|
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`
|