Adds a complete cross-cutting skill to install, configure, and manage @neuledge/context — a local-first MCP server that delivers version-specific library docs to AI agents via SQLite FTS5. Includes: - SKILL.md with 9-step process: install, global MCP registration, per-project --libs scoping, package management, auth, custom registry, upgrade, uninstall - setup-neuledge-context.sh: pinned version install, idempotent version check - secure-context-config.sh: chmod 600 on ~/.context/config.json after auth - 13-case test suite covering both scripts (all pass) - eval.yaml with 6 trigger tests and 4 output tests - references/: context-cli-reference.md, http-mode.md, install-notes.md Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TP4EGbBg3XMcyF28Lx78XJ
249 lines
5.9 KiB
Markdown
249 lines
5.9 KiB
Markdown
# Context CLI Reference
|
|
|
|
Binary: `context`
|
|
Package: `@neuledge/context`
|
|
|
|
---
|
|
|
|
## `context add <source>`
|
|
|
|
Build and install a documentation package from any source.
|
|
|
|
**Arguments:**
|
|
- `<source>` — Package source. Auto-detected type:
|
|
- Local `.db` file path → copies directly
|
|
- HTTP(S) URL ending in `.db` → downloads
|
|
- GitHub URL or git repo URL → clones and builds
|
|
- Local directory path → builds from local docs
|
|
- Website URL → fetches `llms.txt` and builds
|
|
|
|
**Options:**
|
|
|
|
| Flag | Description |
|
|
|------|-------------|
|
|
| `--tag <tag>` | Git tag to checkout (for git repos) |
|
|
| `--pkg-version <version>` | Custom version label for the built package |
|
|
| `--path <path>` | Path to docs folder within the repo or directory |
|
|
| `--name <name>` | Custom package name (overrides auto-detected name) |
|
|
| `--save <path>` | Save a copy of the built `.db` file to this location |
|
|
| `--lang <code>` | Language filter: `all` for all languages, or ISO code (`en`, `de`, etc.) |
|
|
|
|
**Examples:**
|
|
```bash
|
|
context add https://github.com/prisma/prisma
|
|
context add ./my-local-docs --name mylib --pkg-version 2.0
|
|
context add https://mysite.com/docs --lang en
|
|
context add /tmp/react-19.0.db
|
|
```
|
|
|
|
---
|
|
|
|
## `context install <package> [version]`
|
|
|
|
Download and install a pre-built package from the registry.
|
|
|
|
**Arguments:**
|
|
- `<package>` — Package identifier, e.g. `npm/next` or `next`
|
|
- `[version]` — Specific version (latest used if omitted)
|
|
|
|
**Options:**
|
|
|
|
| Flag | Description |
|
|
|------|-------------|
|
|
| `--server <name>` | Named server from config (default: `neuledge`) |
|
|
|
|
**Examples:**
|
|
```bash
|
|
context install npm/next
|
|
context install npm/react 18.0.0
|
|
context install prisma --server myserver
|
|
```
|
|
|
|
---
|
|
|
|
## `context browse <package>`
|
|
|
|
Search for packages available on the registry.
|
|
|
|
**Arguments:**
|
|
- `<package>` — Package name or `registry/name`, e.g. `npm/next` or just `react`
|
|
|
|
**Options:**
|
|
|
|
| Flag | Description |
|
|
|------|-------------|
|
|
| `--server <name>` | Named server from config |
|
|
|
|
**Examples:**
|
|
```bash
|
|
context browse react
|
|
context browse npm/next
|
|
```
|
|
|
|
---
|
|
|
|
## `context list`
|
|
|
|
Display all installed packages with sizes and section counts.
|
|
|
|
```bash
|
|
context list
|
|
```
|
|
|
|
---
|
|
|
|
## `context remove <name>`
|
|
|
|
Remove an installed documentation package.
|
|
|
|
**Arguments:**
|
|
- `<name>` — Package name or name with version, e.g. `next` or `next@v16.2.0`
|
|
|
|
**Examples:**
|
|
```bash
|
|
context remove next
|
|
context remove next@v16.2.0
|
|
```
|
|
|
|
---
|
|
|
|
## `context serve`
|
|
|
|
Start the MCP server.
|
|
|
|
**Options:**
|
|
|
|
| Flag | Description |
|
|
|------|-------------|
|
|
| `--http [port]` | Run as HTTP server (default port: 8080) instead of stdio |
|
|
| `--host <host>` | Binding address for HTTP mode (default: `127.0.0.1`) |
|
|
| `--libs <names...>` | Restrict session to specific libraries; hides search/download tools |
|
|
|
|
**Examples:**
|
|
```bash
|
|
context serve # stdio mode (for Claude Code, Cursor, etc.)
|
|
context serve --http # HTTP on port 8080
|
|
context serve --http 3000 # HTTP on port 3000
|
|
context serve --http --host 0.0.0.0 # HTTP accessible on all interfaces
|
|
context serve --libs react next # locked to react and next only
|
|
```
|
|
|
|
---
|
|
|
|
## `context query <library> <topic>`
|
|
|
|
Query documentation from an installed package via CLI (no MCP needed).
|
|
|
|
**Arguments:**
|
|
- `<library>` — Installed package in `name@version` format, e.g. `nextjs@15.0`
|
|
- `<topic>` — Documentation topic, e.g. `createServer`, `cors middleware`
|
|
|
|
**Examples:**
|
|
```bash
|
|
context query nextjs@15.0 "app router"
|
|
context query react@18.0 useState
|
|
```
|
|
|
|
---
|
|
|
|
## `context auth`
|
|
|
|
Manage per-domain authentication for subscriber-only or private content.
|
|
|
|
### `context auth add <domain>`
|
|
|
|
Add or update authentication for a domain.
|
|
|
|
**Arguments:**
|
|
- `<domain>` — Domain to authenticate against
|
|
|
|
**Options:**
|
|
|
|
| Flag | Description |
|
|
|------|-------------|
|
|
| `--cookies <cookies>` | Cookie header value |
|
|
| `--header <header>` | Custom HTTP header (e.g. `Authorization: Bearer token`) |
|
|
|
|
**Example:**
|
|
```bash
|
|
context auth add docs.example.com --header "Authorization: Bearer mytoken"
|
|
context auth add private.site.com --cookies "session=abc123"
|
|
```
|
|
|
|
### `context auth list`
|
|
|
|
Display all configured authentication entries.
|
|
|
|
### `context auth remove <domain>`
|
|
|
|
Delete authentication for a domain.
|
|
|
|
---
|
|
|
|
## Config File
|
|
|
|
Location: `~/.context/config.json`
|
|
Format: JSON
|
|
|
|
```json
|
|
{
|
|
"servers": [
|
|
{
|
|
"name": "neuledge",
|
|
"url": "https://api.context.neuledge.com",
|
|
"default": true
|
|
}
|
|
]
|
|
}
|
|
```
|
|
|
|
**Config keys:**
|
|
|
|
| Key | Type | Default | Description |
|
|
|-----|------|---------|-------------|
|
|
| `servers` | array | single Neuledge entry | Registry server configurations |
|
|
| `servers[].name` | string | `"neuledge"` | Identifier used with `--server` flag |
|
|
| `servers[].url` | string | `"https://api.context.neuledge.com"` | Server endpoint |
|
|
| `servers[].default` | boolean | `true` | Primary server used when `--server` is omitted |
|
|
|
|
To add a self-hosted registry server:
|
|
```json
|
|
{
|
|
"servers": [
|
|
{ "name": "neuledge", "url": "https://api.context.neuledge.com", "default": true },
|
|
{ "name": "myorg", "url": "https://context.myorg.internal" }
|
|
]
|
|
}
|
|
```
|
|
|
|
---
|
|
|
|
## Environment Variables
|
|
|
|
None documented. Config is file-based (`~/.context/config.json`).
|
|
|
|
---
|
|
|
|
## MCP Tool Reference (server-side)
|
|
|
|
When running `context serve`, these MCP tools are registered:
|
|
|
|
### `get_docs`
|
|
Primary documentation lookup. Use before web searches when the library is installed.
|
|
- `library` — `name@version`, e.g. `react@18.0`
|
|
- `topic` — Short API name or keyword, e.g. `useState`, `cors middleware`
|
|
|
|
### `search_packages`
|
|
Find available packages in a registry.
|
|
- `registry` — `npm`, `pip`, `cargo`, `go`
|
|
- `name` — Package name
|
|
- `version` (optional) — Specific version
|
|
- `server` (optional) — Named server from config
|
|
|
|
### `download_package`
|
|
Download and install a package from the registry.
|
|
- `registry` — Registry identifier
|
|
- `name` — Package name
|
|
- `version` — Version string
|
|
- `server` (optional) — Named server from config
|