Built a CLI coding agent in Rust. Works with Gemini, Claude, GPT. 1M context. Single 12MB binary.
Tech:
- tokio + reqwest for async/streaming
- clap + rustyline for CLI
- Canonical message format across all 3 providers
- 16 tools (read, write, edit, bash, search, git, MCP)
- Safety classifier with per-project policy
The bug that took the longest:
Gemini 3 added thoughtSignature at the Part level β sibling of functionCall, not nested inside. Took 3 iterations to get the deserialization right.
Honest split:
AI generated ~70% of the code. I did architecture, review, debugging, deployment, QA. The site (forgecli.vercel.app) was also AI-built β one prompt, zero hand-written HTML/CSS.
Links:
- github.com/pratikacharya1234/forge
- forgecli.vercel.app
Feedback welcome. Break it, tell me what's wrong.