mirror of
https://github.com/fabro-sh/fabro.git
synced 2026-10-17 04:37:03 +00:00
1.2 KiB
1.2 KiB
Arc
Dev servers
arc serve— starts the Rust API server (demo mode is per-request viaX-Arc-Demo: 1header)cd apps/arc-web && bun run dev— starts the React dev server
API workflow
The OpenAPI spec at docs/api-reference/arc-api.yaml is the source of truth for the arc-api HTTP interface.
- Edit
docs/api-reference/arc-api.yaml cargo build -p arc-types— build.rs regenerates Rust types via typify- Write/update handler in
crates/arc-api/src/server.rs, add route tobuild_router() cargo test -p arc-api— conformance test catches spec/router driftcd packages/arc-api-client && bun run generate— regenerates TypeScript Axios client
Shell quoting in sandbox code
When interpolating values into shell command strings (in arc-exe and arc-workflows), always use the shell_quote() helper (backed by shlex::try_quote). Never use manual replace('\'', "'\\''") or unquoted interpolation. This applies to file paths, branch names, URLs, env vars, image names, glob patterns, and any other user-controlled input assembled into a shell script.
Testing workflows
When manually testing workflows with arc run, use --no-retro to skip the retro step and finish faster.