| FMRS | 62 / 100 · C | 80 / 100 · B | 79 / 100 · B |
| Reliability | 10 / 20 | 14 / 20 | 12 / 20 |
|---|
| Security and permissions | 14 / 20 | 16 / 20 | 16 / 20 |
|---|
| Maintenance | 10 / 20 | 17 / 20 | 18 / 20 |
|---|
| Documentation | 16 / 20 | 15 / 20 | 18 / 20 |
|---|
| Setup experience | 12 / 20 | 18 / 20 | 15 / 20 |
| Best for | - Developers who want to preserve learnings across AI coding sessions.
- Those seeking a second brain / AI memory that their agent can query for thinking patterns.
- Privacy-conscious users who require all data stay local.
- People who want to track their growth as a developer over time.
| - Developers using fast-moving frameworks/libraries worried about the AI suggesting stale code
- Scenarios wanting zero-config documentation lookup
| - Developers auditing NPM dependencies within AI workflows
- Teams performing supply chain security assessments
- Users of Claude Desktop, Cursor, or VS Code
|
| Not for | - Those needing project-level memory or codebase history (it focuses on the person, not the code).
- Those needing cloud sync or multi-user collaboration (it's local-first).
- Users unfamiliar with CLI or unwilling to run a local model download.
- Proactive coaching expecting in-session suggestions or nudges (it's a tool, not a coach).
| - Looking up internal/private codebase documentation (Context7 targets publicly published open-source libraries)
- Cases needing very high coverage of obscure, niche libraries (coverage depends on what Context7's platform has indexed)
| - Projects outside the NPM ecosystem (e.g., pure Python/Go)
- Environments without network access to deps.dev, OSV.dev, and the npm registry
- Scenarios requiring maintenance by an official upstream vendor
|
| Required permissions | - Reads user prompts and assistant messages captured by Claude Code hooks.
- Reads OpenCode's local SQLite session database.
- Accesses local file system for storing data (default `~/.local/share/witness/`).
- Invokes `claude -p` or a private `opencode serve` runner for distillation.
| - Usable without an API key (subject to a free-tier rate limit); CONTEXT7_API_KEY is an optional credential for higher quota
- Read-only documentation lookup — no code execution or local filesystem access involved
| - Network access to the NPM registry and external services (deps.dev, OSV.dev, OpenSSF, npms.io, GitHub)
- Read access to workspace lockfiles (pnpm-lock.yaml, package-lock., yarn.lock) for cache invalidation
|
| Risks and side effects | - Data is all local but requires regular backups; don't sync live data directory directly.
- May require significant disk space as the model ~470MB and raw transcripts accumulate.
- Uses LLM distillation which can incur compute and cost depending on runner configuration.
- Ensure to use `witness export` for consistent snapshots for backup to avoid corruption.
| - The free tier has limited quota — high-frequency use may hit rate limits
- Documentation content comes from Context7's platform index, so its accuracy and freshness depend on that platform's crawl cadence
| - Third-party READMEs and changelogs are untrusted external content; they are wrapped in tags with _meta flags but should still be handled cautiously
- Depends on availability and accuracy of external services
- Batch requests are capped at 25 packages to prevent registry enumeration; larger sets require batching
- Third-party open source project, not officially maintained by NPM or Anthropic
|
| Supported clients | Claude Desktop, OpenCode | Claude Code, VS Code, Cursor, Cline, Amp | Claude Desktop, VS Code, Cursor, Smithery.ai |
| Tools | 5 | 2 | 19 |