Skip to main content

Zero-config documentation generator with beautiful UI

Project description

ZeroDoc - Zero-Config Documentation Generator

Generate beautiful documentation from your codebase with zero configuration.

ZeroDoc scans your project, extracts API information, and creates a clean, searchable documentation website - all with a single command.

🚀 Features

  • Multi-Language Support: Python, JavaScript, TypeScript, Go, Rust, Java, C/C++, and more
  • Zero Configuration: Works out of the box with any project
  • AST-based Parsing: Accurately extracts API information using language-specific parsers
  • Markdown Generation: Creates clean, readable markdown documentation
  • Static Site Export: Converts docs to a beautiful HTML site
  • Jinja2 Templates: Customizable README and documentation templates
  • CLI Interface: Simple commands powered by Typer
  • Fast & Lightweight: Generates docs in seconds, not minutes

📦 Installation

# Install from PyPI
pip install zerodoc-gen

# Or use pipx for isolated installation
pipx install zerodoc-gen

# Install from source
git clone https://github.com/yourusername/zerodoc.git
cd zerodoc
pip install -e .

🎯 Quick Start

# One command to generate everything
autodoc generate .

# Or if installed via pip (not in PATH)
python3 -m autodoc.cli generate .

# With AI enhancement (requires API key)
autodoc generate . --ai

# Generate and serve locally
autodoc generate . --serve

📚 Commands

autodoc generate (Recommended)

The all-in-one command that scans, builds, and exports documentation.

# Basic usage
autodoc generate .
python3 -m autodoc.cli generate .

# With options
autodoc generate . --output public/docs  # Custom output directory
autodoc generate . --ai                  # Enable AI enhancement
autodoc generate . --no-ai               # Explicitly disable AI
autodoc generate . --serve               # Start local server after generation
autodoc generate . --non-interactive     # No prompts (for CI/CD)

# Framework auto-detection
autodoc generate .  # Automatically detects Next.js, React, Vue, etc.

Individual Commands

autodoc scan

Scans your codebase and extracts API information.

autodoc scan [PATH] --out build/api.json --verbose
python3 -m autodoc.cli scan .

autodoc docs

Generates markdown documentation from scanned data.

autodoc docs [PATH] --output docs --verbose
python3 -m autodoc.cli docs .

autodoc export

Converts markdown to a static HTML site.

autodoc export --source docs --dest site --serve
python3 -m autodoc.cli export --serve

💡 Why ZeroDoc?

  • Cost-Effective: Free and open-source vs $65-79/month for GitBook
  • Developer-First: Built by developers, for developers
  • No Lock-in: Your docs stay in your repo as markdown
  • CI/CD Ready: Integrate with GitHub Actions for automatic doc updates
  • Fast: Generates docs for large codebases in seconds

🔥 Common Use Cases

Next.js / React Projects

# Automatically detects and configures for Next.js
autodoc generate .
# Or with python3
python3 -m autodoc.cli generate .

Python Package

# Generate API documentation with AI enhancement
export OPENAI_API_KEY=sk-...  # Or use Anthropic, Groq, Ollama
python3 -m autodoc.cli generate . --ai

CI/CD Pipeline

# Non-interactive mode for GitHub Actions, etc.
python3 -m autodoc.cli generate . --non-interactive --no-ai

Custom Output Directory

# For static site generators like Jekyll, Hugo
python3 -m autodoc.cli generate . --output static/api-docs

🛠️ Development

# Clone the repository
git clone https://github.com/yourusername/zerodoc.git
cd zerodoc

# Install in development mode
pip install -e ".[dev]"

# Run on itself to test
python3 -m autodoc.cli generate .
python3 -m autodoc.cli generate . --serve  # With local preview

🌍 Supported Languages

ZeroDoc supports documentation generation for:

  • Python: Full AST-based parsing with docstrings, type hints, decorators
  • JavaScript/TypeScript: Classes, functions, async/await, ES6+ features
  • Go: Packages, structs, interfaces, methods, goroutines
  • Rust: Structs, enums, traits, impl blocks, lifetimes
  • Java: Classes, interfaces, generics, annotations
  • C/C++: Classes, structs, functions, templates
  • Ruby, PHP, Swift, Kotlin: Basic support via tree-sitter
  • And more: 40+ languages supported through tree-sitter

🤝 Contributing

We welcome contributions! Here are some good first issues:

  1. Improve language parsers: Enhance extraction for specific languages
  2. Improve themes: Add more CSS themes or Tailwind support
  3. Git integration: Auto-commit docs on successful generation
  4. AI enrichment: Use LLMs to enhance documentation

📊 Statistics

  • Lines of Code: < 1000
  • Dependencies: Minimal (typer, jinja2, markdown-it-py)
  • Performance: Processes 1000+ files in < 5 seconds
  • Memory: < 50MB for large codebases

🗺️ Roadmap

  • Multi-language support (JavaScript, TypeScript, Go, Rust)
  • Plugin system for custom processors
  • Docusaurus/MkDocs export formats
  • API change detection and PR comments
  • Local AI integration for doc enhancement
  • Search functionality in exported sites

📄 License

Proprietary - For author's use only. All rights reserved.

🙏 Acknowledgments

  • Built with Typer - The amazing CLI framework
  • Inspired by the need for affordable, quality documentation tools
  • Thanks to all contributors and early adopters

Stop paying for expensive doc platforms. Start using ZeroDoc.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

zerodoc_gen-1.4.4.tar.gz (55.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

zerodoc_gen-1.4.4-py3-none-any.whl (56.2 kB view details)

Uploaded Python 3

File details

Details for the file zerodoc_gen-1.4.4.tar.gz.

File metadata

  • Download URL: zerodoc_gen-1.4.4.tar.gz
  • Upload date:
  • Size: 55.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.9.6

File hashes

Hashes for zerodoc_gen-1.4.4.tar.gz
Algorithm Hash digest
SHA256 184ff7c5f2daaebe014c19d4501bae73d03f986493d84bc9ea4cf3d729c3481c
MD5 3acfdca801b78766cdd8312a728e9d0d
BLAKE2b-256 3c6838bcd46b1c4b3aed1fb9ecb60935880e6318743d74f66035ecda108d291f

See more details on using hashes here.

File details

Details for the file zerodoc_gen-1.4.4-py3-none-any.whl.

File metadata

  • Download URL: zerodoc_gen-1.4.4-py3-none-any.whl
  • Upload date:
  • Size: 56.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.9.6

File hashes

Hashes for zerodoc_gen-1.4.4-py3-none-any.whl
Algorithm Hash digest
SHA256 687214c34d28278b066f3fe77720829f231fbfc45900a45d0505c671234c1673
MD5 d259035ce81d4f72e5e7b2ee5526a5a8
BLAKE2b-256 3399430d859c9d805a71bb2e0bafb34b928e4568b9cbdf8b6e0dbd6438d4a467

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page