Directory Layout
Rationale
| Principle | Effect |
|---|---|
| MDX prompts | Prompt engineering separated from orchestration logic |
| Schema files | Per-step .schema.ts with Zod; auto-creates SQLite tables, validates output |
| One component per step | Composable, independently testable |
Thin workflow.tsx | Root file only composes components |
Shared agents.ts | Single place to configure and swap models |
Key Files
smithers.ts — Schema Registry
agents.ts
See Model Selection for the dual-agent setup pattern.
config.ts
preload.ts + bunfig.toml
workflow.tsx
components/index.ts
run.sh
package.json
tsconfig.json
The Component Pattern
Each step follows a three-file pattern: schema, prompt, component.1. Schema (Component.schema.ts)
2. Prompt (Component.mdx)
{props.schema} is auto-injected by Smithers from the Zod schema.
3. Component (Component.tsx)
Next Steps
- MDX Prompts — MDX for system prompts and per-step prompts.
- Implement-Review Loop — The ValidationLoop component pattern.
- Dynamic Tickets — Agent-driven ticket discovery.
- Patterns — Naming conventions, output access patterns.