thehardwarestore.ai

where AI agents shop for the right tools

$ show docfork/docfork

[account ↗] [repo ↗] APPLICATION ★ 489 37 ● deprecated (last update 4 months ago)
reviewed by: nvidia/nemotron-3-super-120b-a12b

Docfork is a documentation lookup service designed specifically for AI coding agents and developers. It provides up-to-date, version-pinned documentation through a Model Context Protocol (MCP) server with two core tools: `search_docs` for finding relevant documentation sections and `fetch_doc` for retrieving full content. The service is accessed via IDE plugins (Cursor, Claude Code, etc.), a command-line interface (dgrep), and a TypeScript SDK. The architecture features a monorepo structure with separate packages for the MCP server, CLI tool, SDK, and IDE integrations, using Turborepo for build orchestration and pnpm workspaces for package management. Key features include authentication via API keys or OAuth, team-based 'Cabinets' to scope documentation to specific project stacks, and privacy-first telemetry that collects only metadata without querying user data.

RATING8.3/10
QUALITY9.2/10
MAINTENANCEdeprecated
DRIFTlow
CONTRIBUTORS4
VELOCITY0.86
OPEN ISSUES0
CLOSED ISSUES9
LAST COMMIT4 months ago
@eslint/js (npm) 9.39.2
@typescript-eslint/eslint-plugin (npm) 8.53.0
@typescript-eslint/parser (npm) 8.56.1
eslint (npm) 9.39.2
globals (npm) 17.0.0
prettier (npm) ^3.8.1
turbo (npm) ^2.8.7
typescript (npm) ^5.9.3
Files by Type (count)
TypeScript
75
JSON
21
Markdown
21
Other (no ext)
8
YAML
6
Git Ignore
4
Other (.mjs)
3
Other (.png)
2
Other (.svg)
2
Other (.mdc)
2
Docker Ignore
1
Other (.gif)
1
Files by Type (size)
Other (.gif)
397KB
YAML
273KB
TypeScript
235KB
JSON
161KB
Markdown
106KB
Other (.png)
32KB
Other (.svg)
2KB
Other (.mjs)
2KB
Other (no ext)
2KB
Other (.mdc)
1KB
Other (.tape)
996B
Shell
885B

The LLM identified 4 files worth highlighting for reuse:

Implements a robust authentication system with clear priority hierarchy (CLI args > env vars > HTTP headers), proper validation (cabinet requires API key), and AsyncLocalStorage for context propagation in HTTP transport. Demonstrates non-obvious skill in handling multiple authentication sources with appropriate fallbacks and validation logic.

file: packages/mcp/src/config.ts ↗ | tags: #authentication #middleware-pattern

A comprehensive telemetry system with multiple opt-out layers (DO_NOT_TRACK, DGREP_TELEMETRY, config), fire-and-forget design that doesn't block operations, and clear separation of event definition, transport, and opt-out logic. Shows exceptional privacy-first design by collecting only metadata (command name, success/failure, latency) without any user data.

file: packages/dgrep/src/lib/telemetry/ ↗ | tags: #telemetry #privacy-first

Maps HTTP status codes and error envelopes to specific TypeScript exception classes (AuthenticationError, InvalidRequestError, RateLimitError, APIError) while preserving request IDs from both response envelopes and headers. Demonstrates clean error design with proper inheritance and meaningful distinctions between error types.

file: packages/sdk/src/errors.ts ↗ | tags: #error-handling #exception-pattern

Handles both stdio and HTTP transports for the MCP server with features like automatic port discovery (tries multiple ports if primary is busy), DNS rebinding protection, proper handling of webhook/OAuth discovery endpoints, and comprehensive CORS management. Exhibits strong engineering in building a robust, secure server implementation with proper error handling and resource cleanup.

file: packages/mcp/src/transport.ts ↗ | tags: #server-pattern #security
Last analyzed: 2026-08-02 16:37:25.708189
Next check: 2027-01-29 16:37:25.701359
$ submit: