andreapollastri / larapilot
Spec-driven AI product workflow for Laravel โ discovery, backlog, planning, implementation, and review via Laravel Boost.
Requires
- php: ^8.3
- illuminate/console: ^12.0|^13.0
- illuminate/contracts: ^12.0|^13.0
- illuminate/filesystem: ^12.0|^13.0
- illuminate/routing: ^12.0|^13.0
- illuminate/support: ^12.0|^13.0
- laravel/boost: ^1.0|^2.0
- symfony/yaml: ^7.0|^8.0
Requires (Dev)
- laravel/pint: ^1.27
- orchestra/testbench: ^10.6|^11.0
- pestphp/pest: ^3.8|^4.1
- phpstan/phpstan: ^2.1
README
From product idea to reviewed Laravel code โ with an AI product team that follows a real process.
Larapilot is a spec-driven workflow for Laravel projects, integrated with Laravel Boost. Install the package, run /larapilot-* skills in your AI editor, and ship backlog artifacts, plans, and reviewed code from .larapilot/.
The agent proposes. You approve what ships. Human-in-the-loop, always.
๐ Documentation: larapilot.web.ap.it ยท Walkthrough ยท API
Why Larapilot
AI agents are fast, but isolated prompts are not a product process. Larapilot gives your assistant a disciplined squad โ discovery โ backlog โ plan โ implement โ review โ ship โ with 27 personas (Mark, John, Alex, Anne, โฆ) as review lenses, not costumes.
Each skill orchestrates the conversation. Artisan commands persist state; Boost skills drive the workflow in chat; MCP exposes Laravel context and workflow tools to your editor.
Core loop
Greenfield โ repeat steps 3โ5 per user story:
/larapilot-inception "โฆ" โ /larapilot-spec โ /larapilot-plan US-XXX
โ /larapilot-implement US-XXX โ /larapilot-review US-XXX
| When | Start with |
|---|---|
| New product, pivot, or legacy rewrite | /larapilot-inception |
| One new capability on an existing product | /larapilot-feature "โฆ" |
| Defect or regression | /larapilot-bug "โฆ" |
Optional: /larapilot-design before plan ยท /larapilot-ship when MVP stories are DONE ยท /larapilot-autopilot to batch plan + implement.
Git discipline is part of the contract: Gitflow, one feature/US-XXX-* branch per story, atomic commits per plan task. Details on the docs site.
What lands in .larapilot/
| Path | Purpose |
|---|---|
config.yaml |
Project workflow config |
docs/PRD.md |
Product Requirements Document |
backlog/ |
User stories (US-XXX) with status machine |
plans/ |
Technical plans and tasks per spec |
mockups/{spec}/ |
Static HTML previews (optional) |
internal-feedback/{code}.md |
PM/dev comments until DONE |
design-systems/ |
Packaged references (Filament, Starter Kit, Bootstrap 5, Tailwind, AdminLTE) |
Skills write artifacts; the workflow engine blocks invalid state transitions (e.g. implement before plan, approve before review).
Skills
Published via Laravel Boost after php artisan boost:install:
| Skill | Role |
|---|---|
/larapilot-inception |
Product discovery โ PRD |
/larapilot-spec |
MoSCoW backlog from PRD |
/larapilot-feature |
Mini-inception for one evolutiva |
/larapilot-bug |
Bug triage โ fix spec or rework |
/larapilot-design |
Static HTML mockups from design system |
/larapilot-plan |
Technical plan + tasks for a spec |
/larapilot-implement |
Code + tests on a feature branch |
/larapilot-review |
Human gate โ DONE or rework |
/larapilot-ship |
Release checklist when MVP is done |
/larapilot-autopilot |
Batch plan + implement |
Dashboard & API (dev/staging)
When the dashboard is browsable (never in production):
/larapilotโ Kanban board, PRD reader, spec detail with mockup preview and internal feedback/larapilot/apiโ JSON over the same artifacts (board, specs, PRD, OpenAPI at/larapilot/api/docs)POST /larapilot/api/specs/{code}/commentsโ append internal feedback from scripts or tooling
Workflow state still changes only via skills or Artisan โ not from the dashboard or API.
Requirements
- PHP ^8.3
- Laravel ^12 or ^13
- Laravel Boost
^2.0(installed automatically) - MCP-capable editor (Cursor, Claude Code, VS Code, โฆ)
Quickstart
composer require andreapollastri/larapilot --dev php artisan larapilot:install php artisan boost:install
Already on Boost? Refresh skills once:
php artisan boost:update --discover
Register MCP servers in your editor if needed:
{
"mcpServers": {
"laravel-boost": {
"command": "php",
"args": ["artisan", "boost:mcp"]
},
"larapilot": {
"command": "php",
"args": ["artisan", "mcp:start", "larapilot"]
}
}
}
First run in your editor:
/larapilot-inception "your product idea"
Then /larapilot-spec, and the per-story loop above.
Upgrade
composer update andreapollastri/larapilot php artisan larapilot:update php artisan larapilot:doctor
Runtime-only refresh (skip Boost republish): php artisan larapilot:update --skip-boost.
Learn more
- Why & how it works
- Four walkthrough examples โ new product, legacy port, feature, bug
- Design systems
- Team personas
License
MIT ยฉ Andrea Pollastri