BadDocs handles the messy, undocumented, legacy code that other tools ignore — with speed and precision.
Structural extraction for supported languages (full module/port/parameter parsing for Verilog) plus LLM-written prose for the rest. The LLM understands control flow, dependencies, and intent — producing clean, human-readable documentation that actually makes sense.
Export your docs in clean Markdown or styled HTML. Integrate with existing wikis, static site generators, or host them standalone. Your docs, your way.
Runs entirely on your machine with llama.cpp or Ollama. No API keys needed. Your code never leaves your environment. Cloud fallback available when you want it.
A content-keyed Merkle tree tracks every file and folder. Only changed files are re-analyzed on subsequent runs. The unit→folder→repo hierarchy means a single edit rebuilds only the affected file and its ancestor chain — unchanged runs do zero LLM calls. Perfect for CI/CD pipelines and active development.
Secure access to private repositories via GitHub App authentication. No personal access tokens to manage. Enterprise-grade permissions with fine-grained control. A push now auto-updates only the affected docs — no full re-runs.
Verilog and SystemVerilog are fully supported with real structural extraction, Python is supported, and other languages are in progress.
BadDocs analyzes your codebase, extracting structure and generating documentation with the help of local LLMs. It's fast, efficient, and designed for real-world codebases.
Point BadDocs at your codebase and let it analyze the structure and dependencies.
Generate documentation in Markdown or HTML format, ready for integration.
Integrate the generated documentation into your existing workflows or host it standalone.
Choose a plan that fits your needs. No hidden fees, just straightforward pricing.