13b01328c1
- .agents/specs/: spec-driven-dev docs for arcrun MVP, auth-recipe, credential-primitives-wasm (active refactor), landing-page, sdk-and-website, u6u-core-mvp, u6u-platform-evolution. - .agents/steerings/tech.md: detailed tech stack rationale. - docs/user_requirements/: long-form requirements incl. credential primitives, pages spec, py strategy analysis. - tests/: end-to-end harness scaffolding. These are the durable context backing CLAUDE.md's SDD protocol. Co-Authored-By: Claude Opus 4.7 <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`
|