Configuration

Set up btca

Configure models and add resources to your config file.

Config file

btca looks for config in two places:

Global config

Default location, used when no project config exists.

~/.config/btca/btca.config.jsonc
Project config

Place in your project root to override global config.

./btca.config.jsonc

On first run, btca creates a default global config with some starter resources.

Models

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-5
Provider setup instructions
minimax-m2.1-free opencode

Minimax M2.1: very fast, very cheap, pretty good

btca config model -p opencode -m minimax-m2.1-free
Provider setup instructions
glm-4.7-free opencode

GLM 4.7 through opencode zen

btca config model -p opencode -m glm-4.7-free
Provider setup instructions
big-pickle opencode Default

Big Pickle, surprisingly good (and free)

btca config model -p opencode -m big-pickle
Provider setup instructions
kimi-k2 opencode

Kimi K2, no reasoning

btca config model -p opencode -m kimi-k2
Provider setup instructions
Resources

Resources are git repositories that btca clones and indexes. Add them via CLI or edit the config file directly.

Add a resource via CLI
btca config resources add -n effect -t git -u https://github.com/Effect-TS/effect -b main
Resource schema

Each resource has these fields:

FieldRequiredDescription
typeYesAlways "git"
nameYesShort identifier used in CLI commands
urlYesGit repository URL
branchYesBranch to clone
searchPathNoSubdirectory to search within the repo
searchPathsNoMultiple subdirectories to search within the repo
specialNotesNoHints for the AI about this resource
Example config

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"
    }
  ]
}
Teach your agent

Add this to your project's AGENTS.md so your AI agent knows when to use btca: