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
Suggests
None
Provides
None
Conflicts
None
Replaces
None
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
alldocsCommand - 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