Model routing by task
Use different models for research, planning, implementation, and review. Choose based on capability, latency, cost, or privacy instead of locking the workflow to one provider.
GPTCode is an open-source coding CLI for researching, planning, implementing, and reviewing software with multiple AI models—while keeping context, engineering rules, and validation close to the code.
Real capture · Research and review grounded in repository evidence · Public API preserved · Go race detector passed
One model rarely excels at every task. GPTCode decomposes software development into explicit stages so each step can use the best model, repository knowledge, and deterministic verification.
Language models are good at exploring possibilities, but production software depends on explicit constraints, stable contracts, and executable verification.
GPTCode separates model reasoning from system authority. Agents can investigate, plan, implement, and review. The repository defines the constraints, and deterministic tools determine whether the result is correct.
Models generate possibilities.
Repositories define constraints.
Verification establishes truth.
GPTCode exists to keep these responsibilities separate.Use different models for research, planning, implementation, and review. Choose based on capability, latency, cost, or privacy instead of locking the workflow to one provider.
Store engineering conventions, architectural constraints, testing practices, and review criteria alongside the code they govern.
Separate research, planning, execution, and review into inspectable stages instead of hiding the development process behind a single prompt.
Treat tests, linters, type checks, and project commands as evidence. A model may propose a change; the system must verify it.
Repository knowledge enters an explicit pipeline. Models contribute at each stage, while skills, contracts, tools, and verification remain anchored to the codebase.
Skills are reusable, version-controlled Markdown instructions for how work should be performed in a codebase. They can define language conventions, architectural boundaries, testing strategies, review checklists, and project-specific workflows.
Explore the included skills →# Elixir Patterns
Guidelines for writing idiomatic Elixir
and Phoenix applications.
## When to Activate
- Writing or editing Elixir code
- Working with Phoenix applications
- Reviewing Elixir code
## Pattern Matching
### Use pattern matching in function heads
def handle_response({:ok, body}),
do: process(body)
def handle_response({:error, reason}),
do: log_error(reason)
Map modules, dependencies, and execution paths before changing an unfamiliar codebase.
Turn an ambiguous request into a plan with explicit constraints, risks, and verification steps.
Apply changes with repository-specific conventions and boundaries available throughout execution.
Use a distinct review stage to question assumptions, identify regressions, and verify the implementation.
I built GPTCode to explore a question that became increasingly important while building production software with AI:
How can models contribute meaningfully to engineering work without becoming the source of truth for the system?
GPTCode is my answer in executable form. It combines multi-model workflows, repository-native knowledge, and deterministic verification in a tool I use to test ideas about reliable agentic development.
— Jader Correa
Principal engineer and founder
The project is intentionally local, provider-independent, and transparent. Contributions, bug reports, and technical discussion are welcome.
MIT licensed · Written in Go · No hosted account required
Install GPTCode, connect a provider, and start exploring your repository from the terminal.
go install github.com/jadercorrea/gptcode/cmd/gptcode@latest
gt setup
gt key openrouter
gt chat