Productivity
btca-cli▌
davis7dotsh/better-context · updated Apr 8, 2026
$npx skills add https://github.com/davis7dotsh/better-context --skill btca-cli
summary
Source-first CLI for grounding questions in git repos, local directories, and npm packages.
- ›Add and manage resources (git repositories, local directories, npm packages) via btca add , then query them with btca ask using resource names or anonymous one-off URLs
- ›Ask questions across multiple resources simultaneously to cross-reference answers and connect concepts
- ›Configuration stored in btca.config.jsonc at project and global levels; project config overrides global settings and control
skill.md
btca CLI
btca is a source-first research CLI. It hydrates resources (git, local, npm) into searchable context, then answers questions grounded in those sources. Use configured resources for ongoing work, or one-off anonymous resources directly in btca ask.
Full CLI reference: https://docs.btca.dev/guides/cli-reference
Add resources:
# Git resource
btca add -n svelte-dev https://github.com/sveltejs/svelte.dev
# Local directory
btca add -n my-docs -t local /absolute/path/to/docs
# npm package
btca add npm:@types/node@22.10.1 -n node-types -t npm
Verify resources:
btca resources
Ask a question:
btca ask -r svelte-dev -q "How do I define remote functions?"
Common Tasks
- Ask with multiple resources:
btca ask -r react -r typescript -q "How do I type useState?"
- Ask with anonymous one-off resources (not saved to config):
# One-off git repo
btca ask -r https://github.com/sveltejs/svelte -q "Where is the implementation of writable stores?"
# One-off npm package
btca ask -r npm:react@19.0.0 -q "How is useTransition exported?"
Config Overview
- Config lives in
btca.config.jsonc(project) and~/.config/btca/btca.config.jsonc(global). - Project config overrides global and controls provider/model and resources.
Troubleshooting
- "No resources configured": add resources with
btca add ...and re-runbtca resources. - "Provider not connected": run
btca connectand follow the prompts. - "Unknown resource": use
btca resourcesfor configured names, or pass a valid HTTPS git URL /npm:<package>as an anonymous one-off inbtca ask.