Self-contained AI-powered documentation generator
Project description
DocForge - Open Source AI Documentation Generator
DocForge is a powerful, self-contained AI-powered documentation generator that transforms simple project ideas into comprehensive, professional software documentation. Built with CrewAI and OpenAI, it generates enterprise-grade documents including project charters, requirements specifications, architecture documents, and more.
๐ Quick Start
Install from PyPI:
# Using pip
pip install docforge-ai
# Using uv (faster)
uv pip install docforge-ai
Get started in seconds:
docforge-ai init
docforge-ai generate "AI-powered chatbot for customer service"
๐ฆ Available on PyPI: Install with
pip install docforge-aioruv pip install docforge-ai
๐ Features
- PRD-First Workflow: Start with a Product Requirements Document including user stories, validate, then expand
- AI-Powered Generation: Uses advanced AI agents to create professional documentation
- Multiple Document Types: Generate 10+ different types of technical documents
- Self-Contained: No external database dependencies - uses local file storage
- Easy Setup: Simple installation and configuration with
.envfile - Professional Quality: Enterprise-grade document templates and formatting
- Document Revision: Revise PRDs with additional specifications using AI
- Contextual Generation: Generate additional documents based on validated PRD content
- Flexible Output: Generate specific document types or complete document sets
- Neat Organization: Documents are stored in organized project directories
- Interactive Setup: Guided initialization with document type selection
๐ Supported Document Types
- Project Charter - Executive-level project overview with business objectives, scope, and timeline
- Software Requirements Specification (SRS) - Detailed functional and non-functional requirements with user stories
- System Architecture - High-level system design with components, security, and scalability
- Low-Level Design - Detailed technical design with API specifications and database schema
- Test Specification - Comprehensive testing strategy with test cases and acceptance criteria
- Deployment Guide - Step-by-step deployment and release procedures
- Operations Manual - System operations, monitoring, and maintenance procedures
- Business Case - ROI analysis and business justification for the project
- Market Requirements - Market analysis and user requirements documentation
- Vision Brief - Strategic vision and opportunity brief for stakeholders
๐ ๏ธ Installation
Prerequisites
- Python 3.10 or higher
- OpenAI API key (Get one here)
Install from PyPI (Recommended)
Using pip:
pip install docforge-ai
Using uv (faster and more reliable):
# Install uv if you don't have it
pip install uv
# Install docforge-ai
uv pip install docforge-ai
Using conda:
conda install -c conda-forge pip
pip install docforge-ai
Install from Source (Development)
# Clone the repository
git clone https://github.com/Venkatesh188/docforge-ai.git
cd docforge-ai
# Install dependencies
pip install -r requirements.txt
# Initialize DocForge (creates .env file and shows available document types)
docforge-ai init
๐ฏ Getting Started
After installation, follow these steps:
-
Initialize DocForge:
docforge-ai initThis creates a
.envfile where you'll add your OpenAI API key. -
Add your OpenAI API key:
# Edit the .env file OPENAI_API_KEY=your_actual_openai_api_key_here
-
Generate your first document:
docforge-ai generate "AI-powered chatbot for customer service"
-
Explore available commands:
docforge-ai --help docforge-ai list-docs
Package Installation
# Install from source
pip install .
# Or install in development mode
pip install -e .
โ๏ธ Configuration
Initial Setup
- Run initialization to create the
.envfile:
docforge-ai init
- Edit the
.envfile with your OpenAI API key:
# Required
OPENAI_API_KEY=your_actual_openai_api_key_here
# Optional (defaults shown)
OPENAI_MODEL=gpt-4o-mini
DOCFORGE_GENERATED_DOCS_PATH=generated-docs
- Get your OpenAI API key from OpenAI Platform
๐ Quick Start
Interactive Mode (Recommended for first-time users)
python start_docforge-ai.py
Command Line Usage
PRD-First Workflow (Recommended)
The recommended approach is to start with a Product Requirements Document (PRD) that includes user stories, validate it, and then generate additional documents based on the validated PRD.
Step 1: Generate a PRD
# Generate a PRD with user stories
docforge-ai generate "AI-powered chatbot for customer service" --docs srs
Step 2: Review and Optionally Revise the PRD
# Review the generated PRD file, then optionally add more specifications
docforge-ai revise ai-powered-chatbot-for-customer-service -s "Add multi-language support and integration with Slack and Microsoft Teams"
Step 3: Generate Additional Documents Based on Validated PRD
# Generate architecture, testing, and deployment documents based on the PRD
docforge-ai continue ai-powered-chatbot-for-customer-service ARCH TEST DEPLOY
# Or generate specific documents
docforge-ai continue ai-powered-chatbot-for-customer-service ARCHITECTURE
docforge-ai continue ai-powered-chatbot-for-customer-service BUSINESS MARKET
Alternative: Generate Single Documents
# Generate individual documents (without PRD workflow)
docforge-ai generate "E-commerce platform for handmade crafts" --docs srs
docforge-ai generate "Mobile banking application" --docs architecture
Legacy: Generate Complete Documentation Set
# Generate all default documents at once
docforge-ai generate "E-commerce platform for handmade crafts"
docforge-ai generate "Mobile task management app" --docs project_charter,srs,architecture
List Available Document Types and Aliases
docforge-ai list-docs
This command shows all available document types and their quick aliases for single document generation.
๐ฏ Why Use PRD-First Workflow?
The PRD-first workflow offers several advantages:
- Validation Before Expansion: Review and validate the core requirements and user stories before generating additional documents
- Consistency: All subsequent documents are generated based on the same validated PRD, ensuring consistency across the documentation set
- Iterative Improvement: Easily revise the PRD with additional specifications without regenerating all documents
- Cost Effective: Generate only what you need - start with PRD, validate, then expand
- Better Quality: Documents generated from a validated PRD tend to be more accurate and detailed
- User Story Foundation: PRDs include comprehensive user stories that inform all other documents
Document Type Aliases (use with --docs flag):
srsorprdโ Software Requirements Specificationarchitectureorarchorhldโ System Architecturelow_level_designorlldordesignโ Low-Level Designtest_specificationortestortestingโ Test Specificationdeployment_guideordeployordeploymentโ Deployment Guideoperations_manualoropsoroperationsโ Operations Manualbusiness_caseorbusinessโ Business Casemarket_requirementsormarketโ Market Requirementsvision_brieforvisionโ Vision Briefproject_charterorcharterorprojectโ Project Charter
Check Project Status
docforge-ai status my-ecommerce-platform
List All Projects
docforge-ai list-projects
๐ Project Structure
docforge-ai/
โโโ docforge-ai.py # Main CLI interface
โโโ start_docforge-ai.py # Interactive startup script
โโโ docforge-ai/ # Package directory
โ โโโ __init__.py
โ โโโ docforge-ai.py # Package main module
โโโ backend/ # Core application logic
โ โโโ app/
โ โโโ core/ # Configuration and settings
โ โ โโโ simple_config.py
โ โโโ models.py # Data models
โ โโโ services/ # Business logic services
โ โโโ document_agents.py
โ โโโ local_storage_service.py
โ โโโ openai_service.py
โโโ prompts/ # AI prompt templates
โ โโโ charter.md
โ โโโ requirements.md
โ โโโ architecture.md
โ โโโ design.md
โ โโโ testing.md
โ โโโ deployment.md
โ โโโ operations.md
โ โโโ business_case.md
โ โโโ market_requirements.md
โ โโโ vision_brief.md
โโโ storage/ # Local data storage
โ โโโ projects/ # Project metadata
โ โโโ documents/ # Document metadata
โ โโโ generated-docs/ # Generated documentation
โโโ generated-docs/ # User-generated documentation
โโโ requirements.txt # Python dependencies
โโโ .env # Configuration file (created by init)
๐ Usage Examples
Example 1: Complete Project Documentation
docforge-ai generate "AI-powered customer service chatbot" --context "React frontend, Node.js backend, PostgreSQL database"
Example 2: Architecture-Focused Documentation
docforge-ai generate "Microservices e-commerce platform" --docs architecture,deployment_guide,operations_manual
Example 3: Business-Focused Documentation
docforge-ai generate "SaaS project management tool" --docs business_case,market_requirements,vision_brief
Example 4: Custom Project Name
docforge-ai generate "Build a mobile app" --name "MyAwesomeApp" --docs srs,architecture
๐ Document Organization
DocForge organizes your generated documents neatly:
generated-docs/
โโโ your-project-name/
โโโ README.md # Project overview and index
โโโ 01_project_charter.md # Project charter
โโโ 02_srs.md # Software requirements
โโโ 03_architecture.md # System architecture
โโโ 04_test_specification.md # Test specification
โโโ ... # Additional documents
Each project gets its own directory with:
- Sequential numbering for easy navigation
- README.md with project overview and document index
- Clean markdown files ready for use
- Metadata tracking in the storage system
๐ฏ Document Type Selection
When you run docforge-ai init, DocForge will show you all available document types:
๐ Available Document Types (10):
1. Project Charter
Type: project_charter
Description: Executive-level project overview with business objectives, scope, and timeline
2. Software Requirements Specification
Type: srs
Description: Detailed functional and non-functional requirements with user stories
3. System Architecture
Type: architecture
Description: High-level system design with components, security, and scalability
...
You can then generate specific documents using the type names:
docforge-ai generate "My project" --docs project_charter,srs,architecture
๐ง Advanced Configuration
Environment Variables
| Variable | Description | Default |
|---|---|---|
OPENAI_API_KEY |
OpenAI API key (required) | - |
OPENAI_MODEL |
OpenAI model to use | gpt-4o-mini |
DOCFORGE_GENERATED_DOCS_PATH |
Generated docs directory | generated-docs |
DOCFORGE_MAX_TOKENS |
Max tokens per document | 3000 |
DOCFORGE_DEFAULT_DOCS |
Default document types | project_charter,srs,architecture,test_specification |
Custom Document Types
You can customize the document generation by modifying the prompt templates in the prompts/ directory.
Storage Configuration
DocForge uses local file storage by default. All data is stored in:
storage/projects/- Project metadata (JSON files) - Created automatically when first generating documentsstorage/documents/- Document metadata (JSON files) - Created automatically when first generating documentsgenerated-docs/- Generated markdown files organized by project - Created during initialization
๐ค Contributing
We welcome contributions! Please see our Contributing Guide for details.
Development Setup
# Clone and setup development environment
git clone https://github.com/docforge-ai-community/docforge-ai-opensource.git
cd docforge-ai-opensource
# Install in development mode
pip install -e .
# Install development dependencies
pip install -e ".[dev]"
# Run tests
pytest
๐ License
This project is licensed under the MIT License - see the LICENSE file for details.
๐ Support
- Documentation: Wiki
- Issues: GitHub Issues
- Discussions: GitHub Discussions
๐ Acknowledgments
-
Built with CrewAI for AI agent orchestration
-
Powered by OpenAI for document generation
-
Inspired by the need for better software documentation practices
#crewai>=0.141.0,<1.0.0
Made with โค๏ธ by the DocForge Community
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file docforge_ai-2.0.3.tar.gz.
File metadata
- Download URL: docforge_ai-2.0.3.tar.gz
- Upload date:
- Size: 118.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8f842f49252900c70987b0503e0da89a06b48fdb1a18258172a54c2d49480e2b
|
|
| MD5 |
4d538ff9efe8d1cf3a80bc8240443755
|
|
| BLAKE2b-256 |
506d140a067e8059449bc131fca1a3afe1f28b770b1b57722e01f691a37b84fe
|
File details
Details for the file docforge_ai-2.0.3-py3-none-any.whl.
File metadata
- Download URL: docforge_ai-2.0.3-py3-none-any.whl
- Upload date:
- Size: 63.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
99c5332367cd8fb1b13dd27cad1286564a54bef68359a58933b4a538f434d7f4
|
|
| MD5 |
973cd92f20937bc8ed152d7db4417396
|
|
| BLAKE2b-256 |
13e2540a82a50626f858270f92ffa8c6309a72aafda89863e7f4d8c8b1978699
|