Build A Vibe-Like Coding App
Outcome
Section titled “Outcome”You can start a first-party coding app with agentOS while keeping product modules inside the scoped spike until promotion is explicit.
Prerequisites
Section titled “Prerequisites”- Register product run state with
defineProjection. - Keep run workflow vocabulary in the app module, not a substrate package.
- Use attached streams for live turn frames.
- Commit terminal run facts to the ledger.
- Read current run state through
MaterializedProjections. - Add workspace state as projection modules:
workspace.file,workspace.git,workspace.port,workspace.artifact, andworkspace.url. - Add tenant config as projection modules:
tenant.credentialandtenant.skill. - Add product tools in the spike with
defineTool, authority contracts, and symbolic deploy readback facts. - Expose app-owned HTTP routes with
@effect/platformHttpApi,/openapi.json, and a Scalar/referencepage. Do not add an agentOS HTTP wrapper package until repeated cross-app boilerplate is proven. - Keep ops generic: projection status/rebuild, stuck triggers, and active streams. Product-specific ops stays in the spike.
- Record each module status under
spikes/vibe-like-agent-app/docs/. - Gate promotion on numeric acceptance metrics: prompt to first frame under 2s p95, workspace mutation to projection under 500ms p95, cancel to abort under 1s p95, 1k-event rebuild under 2s, and attached-stream detach to DO release under 30s.
- Promote a module only through a decision that moves code from
spikes/topackages/. - Keep the exception, sunset, promotion, and retirement mechanics in
decisions/a58-first-party-consumer-exception.md.