karlost / digidocs
AI-powered Laravel documentation generator with dual documentation types (developer + user) and intelligent change analysis
Requires
- php: ^8.2
- czproject/git-php: ^4.0
- illuminate/console: ^10.0|^11.0|^12.0
- illuminate/contracts: ^10.0|^11.0|^12.0
- illuminate/database: ^10.0|^11.0|^12.0
- illuminate/support: ^10.0|^11.0|^12.0
- inspector-apm/neuron-ai: ^1.0
- nikic/php-parser: ^5.0
Requires (Dev)
- orchestra/testbench: ^8.0|^9.0|^10.0
- phpunit/phpunit: ^10.0|^11.0
README
Digidocs is an advanced Laravel package that automatically generates comprehensive documentation using AI. It creates both developer documentation (technical API docs) and user documentation (end-user guides) with intelligent change analysis and real-time Git monitoring.
β¨ Key Features
π Dual Documentation Types
- π¨βπ» Developer Documentation - Technical API docs for code maintainers
- π₯ User Documentation - End-user guides for application users
- π§ Intelligent routing - Automatically determines which type to generate
π€ AI-Powered Generation
- π€ Advanced AI models - Uses OpenAI/GPT-4, Claude, Gemini, and more
- π§ Intelligent change analysis - Separate agents for developer vs user impact
- π Context-aware - Understands Laravel patterns and user workflows
π Smart Change Detection
- π― UserChangeAnalysisAgent - Analyzes UI/UX impact for user docs
- π οΈ ChangeAnalysisAgent - Analyzes API changes for developer docs
- π Documented parts tracking - Tracks which code parts are documented
- π Git commit monitoring - Processes only changed files
β‘ Advanced Features
- π Universal Language Support - Any ISO language code (cs-CZ, ja-JP, ar-SA, zh-CN, etc.)
- ποΈ Real-time watch mode - Continuous monitoring with automatic regeneration
- π Semantic analysis - Distinguishes between public API and private changes
- πΎ SQLite tracking - Efficient tracking of changes, analyses and documentation
- π οΈ NeuronAI architecture - Modular system with specialized Agents and Tools
- π Laravel context - Recognizes Controllers, Models, Blade templates, Routes
- π° Cost tracking - Detailed token usage and cost statistics
- π― High efficiency - Skip rate up to 85% thanks to intelligent analysis
π Installation
composer require karlost/digidocs
βοΈ Configuration
# 1. Publish configuration file php artisan vendor:publish --tag=digidocs-config # 2. Set API key in .env AUTODOCS_AI_KEY=your-openai-api-key # 3. Configure languages in .env (optional) DIGIDOCS_LANGUAGES=cs-CZ,en-US,ja-JP DIGIDOCS_DEFAULT_LANGUAGE=cs-CZ
π Language Configuration
DigiDocs supports any ISO language code without code modifications:
// config/digidocs.php 'languages' => [ 'enabled' => ['cs-CZ', 'en-US', 'ja-JP', 'de-DE', 'pl-PL', 'zh-CN'], 'default' => 'cs-CZ', ],
Supported examples:
cs-CZ
(Czech),en-US
(English),de-DE
(German)ja-JP
(Japanese),ko-KR
(Korean),zh-CN
(Chinese)ar-SA
(Arabic),hi-IN
(Hindi),th-TH
(Thai)pt-BR
(Portuguese Brazil),es-MX
(Spanish Mexico)- Any ISO 639-1 + ISO 3166-1 combination!
AI automatically recognizes and generates documentation in the specified language.
π Usage
οΏ½βπ» Developer Documentation (Technical API Docs)
php artisan digidocs:autodocs [options]
Available options:
--force
- Force regeneration even for unchanged files--dry-run
- Show what would be processed without generating--path=PATH
- Process specific paths (can be used multiple times)--stats
- Show documentation statistics--cost
- Show token usage and cost statistics--cleanup
- Clean database from non-existent files
Intelligent analysis:
- π§ ChangeAnalysisAgent decides whether to regenerate documentation
- β Public API changes β Regenerates documentation
- βοΈ Private changes/whitespace β Skips regeneration
- π Tracks documented parts of code for more precise decisions
π₯ User Documentation (End-User Guides)
php artisan digidocs:userdocs [options]
Available options:
--lang=ISO_CODE
- Generate in specific language (e.g.,--lang=ja-JP
)--force
- Force regeneration of all user documentation--dry-run
- Show what would be processed without generating--stats
- Show documentation statistics--cost
- Show token usage and cost statistics
Language examples:
php artisan digidocs:userdocs --lang=cs-CZ # Czech php artisan digidocs:userdocs --lang=ja-JP # Japanese php artisan digidocs:userdocs --lang=ar-SA # Arabic
User documentation features:
- π― UserChangeAnalysisAgent - Analyzes changes from user perspective
- π₯οΈ UI/UX focus - Prioritizes Blade templates, routes, and user-facing changes
- π± Application-level docs - Generates structured guides with sections
- π Smart regeneration - Only updates when user experience is affected
- π Impact scoring - Rates changes by user impact (0-100)
- π Section-based organization - Organizes content by user workflows
- π Cross-references - Links between related sections
π All Documentation (Combined Generation)
php artisan digidocs:alldocs [options]
Available options:
--lang=ISO_CODE
- Generate user docs in specific language (e.g.,--lang=pl-PL
)--code-only
- Generate only developer documentation--user-only
- Generate only user documentation--all
- Process all files for code documentation (not just Git changes)--force
- Force regeneration of all documentation--path=PATH
- Specific paths to process for code docs
Examples:
php artisan digidocs:alldocs # Both types, default language php artisan digidocs:alldocs --lang=ja-JP # Both types in Japanese php artisan digidocs:alldocs --code-only --all # Only developer docs, all files
ποΈ Watch Mode - Real-time Git Commit Monitoring
php artisan digidocs:watch [options]
Available options:
--interval=SECONDS
- Check interval in seconds (default: 5)--path=PATH
- Specific paths to watch (can be used multiple times)--code-only
- Generate only developer documentation--user-only
- Generate only user documentation
Watch mode features:
- π Real-time monitoring - Monitors Git commits continuously
- π§ Intelligent analysis - Separate agents for dev vs user docs
- π― Smart filtering - Only processes relevant changes
- π Graceful shutdown - Ctrl+C for clean exit
- π Unified processing - Both documentation types in one command
π€ Supported AI Providers
Tested and verified:
- β OpenAI GPT-4.1 Nano - Fully tested and optimized (recommended)
Supported but not extensively tested:
- πΆ OpenAI - GPT-4o, GPT-4, GPT-3.5, O3, O4-mini
- πΆ Anthropic - Claude 4, Claude 3.7, Claude 3.5, Claude 3
- πΆ Gemini - Gemini 1.5 Pro/Flash, Gemini 2.0 Flash
- πΆ Deepseek - Deepseek Chat/Coder
- πΆ Mistral - Mistral Large/Medium/Small
- πΆ Ollama - Local models (free)
Note: All testing was performed with GPT-4.1 Nano model. Other providers are supported through NeuronAI framework but may require additional configuration or testing.
Automatic pricing:
Model prices are configurable in config/digidocs/pricing.php
.
π‘ Quick Start
# 1. Install and configure composer require karlost/digidocs php artisan vendor:publish --tag=digidocs-config # 2. Set API key in .env AUTODOCS_AI_KEY=your-openai-api-key # 3. Generate documentation php artisan digidocs:autodocs # Developer documentation php artisan digidocs:userdocs # User documentation php artisan digidocs:alldocs # Both types combined php artisan digidocs:watch # Watch mode for both types # 4. Multi-language generation php artisan digidocs:userdocs --lang=ja-JP # Japanese user docs php artisan digidocs:alldocs --lang=de-DE # German docs (both types) # 5. View statistics and costs php artisan digidocs:autodocs --stats --cost
π§ Intelligent Analysis Examples
Developer documentation:
- βοΈ Private changes β Skipped (no significant changes)
- β Public API changes β Generated documentation
User documentation:
- βοΈ Backend changes β Skipped (low user impact)
- β UI/UX changes β Updated relevant sections
π Documentation Quality
π¨βπ» Developer Documentation
Generates comprehensive technical documentation with:
- File overview and its purpose
- Complete API documentation - all public methods and properties
- Laravel context - relationships, scopes, middleware, etc.
- Practical usage examples with working code
- Dependencies and relationships - clear integration points
π₯ User Documentation
Creates user-friendly application guides with:
- Application overview - what the app does for users
- Feature sections - organized by user workflows
- Step-by-step guides - how to accomplish tasks
- Cross-referenced sections - linked content organization
- User-focused language - non-technical explanations
π Output Structure
Developer documentation:
docs/code/
βββ Http/
β βββ Controllers/
β βββ Middleware/
β βββ ...
βββ Models/
βββ Services/
βββ config/
βββ routes/
User documentation:
docs/user/
βββ index.md # Main application guide
βββ sections/
βββ uΕΎivatelskΓ©-rozhranΓ.md
βββ navigace.md
βββ formulΓ‘Εe.md
βββ funkcionality.md
βββ ...
π Performance & Testing
Proven efficiency:
- β‘ 56.5% skip rate - Intelligent analysis avoids unnecessary regeneration
- π― 90.5% average confidence - High-quality analysis decisions
- π° Cost-effective - Only ~$0.26 for 350 API calls and 2M+ tokens
- π Real-time processing - Watch mode with instant Git commit detection
Comprehensive testing:
- β 21 documented files across Models, Controllers, Services, Middleware
- β Complex commits with multiple file types and changes
- β Watch mode tested with real-time Git monitoring
- β Both documentation types verified for quality and accuracy
- β Cost tracking validated for precise token and pricing calculations
π Changelog
π v0.3.0 - Universal Language Support (2025-05-29)
π New Features:
- π Universal ISO Language Support - Any ISO language code now supported (cs-CZ, ja-JP, ar-SA, zh-CN, etc.)
- π New
alldocs
Command - Combined generation of both developer and user documentation - π€ AI-Powered Language Detection - AI automatically recognizes and generates in specified language
- π§ Simplified Configuration - No hardcoded languages, pure config-based language management
β¨ Improvements:
- π§Ή Removed 70+ hardcoded languages from PHP code - now config-only
- π Enhanced Language Instructions - Simplified AI prompts for better language recognition
- π οΈ Fixed Memory System - Added missing
remember()
andsearch()
methods - π Updated Cross-Reference Manager - Dynamic language support across all agents
π§ͺ Testing:
- β Comprehensive Multi-Language Testing - Czech, English, and Polish fully tested
- β Memory System Validation - SQLite database and vector storage verified
- β 17 Generated Documents - 5 code docs + 12 user docs across multiple languages
- β Zero-Config Language Addition - New languages work instantly without code changes
π Examples of Supported Languages:
- European: cs-CZ (Czech), en-US (English), de-DE (German), fr-FR (French)
- Asian: ja-JP (Japanese), ko-KR (Korean), zh-CN (Chinese), hi-IN (Hindi)
- Middle East: ar-SA (Arabic), he-IL (Hebrew), fa-IR (Persian)
- African: sw-KE (Swahili), am-ET (Amharic), zu-ZA (Zulu)
- And many more - any ISO 639-1 + ISO 3166-1 combination!
v0.2.0 - User Documentation & Advanced Analysis (2025-05-27)
- Added UserDocumentationOrchestrator with complete user-focused documentation generation
- Implemented UserChangeAnalysisAgent for user-impact analysis
- Added comprehensive testing with 100% success rate across 24 test scenarios
- Enhanced memory systems with RAG implementation
v0.1.0 - Initial Release (2025-05-25)
- Core DigiDocs functionality with AI-powered documentation generation
- Developer documentation with intelligent change analysis
- Git commit monitoring and real-time watch mode
- Cost tracking and performance optimization