Set up btca
Configure models and add resources to your config file.
btca looks for config in two places:
Default location, used when no project config exists.
~/.config/btca/btca.config.jsoncPlace in your project root to override global config.
./btca.config.jsoncOn first run, btca creates a default global config with some starter resources.
btca uses the OpenCode SDK under the hood, so any model that works with OpenCode works with btca. Set your model via CLI or edit the config file directly.
Providers require credentials configured in OpenCode. Run opencode auth to connect a provider, or edit your OpenCode config directly.
claude-haiku-4-5 opencode Claude Haiku 4.5, no reasoning. I HIGHLY recommend this model.
btca config model -p opencode -m claude-haiku-4-5minimax-m2.1-free opencode Minimax M2.1: very fast, very cheap, pretty good
btca config model -p opencode -m minimax-m2.1-freeglm-4.7-free opencode GLM 4.7 through opencode zen
btca config model -p opencode -m glm-4.7-freebig-pickle opencode DefaultBig Pickle, surprisingly good (and free)
btca config model -p opencode -m big-picklekimi-k2 opencode Kimi K2, no reasoning
btca config model -p opencode -m kimi-k2Resources are git repositories that btca clones and indexes. Add them via CLI or edit the config file directly.
btca config resources add -n effect -t git -u https://github.com/Effect-TS/effect -b mainEach resource has these fields:
| Field | Required | Description |
|---|---|---|
type | Yes | Always "git" |
name | Yes | Short identifier used in CLI commands |
url | Yes | Git repository URL |
branch | Yes | Branch to clone |
searchPath | No | Subdirectory to search within the repo |
searchPaths | No | Multiple subdirectories to search within the repo |
specialNotes | No | Hints for the AI about this resource |
A complete btca.config.jsonc file:
{
"$schema": "https://btca.dev/btca.schema.json",
"model": "claude-haiku-4-5",
"provider": "opencode",
"providerTimeoutMs": 300000,
"resources": [
{
"type": "git",
"name": "svelte",
"url": "https://github.com/sveltejs/svelte.dev",
"branch": "main",
"searchPath": "apps/svelte.dev",
"specialNotes": "Focus on the content directory for docs"
},
{
"type": "git",
"name": "effect",
"url": "https://github.com/Effect-TS/effect",
"branch": "main"
}
]
}Add this to your project's AGENTS.md so your AI agent knows when
to use btca: