150 lines
3.9 KiB
Markdown
150 lines
3.9 KiB
Markdown
# Context Kit
|
|
|
|
Local context tools for Claude Code and OpenCode.
|
|
|
|
Local web search. Local docs. Repo packing. No API keys required.
|
|
|
|
## What You Get
|
|
|
|
Context Kit gives coding agents three local tools:
|
|
|
|
| Tool | Purpose |
|
|
|---|---|
|
|
| `context-web-search` | Current web search through local SearXNG plus URL fetch/extract |
|
|
| `context-docs` | Semantic search over curated `llms.txt` documentation |
|
|
| `context-repomix` | Pack repositories into AI-friendly context |
|
|
|
|
The first public release deliberately keeps the surface area small: web search,
|
|
docs search, and repository packing.
|
|
|
|
## Quick Start
|
|
|
|
```sh
|
|
git clone https://gitea.krishnan.ca/ajaynomics/context-kit.git
|
|
cd context-kit
|
|
cp .env.example .env
|
|
export PATH="$PWD/bin:$PATH"
|
|
bin/context-kit start
|
|
bin/context-kit doctor
|
|
```
|
|
|
|
Then connect your assistant.
|
|
|
|
For Claude Code:
|
|
|
|
```sh
|
|
bin/context-kit install claude
|
|
```
|
|
|
|
Copy the printed JSON into your project's `.mcp.json`, or use the equivalent
|
|
`claude mcp add` commands if you prefer managing servers through the Claude CLI.
|
|
The default snippet uses `context-kit` on `PATH`, which is the right shape for
|
|
shared project config. For a private user-only config, you can print absolute
|
|
paths with `bin/context-kit install claude --absolute`.
|
|
|
|
For OpenCode:
|
|
|
|
```sh
|
|
bin/context-kit install opencode
|
|
```
|
|
|
|
Merge the printed `mcp` block into your `opencode.json`, then restart OpenCode.
|
|
The default snippet uses `context-kit` on `PATH`. Use
|
|
`bin/context-kit install opencode --absolute` only for private, machine-local
|
|
config that will not be committed.
|
|
|
|
## How It Runs
|
|
|
|
- SearXNG binds to `127.0.0.1:8099` only.
|
|
- `context-web-search` and `context-repomix` run as local stdio MCP commands.
|
|
- `context-docs` runs as a local HTTP MCP service. `bin/context-kit docs` is a
|
|
stdio fallback for clients that cannot use HTTP MCP.
|
|
- `context-docs` browser CORS is disabled by default; set exact local origins
|
|
only when a browser-based client needs direct access.
|
|
- Docs and model caches live in `$HOME/.local/share/context-kit`.
|
|
- Docs refresh TTL defaults to `24h`.
|
|
- Repomix mounts only the current project read-only.
|
|
- No code-editing MCP server is enabled by default.
|
|
|
|
## Docs Sources
|
|
|
|
The default docs index is intentionally small:
|
|
|
|
- Claude Code docs
|
|
- OpenAI API docs and reference
|
|
- OpenRouter docs
|
|
- Model Context Protocol docs
|
|
|
|
Optional profiles live in `config/`:
|
|
|
|
- `sources.ruby-ai.txt`
|
|
- `sources.js.txt`
|
|
- `sources.cloudflare.txt`
|
|
|
|
Example:
|
|
|
|
```sh
|
|
CONTEXT_KIT_DOCS_SOURCES="config/sources.default.txt config/sources.js.txt" \
|
|
bin/context-kit restart
|
|
```
|
|
|
|
Source changes are loaded by `start`/`restart`; `bin/context-kit docs` is only a
|
|
stdio bridge to the already-running docs service.
|
|
|
|
Large vendor feeds are opt-in because they can expand to thousands of sections
|
|
and take a while to embed.
|
|
|
|
## Commands
|
|
|
|
```sh
|
|
bin/context-kit start
|
|
bin/context-kit stop
|
|
bin/context-kit build
|
|
bin/context-kit status
|
|
bin/context-kit doctor
|
|
bin/context-kit install claude
|
|
bin/context-kit install opencode
|
|
bin/context-kit redaction-check
|
|
```
|
|
|
|
MCP entrypoints:
|
|
|
|
```sh
|
|
bin/context-kit web-search
|
|
bin/context-kit docs
|
|
bin/context-kit repomix
|
|
```
|
|
|
|
After pulling Context Kit updates, rebuild local images and restart services:
|
|
|
|
```sh
|
|
bin/context-kit build
|
|
bin/context-kit restart
|
|
```
|
|
|
|
## Security Model
|
|
|
|
Context Kit is local-first, but MCP tools still extend what your agent can do.
|
|
|
|
- Treat fetched web pages as untrusted input.
|
|
- Do not expose SearXNG publicly without changing the secret and reviewing its
|
|
configuration.
|
|
- Keep docs profiles curated. More sources means more background indexing and
|
|
more untrusted text in your retrieval corpus.
|
|
- Be cautious when adding code-editing MCP servers. Context Kit's default MCP
|
|
servers either read remote content or mount the current project read-only.
|
|
|
|
See `docs/security.md` for details.
|
|
|
|
## Requirements
|
|
|
|
- Docker with Compose v2
|
|
- Bash
|
|
- `curl` for health checks
|
|
|
|
No hosted API keys are required for the default stack.
|
|
|
|
## License
|
|
|
|
MIT
|