Instant documentation fetcher for any developer service. One command — get the docs.
Powered by llms.txt. Works as a CLI, MCP server (Claude Code, Cursor, Windsurf), and Claude Code hook (/docs).
npm install -g @ayuugoyal/quickdocsOr without installing:
npx @ayuugoyal/quickdocs stripe webhooksquickdocs stripe webhooks # fetch docs — trimmed to relevant sections
quickdocs nextjs app-router
quickdocs supabase auth
quickdocs react useEffect
quickdocs vercel environment-variablesquickdocsArrow-key picker → select service → select topic → docs printed.
quickdocs stripe webhooks --full # full doc, no trimming
quickdocs stripe webhooks --fresh # skip cache, fetch live
quickdocs stripe --list # browse all topics for a service
quickdocs list # list all supported services
quickdocs cache:clear # clear ~/.quickdocs/cache/By default, quickdocs returns only the relevant sections for your topic — not the entire doc page.
Splits the page by headings → scores each section against your query → returns top matches (~4000 chars).
quickdocs stripe webhooks # relevant sections only
quickdocs stripe webhooks --full # full pageType /docs directly in Claude Code input. The hook pre-fetches docs and injects them into context — no AI tool calls needed.
Setup:
- Add to
~/.claude/settings.json:
{
"hooks": {
"UserPromptSubmit": [
{
"matcher": "^/docs",
"hooks": [
{
"type": "command",
"command": "bash \"/path/to/quickdocs/plugin/hooks/on-prompt.sh\"",
"timeout": 20
}
]
}
]
}
}- Copy skill:
cp -r plugin/skill ~/.claude/skills/docsUsage:
/docs stripe webhooks → fetches + injects docs instantly
/docs nextjs app-router
/docs → shows all services
/docs stripe → shows all stripe topics
claude mcp add-json quickdocs '{"command":"npx","args":["-y","@ayuugoyal/quickdocs","mcp"]}'Or add to .mcp.json:
{
"mcpServers": {
"quickdocs": {
"command": "npx",
"args": ["-y", "@ayuugoyal/quickdocs", "mcp"]
}
}
}Cursor → ~/.cursor/mcp.json | Windsurf → ~/.codeium/windsurf/mcp_config.json
| Tool | Description |
|---|---|
get_docs(service, topic) |
Fetch docs — trimmed by default, full=true for complete |
list_services() |
List all supported services |
list_topics(service) |
Browse all topics for a service |
search_topics(service, query) |
Search topics by keyword |
All services use the official llms.txt standard — no scraping.
| Service | Aliases |
|---|---|
| Stripe | stripe |
| Vercel | vercel |
| Next.js | nextjs, next |
| Supabase | supabase |
| Anthropic | anthropic, claude |
| GitHub | github, gh |
| Drizzle ORM | drizzle |
| Cloudflare | cloudflare, cf |
| Docker | docker |
| Astro | astro |
| Svelte / SvelteKit | svelte, sveltekit |
| Hono | hono |
| Bun | bun |
| Deno | deno |
| Prisma | prisma |
| Clerk | clerk |
| Neon | neon, neondb |
| Upstash | upstash |
| Turso | turso |
| shadcn/ui | shadcn, shadcn-ui |
| Model Context Protocol | mcp |
| Vercel AI SDK | ai-sdk, aisdk |
| LangChain | langchain |
| Turborepo | turborepo, turbo |
| Replicate | replicate |
| PostHog | posthog |
| Cursor | cursor |
| Better Auth | better-auth |
Fetch official llms.txt index → fuzzy-match topic → fetch .md doc directly.
Cached at ~/.quickdocs/cache/ for 24h. Use --fresh to bypass.
Add a service — one object in src/registry/services.ts:
myservice: {
name: 'My Service',
aliases: ['myservice', 'ms'],
baseUrl: 'https://docs.myservice.com',
llmsTxtUrl: 'https://docs.myservice.com/llms.txt',
strategy: 'llmstxt',
description: 'What this service does',
},PRs welcome.
MIT