Files
holocron/.agents/skills/neuledge-context/references/install-notes.md
Defame1297 75c6ea1dd5 feat(skills): add neuledge-context skill for @neuledge/context MCP server
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
2026-06-20 23:16:27 +00:00

73 lines
2.9 KiB
Markdown

# Install Notes
## Prerequisites
- Node.js LTS (≥18)
- npm — pnpm/yarn also work
No other system dependencies are required. The package uses a WASM SQLite fallback (`sql.js-fts5`) if the native `better-sqlite3` module fails to build — but native mode is significantly faster.
**For native SQLite (recommended on Linux servers):**
```bash
apt-get install -y python3 make g++ # Debian/Ubuntu
```
---
## File Locations
| Path | Purpose |
|------|---------|
| `~/.context/packages/` | Downloaded/built SQLite package files (`name@version.db`) |
| `~/.context/config.json` | Server configuration (registries, auth credentials) |
Both directories are created automatically on first use.
---
## Self-Hosted Registry Server
Anyone can operate a compatible registry implementing the [Download Server API](https://github.com/neuledge/context/blob/main/SERVER_SPEC.md):
- `GET /search?registry=<r>&name=<n>[&version=<v>]` — search packages
- `GET /packages/<registry>/<name>/<version>` — package metadata
- `GET /packages/<registry>/<name>/<version>/download` — download `.db` file
- `POST /packages/<registry>/<name>/<version>` — publish (requires Bearer token)
Register a custom server in `~/.context/config.json` and reference it with `--server <name>`.
---
## Upgrade / Uninstall
```bash
# Upgrade — pass the target version to the install script
bash scripts/setup-neuledge-context.sh <VERSION>
# Uninstall binary
npm uninstall -g @neuledge/context
# Remove all downloaded packages and config (optional — confirm with user first)
rm -rf ~/.context
```
No migration needed on upgrade — `.db` package files are not affected by CLI version changes.
---
## Known Gotchas
1. **Native build failure** — If `better-sqlite3` fails to compile (missing Python/g++), Context falls back to WASM automatically. Queries still work but are slower. Install build tools to fix.
2. **Package naming** — `context remove next` removes all versions of `next`. Use `next@v16.2.0` to target a specific version.
3. **`context add` for git repos** — Requires `git` to be installed. Clones the full repo; use `--path` to limit to a docs subdirectory and `--tag` to pin a version.
4. **Registry package IDs** — Registry identifiers follow `<ecosystem>/<name>` format (e.g. `npm/react`, `pip/fastapi`, `cargo/tokio`). The `browse` command accepts bare names (`react`) and infers the registry.
5. **`--libs` restriction** — When `context serve --libs react next`, the `search_packages` and `download_package` MCP tools are hidden from the agent. Only `get_docs` is available, scoped to the listed libraries.
6. **No releases on GitHub** — The project publishes via npm directly. Check `npm view @neuledge/context version` for the current version.
7. **Auth cookies/headers** — Stored in `~/.context/config.json` as plain JSON. File permissions matter — always run `scripts/secure-context-config.sh` after `context auth add`.