diff --git a/AGENTS.md b/AGENTS.md index 81dd635..21e7928 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -26,8 +26,7 @@ This repository hosts a multi-tenant event photo platform (Laravel 12, PHP 8.3, ## Tools & Permissions - Languages/Frameworks: PHP 8.3 (Laravel 12), TypeScript/JavaScript (React 19/Vite 7/Tailwind 4), Filament 4. - Dev Commands: composer, npm, vite, artisan, PHPUnit, Pint/ESLint, Docker/Compose (for dev). -- Git Hosting: Gogs at http://nas:10880 (token found locally in gogs.ini, never printed or committed). -- Issue API: Gogs REST /api/v1 for labels/issues/milestones (token auth). + - Libraries: simplesoftwareio/simple-qrcode for server-side QR generation; Paddle API client (custom service) for payments; dompdf for PDF generation; spatie/laravel-translatable for i18n. - Payment Systems: Paddle (subscriptions and one-time payments), RevenueCat (mobile app subscriptions). - PWA Technologies: React 19, Vite 7, Capacitor (iOS), Trusted Web Activity (Android), Service Workers, Background Sync. @@ -317,13 +316,7 @@ Route::get('/users', function () { - This project upgraded from Laravel 10 without migrating to the new streamlined Laravel file structure. - This is **perfectly fine** and recommended by Laravel. Follow the existing structure from Laravel 10. We do not to need migrate to the new Laravel structure unless the user explicitly requests that. -### Laravel 10 Structure -- Middleware typically lives in `app/Http/Middleware/` and service providers in `app/Providers/`. -- There is no `bootstrap/app.php` application configuration in a Laravel 10 structure: - - Middleware registration happens in `app/Http/Kernel.php` - - Exception handling is in `app/Exceptions/Handler.php` - - Console commands and schedule register in `app/Console/Kernel.php` - - Rate limits likely exist in `RouteServiceProvider` or `app/Http/Kernel.php` + ### Database - When modifying a column, the migration must include all of the attributes that were previously defined on the column. Otherwise, they will be dropped and lost. @@ -614,3 +607,42 @@ export default () => ( | decoration-slice | box-decoration-slice | | decoration-clone | box-decoration-clone | + +## Issue Tracking + +This project uses **bd (beads)** for issue tracking. +Run `bd prime` for workflow context, or install hooks (`bd hooks install`) for auto-injection. + +**Quick reference:** +- `bd ready` - Find unblocked work +- `bd create "Title" --type task --priority 2` - Create issue +- `bd close ` - Complete work +- `bd sync` - Sync with git (run at session end) + +For full workflow details: `bd prime` + +## Landing the Plane (Session Completion) + +**When ending a work session**, you MUST complete ALL steps below. Work is NOT complete until `git push` succeeds. + +**MANDATORY WORKFLOW:** + +1. **File issues for remaining work** - Create issues for anything that needs follow-up +2. **Run quality gates** (if code changed) - Tests, linters, builds +3. **Update issue status** - Close finished work, update in-progress items +4. **PUSH TO REMOTE** - This is MANDATORY: + ```bash + git pull --rebase + bd sync + git push + git status # MUST show "up to date with origin" + ``` +5. **Clean up** - Clear stashes, prune remote branches +6. **Verify** - All changes committed AND pushed +7. **Hand off** - Provide context for next session + +**CRITICAL RULES:** +- Work is NOT complete until `git push` succeeds +- NEVER stop before pushing - that leaves work stranded locally +- NEVER say "ready to push when you are" - YOU must push +- If push fails, resolve and retry until it succeeds