genericmilk/docudoodle
AI-powered PHP documentation generator that analyzes your codebase and writes clear Markdown docs. Skips existing docs, caches unchanged files to cut costs, and helps teams quickly understand legacy apps. Supports multiple providers (OpenAI, Claude, Gemini, Azure, Ollama).
php artisan docudoodle:generate), leveraging Laravel’s service provider, configuration, and dependency injection. Fits seamlessly into Laravel’s ecosystem (e.g., .env, config/, service containers).docudoodle.generated) for post-processing hooks.vendor/, tests/), aligning with Laravel’s common directory structure.composer require and minimal .env configuration. No database migrations or schema changes.vendor/)? Wildcard support exists but may need tuning.illuminate/console constraints.guzzlehttp/guzzle for Jira/Confluence (auto-installed if needed).app/Http/Controllers/).php artisan vendor:publish --tag=docudoodle-config..env keys (e.g., OPENAI_API_KEY, DOCUDOODLE_API_PROVIDER).skip_dirs and default_extensions as needed.--no-cache to baseline performance.post-merge or post-deploy hooks (e.g., GitHub Actions):
- name: Generate Docs
run: php artisan docudoodle:generate --no-cache
main branch).source_dirs but may need path adjustments for multi-repo setups.config/) to exclude from doc generation.docs/ or storage/app/docs).--force-rebuild to generate full docs from scratch.examples/ folder) for quality..env and config/docudoodle.php for changes (e.g., new API keys).--force-rebuild if config changes (e.g., new model).illuminate/console (e.g., Laravel 14).resources/docudoodle/)..env keys and rate limits (e.g., 429 Too Many Requests)..docudoodle_cache.json if docs appear stale.storage/).vendor/ or node_modules/ (wastes API tokens).max_tokens for large files (may truncate docs).README.md or CONTRIBUTING.md.See [docs/](docs/) for auto-generated code insights.--no-cache initially to measure baseline time/cost.// Example: Dispatch Docudoodle per directory
foreach ($directories as $dir) {
Docudoodle::dispatch($dir)->onQueue('docudoodle');
}
| Failure Scenario | Impact | Mitigation |
|---|---|---|
| API Key Expiry/Invalid | Docs fail to generate | Monitor API key rotation; use .env backups. |
| Rate Limit Exceeded (Cloud API) | Partial/incomplete docs | Implement exponential backoff; use Ollama. |
| Ollama Service Crash | Local generation fails | Fallback to cloud API or manual review. |
| Output Directory Permissions | Docs written to wrong location |
How can I help you explore Laravel packages today?