Build a support agent from your terminal
One command scans your codebase, detects your stack, and gives birth to an AI agent that answers customer questions with citations. Drafts stay marked until you review them. Run sync again after code changes, or wire scan and push into CI to refresh on deploy. Works with npx and bunx.
See what one command does
Run helpshelf scan and watch it map your entire project.
Your codebase, fully documented
The CLI does the heavy lifting so you don't have to
Auto-detect everything
Uses tree-sitter AST parsing to structurally understand your code — not just regex. Extracts framework, routes, env vars, and dependencies.
Function extraction
Parses every function signature with parameter types, return types, JSDoc comments, and async/export status via tree-sitter.
Import graph
Maps file-to-file relationships — imports, extends, implements. Understand how your codebase connects at a glance.
Test-as-docs
Mines describe/it blocks from test files and uses them as documentation. Your test suite becomes your knowledge base.
Parse your docs
Reads README files, markdown docs, and code comments. Extracts the structure and content your customers need.
Generate AI-ready snapshots
Creates a complete project snapshot — tech stack, dependencies, API reference, env vars, and auto-generated FAQs.
Capture screenshots
Point it at your running app and it captures screenshots of every page — including authenticated routes.
Publish in one command
Push your snapshot to HelpShelf. It lands as standard-tier knowledge your agent can answer from — and cite — right away.
Works with any project
Next.js, React, Vue, Express, Django, Rails — the CLI detects your stack and adapts its scanning automatically.
Three commands, done
From codebase scan to reviewable documentation
Initialize your project
npx helpshelf initCreates a .helpshelf/ directory with your local configuration in one command.
Scan your codebase
npx helpshelf scanAnalyzes your project and shows what it understood — user-facing content, key features, and FAQ questions your AI agent will answer.
Publish to HelpShelf
npx helpshelf pushSends your snapshot to HelpShelf. Your agent starts answering from it with citations, and AI-drafted content stays marked for your review.
What the scanner detects
Keep docs in sync with CI/CD
Add the documented scan and push commands to your deploy pipeline to refresh HelpShelf after a successful code change. Review the generated content before publishing.
- Runs in each pipeline where you add the commands
- Pushes refreshed material for review
- Works in CI environments that can run the CLI
- Use --quiet flag for clean CI logs
- name: Update docs
run: |
npx helpshelf scan --quiet
npx helpshelf push \
--api-key ${{ secrets.HELPSHELF_KEY }}Frequently asked questions
After scanning, the CLI shows a summary of what it learned about your product from the customer's perspective. It extracts headings, button labels, and content from your UI to understand what your app does — then generates FAQ questions your AI agent will answer. This is the "magic moment" that shows the scanner truly gets your product.
The CLI analyzes your UI text and labels, AI context files (like CLAUDE.md), README files, API routes, environment variables, dependencies, components, and documentation. It builds a complete snapshot that powers your AI support agent.
No — and we say so. Knowledge from the CLI scan lands as standard-tier content, and anything AI-drafted is marked generated until you review it. Content you write or import from your help desk is treated as curated (publisher-authored or imported) and ranks highest in answers. Trust tiers travel with every answer, so neither your customers nor external AI agents mistake a draft for verified docs.
No. The CLI only uploads the generated snapshot — metadata about your project like API routes, env var names (not values), dependency list, and parsed documentation. Your actual source code never leaves your machine.
The CLI auto-detects Next.js, React, Vue, Express, Fastify, Django, Rails, Laravel, and more. It works with any project that has a package.json, requirements.txt, Gemfile, or similar manifest.
Yes! Just use bunx instead of npx. For example: bunx helpshelf init, bunx helpshelf scan, bunx helpshelf push. Everything works the same way.
Yes. Add helpshelf scan && helpshelf push to the deployments where you want a refresh, and use --quiet for clean CI logs. A successful push uploads reviewable material; review and publish it in HelpShelf.
Tree-sitter is a parser used by VS Code, GitHub, and other tools for structural code understanding. HelpShelf uses tree-sitter via WebAssembly to extract function signatures, import graphs, and test descriptions from your code — no native compilation needed. If tree-sitter is unavailable, the CLI falls back to regex-based extraction.
Run helpshelf screenshot -u http://localhost:3000 and it captures every page of your running app using a headless browser. You can pass login credentials for authenticated pages. Screenshots are saved locally and can be pushed alongside your docs.