AI Doc Gen Agent Skill
AI-powered multi-agent system that automatically analyzes codebases and generates comprehensive documentation. Features GitLab integration, concurrent processing, and multiple LLM support for better code understanding and developer onboarding.
AI Doc Gen is an open-source agent skill by divar-ir, written mainly in Python, with 768 GitHub stars and the MIT license. Its code was last updated Jul 21, 2026.
AI Documentation Generator
An AI-powered code documentation generator that automatically analyzes repositories and creates comprehensive documentation using large language models. The system employs a multi-agent architecture: five specialized analysis agents run concurrently to map a codebase's structure, dependencies, data flow, request flow, and APIs, and generation agents turn those analyses into a polished README.md and AI assistant configuration files (CLAUDE.md, AGENTS.md, .cursor/rules/). A GitLab cronjob mode discovers active projects and opens merge requests with fresh analysis automatically.
📝 Blog Posts
Read the full story behind this project:
- 🇺🇸 English: Docs That Don’t Rot: How Multi-Agent AI Rewrote Our Workflow
- 🇮🇷 از دستیار کدنویس تا همکار هوشمند؛ گام اول: کابوس مستندسازی
Table of Contents
Features
- Multi-Agent Analysis: Five specialized AI agents for code structure, data flow, dependency, request flow, and API analysis, writing reusable analysis documents to
.ai/docs/ - Automated Documentation: Generates comprehensive README files with configurable sections
- AI Assistant Configuration: Generates
CLAUDE.md,AGENTS.md, and.cursor/rules/*.mdcfiles for AI coding assistants - Claude Code Plugin & Skills: Ships as an installable Claude Code plugin with
analyze-codebase,generate-readme, andgenerate-ai-rulesskills (.claude-plugin/,skills/) - GitLab Integration: Cronjob mode discovers recently active GitLab projects, runs analysis, and opens merge requests
- Concurrent Processing: Parallel agent execution with a configurable worker pool (
ANALYZER_MAX_WORKERS, 0 = auto-detect CPU count) - Flexible Configuration: Layered configuration — Pydantic defaults,
.ai/config.yaml, then CLI flags - Multiple LLM Support: Works with any OpenAI-compatible API (OpenAI, Anthropic-compatible gateways, OpenRouter, local models, etc.), with per-agent model/endpoint settings
- Resilience: Agent-level retries plus an HTTP retry client with exponential backoff and
Retry-Aftersupport (handles 429s) - Observability: OpenTelemetry tracing via logfire with optional Langfuse integration
Installation
Using Skills (Claude Code)
This repository doubles as a Claude Code plugin — the easiest way to use it, no API keys or Python setup required. Install it from within Claude Code:
/plugin marketplace add divar-ir/ai-doc-gen
/plugin install ai-doc-gen@divar
This adds three skills that Claude Code invokes directly:
analyze-codebase— multi-agent analysis producing.ai/docs/documentsgenerate-readme— README generation from analysis or direct explorationgenerate-ai-rules—CLAUDE.md,AGENTS.md, and Cursor rules generation
Prerequisites
- Python 3.13
- Git
- API access to an OpenAI-compatible LLM provider
- Clone the repository:
git clone https://github.com/divar-ir/ai-doc-gen.git
cd ai-doc-gen
- Install using uv (recommended):
curl -LsSf https://astral.sh/uv/install.sh | sh
uv sync
- Or install with pip:
pip install -e .
A Dockerfile and a Helm chart (k8s/helm/) are also provided for containerized and scheduled (Kubernetes CronJob) deployments.
Quick Start
- Set up your environment and configuration:
# Copy and edit environment variables (LLM API keys, base URLs, etc.)
cp .env.sample .env
# Copy and edit configuration
mkdir -p .ai
cp config_example.yaml .ai/config.yaml
- Run analysis and generate documentation:
# Analyze your repository
uv run src/main.py analyze --repo-path .
# Generate README documentation
uv run src/main.py generate readme --repo-path .
# Generate AI assistant configuration files (CLAUDE.md, AGENTS.md, .cursor/rules/)
uv run src/main.py generate ai-rules --repo-path .
Analysis documents are saved to .ai/docs/, and generated documentation and AI configuration files are placed in your repository root.
Usage
Available Commands
# Analyze codebase (structure, data flow, dependencies, request flow, APIs)
uv run src/main.py analyze --repo-path <path>
# Generate README documentation
uv run src/main.py generate readme --repo-path <path>
# Generate AI assistant configuration files
uv run src/main.py generate ai-rules --repo-path <path>
# Run cronjob (GitLab batch analysis)
uv run src/main.py cronjob analyze
The package also installs an ai-doc-gen console script exposing the same CLI.
Advanced Options
Analysis Options:
# Analyze with specific exclusions
uv run src/main.py analyze --repo-path . --exclude-code-structure --exclude-data-flow
# Limit concurrent analyzer agents
uv run src/main.py analyze --repo-path . --max-workers 2
# Use custom configuration file
uv run src/main.py analyze --repo-path . --config /path/to/config.yaml
README Generation Options:
# Generate with specific section exclusions
uv run src/main.py generate readme --repo-path . --exclude-architecture --exclude-c4-model
# Use existing README as context
uv run src/main.py generate readme --repo-path . --use-existing-readme
AI Rules Generation Options:
# Skip overwriting existing files
uv run src/main.py generate ai-rules --repo-path . \
--skip-existing-claude-md \
--skip-existing-agents-md \
--skip-existing-cursor-rules
# Customize detail level and line limits
uv run src/main.py generate ai-rules --repo-path . \
--detail-level comprehensive \
--max-claude-lines 600 \
--max-agents-lines 150
Cronjob Options:
# Only process projects with commits in the last N days
uv run src/main.py cronjob analyze --max-days-since-last-commit 14
Configuration
The tool automatically looks for configuration in .ai/config.yaml or .ai/config.yml in your repository. Precedence: Pydantic defaults < YAML file < CLI flags.
Configuration Options
- Exclude specific analyses: Skip code structure, data flow, dependencies, request flow, or API analysis
- Tune concurrency:
analyzer.max_workerscaps concurrent analyzer agents (0 = auto-detect CPU count) - Customize README sections: Control which sections appear in generated documentation
- AI rules behavior: Skip existing files, choose detail level (
minimal/standard/comprehensive), set line limits - Configure cronjob settings: Working path and commit recency filter
See config_example.yaml for all available options and .env.sample for environment variables (per-agent LLM models, timeouts, retry behavior, GitLab credentials, Langfuse keys).
Architecture
The system uses a multi-agent architecture with specialized AI agents for different types of code analysis and generation:
- CLI Layer (
src/main.py): argparse-based entry point; CLI flags are auto-generated from Pydantic config models - Handler Layer (
src/handlers/): command-specific orchestration implementing anAbstractHandlerinterface (analyze, generate readme, generate ai-rules, cronjob analyze) - Agent Layer (
src/agents/): pydantic-ai agents with YAML/Jinja2 prompt templatesAnalyzerAgent: coordinates 5 analysis agents through a worker poolDocumenterAgent: generates README.md from analysis documentsAIRulesGeneratorAgent: generates markdown rules (CLAUDE.md + AGENTS.md) and Cursor rules concurrently
- Tool Layer (
src/agents/tools/):FileReadTool(ranged file reading) andListFilesTool(filtered recursive listing) registered with every agent
Technology Stack
- Python 3.13 with pydantic-ai for AI agent orchestration
- OpenAI-compatible APIs for LLM access (
OpenAIChatModel+OpenAIProviderwith configurable base URL) - GitPython & python-gitlab for repository operations and GitLab automation
- logfire / OpenTelemetry & Langfuse for observability
- YAML + Jinja2 + Pydantic for prompts and configuration management
License
This project is licensed under the MIT License - see the LICENSE file for details.
Acknowledgments
- Built with pydantic-ai for AI agent orchestration
- Supports multiple LLM providers through OpenAI-compatible APIs (including OpenRouter)
- Uses Langfuse for LLM observability
AI Doc Gen alternatives
View more →Similar agent skills in Content & Writing, ranked by GitHub stars. Compare licence, recent activity and scan status before you choose.
| Name | Stars | Licence | Last updated | Scan |
|---|---|---|---|---|
| AI Doc Gen (this page) divar-ir | 768 | MIT | Jul 21, 2026 | Scanned, no flagged issues |
| Humanizer blader | 63k | MIT | Oct 28, 2026 | Scanned, no flagged issues |
| Obsidian Skills kepano | 51k | MIT | Sep 15, 2026 | Scanned, no flagged issues |
| Agentskills agentskills | 27k | Apache-2.0 | Aug 9, 2026 | Scanned, no flagged issues |
| Im Not AI epoko77-ai | 6.3k | MIT | Oct 12, 2026 | Scanned, no flagged issues |
| Open Knowledge inkeep | 4.8k | GPL-3.0 | Oct 31, 2026 | Scanned, no flagged issues |