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, uses smart caching to process only changed files, and supports multiple providers (OpenAI/Claude/Gemini/Azure/Ollama) for fast, low-cost updates.

View on GitHub
Deep Wiki
Context7

Getting Started

  1. Install via Composer: composer require genericmilk/docudoodle
  2. Publish config: php artisan vendor:publish --tag=docudoodle-config
  3. Set up an AI provider:
    • For OpenAI: Add OPENAI_API_KEY=sk-... to .env
    • For Ollama (local): Ensure Ollama is running and set DOCUDOODLE_API_PROVIDER=ollama
  4. Generate initial docs: php artisan docudoodle:generate

Start with a small directory (e.g., --path=app/Models) to validate setup before full scan.

Implementation Patterns

  • Leverage smart caching for CI/CD: Use --force-rebuild in CI only on major refactors; normal PRs should skip unchanged files via caching.
  • Integration workflows:
    • Run locally pre-commit: php artisan docudoodle:generate
    • Run nightly in CI to update docs: php artisan docudoodle:generate --no-cache
    • Sync to Confluence/Jira in staging: php artisan docudoodle:generate --confluence --no-files
  • Template customization:
    • Define project-specific templates in docs/prompt-templates/standard.md
    • Override via DOCUDOODLE_PROMPT_TEMPLATE=./docs/prompt-templates/standard.md
  • Iterative augmentation:
    1. First pass: full scan + orphan cleanup → establish baseline docs
    2. Subsequent passes: only update modified files + skip orphans → maintain docs cheaply

Gotchas and Tips

  • Cache invalidation: Changing models or templates invalidates the entire cache. Use --no-cache to bypass during A/B testing of prompts.
  • Token limits: If docs are cut off, increase DOCUDOODLE_MAX_TOKENS (e.g., 15000 for large files) or split large files manually.
  • Azure quirks: Ensure AZURE_OPENAI_API_VERSION matches your deployment (e.g., 2024-02-15-preview); incorrect versions cause 404s silently.
  • Ollama pitfalls: Must use fully qualified model name (e.g., mistral:7b-instruct-v0.3-q4_K_M); short names like mistral may fail.
  • Orphan cleanup: Deleted files are removed only if they previously existed in cache. Manually run php artisan docudoodle:generate after deleting large legacy blocks.
  • Jira/Confluence auth: API tokens must have explicit scope (e.g., write:jira-work, write:confluence-space); test first with curl -u email:token ....
  • Extension handling: Default excludes php, yaml, yml; add custom extensions like 'php8' only if your files use non-standard extensions.
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.
davejamesmiller/laravel-breadcrumbs
artisanry/parsedown
christhompsontldr/phpsdk
enqueue/dsn
bunny/bunny
enqueue/test
enqueue/null
enqueue/amqp-tools
milesj/emojibase
bower-asset/punycode
bower-asset/inputmask
bower-asset/jquery
bower-asset/yii2-pjax
laravel/nova
spatie/laravel-mailcoach
spatie/laravel-superseeder
laravel/liferaft
nst/json-test-suite
danielmiessler/sec-lists
jackalope/jackalope-transport