- How do I install Docudoodle in a Laravel project?
- Run `composer require genericmilk/docudoodle` and publish the config with `php artisan vendor:publish --tag=docudoodle-config`. This creates a `config/docudoodle.php` file and updates your `.env` with required settings like API keys.
- Which Laravel versions does Docudoodle support?
- Docudoodle is fully compatible with Laravel 10–13. It leverages Laravel’s service container, configuration system, and Artisan commands, ensuring seamless integration with modern Laravel projects.
- Can Docudoodle generate docs for only new or changed files?
- Yes, Docudoodle uses smart caching with file hashing to skip existing documentation files. It only processes files that have changed since the last run, reducing API costs and speeding up generation.
- What AI providers does Docudoodle support, and how do I switch between them?
- Docudoodle supports OpenAI, Claude, Gemini, Azure OpenAI, and Ollama (local). Switch providers by setting `DOCUDOODLE_API_PROVIDER` in your `.env` file (e.g., `openai`, `ollama`). Each provider requires its own API key or configuration.
- How do I configure Docudoodle to output Markdown for GitHub?
- Set `output_dir` in `config/docudoodle.php` to a directory like `storage/app/docs`. By default, Docudoodle generates clean Markdown files that render beautifully in GitHub’s UI. No additional setup is needed for basic Markdown output.
- Does Docudoodle work with legacy PHP projects without existing docs?
- Absolutely. Docudoodle is designed for legacy projects with no documentation. It analyzes your codebase from scratch, generates comprehensive Markdown docs, and skips files that already have documentation to avoid overwriting.
- How can I integrate Docudoodle with Jira or Confluence?
- Docudoodle supports Jira and Confluence integrations via API tokens. Configure `jira` or `confluence` settings in `config/docudoodle.php`, including API URLs, email, and API tokens. Ensure your Jira/Confluence account has write permissions for the target space/project.
- What happens if my AI API provider hits rate limits or costs exceed budget?
- Docudoodle includes smart caching to minimize API calls and supports Ollama for offline, cost-free documentation generation. You can also configure token limits in `config/docudoodle.php` to control API usage and avoid unexpected costs.
- Can I customize the documentation templates or prompts?
- Yes, Docudoodle allows custom templates via `template_path` in the config. You can extend or override default templates by creating your own in `resources/views/docudoodle` or a custom directory. The README includes a custom template example.
- How do I run Docudoodle in CI/CD pipelines, and should I generate docs on every commit?
- Add `php artisan docudoodle:generate` to your CI/CD pipeline (e.g., GitHub Actions). For large projects, run it selectively (e.g., only on `main` or `release` branches) to avoid unnecessary API costs. Use `--dry-run` to test configuration before full execution.