Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Docudoodle Laravel Package

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).

View on GitHub
Deep Wiki
Context7

Easily document your codebase using AI! Perfect for existing legacy applications

Frequently asked questions about Docudoodle
How do I install Docudoodle in a Laravel 10+ project?
Run `composer require genericmilk/docudoodle` to install. Publish the configuration with `php artisan vendor:publish --tag=docudoodle` to set up API keys, output paths, and other settings in `config/docudoodle.php`. No database migrations are required.
Which AI providers does Docudoodle support, and how do I configure them?
Docudoodle supports OpenAI, Claude, Gemini, Azure OpenAI, and Ollama (local). Configure your provider in `.env` (e.g., `DOCUDOODLE_PROVIDER=openai`, `OPENAI_API_KEY=your_key`). For Ollama, set `DOCUDOODLE_PROVIDER=ollama` and ensure the service is running locally.
Can Docudoodle generate documentation for a large legacy codebase without hitting API limits?
Yes, it caches unchanged files using file hashing to avoid reprocessing. For large codebases, enable caching with `php artisan docudoodle:generate --cache` and set `DOCUDOODLE_CACHE_ENABLED=true` in `.env`. Use token limits (e.g., `DOCUDOODLE_TOKEN_LIMIT=1000`) to control API costs.
How do I skip directories or files that already have documentation?
Add directories to skip in `config/docudoodle.php` under `skip_directories` (e.g., `['vendor', 'storage']`). To skip existing docs, set `DOCUDOODLE_SKIP_EXISTING=true` or use the `--skip-existing` flag. Docudoodle ignores files matching extensions in `skip_extensions`.
Does Docudoodle work with Laravel’s testing environment, and how can I test it safely?
Yes, it’s safe to test in Laravel’s testing environment. Run `php artisan docudoodle:generate --test` to generate docs for a subset of files (e.g., `app/Http/Controllers/`). Review the output in `storage/docs/` or a custom path before committing. Use `--force-rebuild` to bypass cache for thorough testing.
Can I customize the AI-generated documentation template or prompts?
Absolutely. Publish the template with `php artisan vendor:publish --tag=docudoodle:templates` to edit `resources/views/docudoodle/template.md`. Use template variables like `{file_path}` or `{class_name}` to structure output. For advanced use, override the `DocudoodleServiceProvider` bindings.
How do I integrate Docudoodle output with Jira or Confluence?
Use the `--jira` or `--confluence` flags with the Artisan command (e.g., `php artisan docudoodle:generate --jira`). Configure Jira credentials in `.env` (`JIRA_EMAIL`, `JIRA_API_TOKEN`) and set the project key in `config/docudoodle.php`. Docs will be posted as wiki pages or comments.
What Laravel versions does Docudoodle support, and are there breaking changes between versions?
Docudoodle is tested on Laravel 10–13. Check the [changelog](https://github.com/genericmilk/docudoodle/blob/main/CHANGELOG.md) for version-specific updates. Breaking changes are rare but may affect configuration keys or Artisan flags. Always update dependencies via Composer and test in a staging environment.
How can I reduce API costs when regenerating documentation frequently?
Enable caching with `DOCUDOODLE_CACHE_ENABLED=true` to skip unchanged files. Set `DOCUDOODLE_CACHE_EXPIRY` (in minutes) to control how often files are rechecked. For large projects, use `--batch-size=50` to process files in smaller chunks and avoid hitting token limits.
Are there alternatives to Docudoodle for Laravel, and what makes it unique?
Alternatives include PhpDocumentor (static analysis) or custom scripts using PHP-Parser + AI APIs. Docudoodle stands out for its Laravel-native integration (Artisan commands, caching, and config), AI provider flexibility (OpenAI, Claude, Ollama), and legacy-code focus (orphan cleanup, skip logic). It’s ideal for teams needing quick, AI-driven docs without manual effort.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
hexters/coinpayment
rjcodes/rjcms
act-training/laravel-permissions-manager
alimarchal/laravel-chart-of-accounts
babenkoivan/elastic-scout-driver
mkwebdesign/filament-watchdog-v5
renatomarinho/laravel-page-speed
zedmagdy/filament-business-hours
renatovdemoura/blade-elements-ui
devgeek/beacon-admin
benjamin-rqt/data-watcher-bundle
atriumphp/atrium
sandermuller/package-boost-laravel
sandermuller/boost-skills
redaxo/core
yusufgenc/filament-api-forge
l3aro/rating-star-for-filament
leek/filament-subtenant-scope
anil/file-picker
broqit/fields-ai