add session start protocol and pre-commit checklist
AGENTS.md gains a non-negotiable session start protocol that forces reading the context files and checking the current branch before any edits. shared.md gains a pre-commit checklist covering branch/scope, code rules, mechanical checks, and commit metadata. both additions exist because this branch's history shows what happens when the rules are treated as background information rather than active checklists.
This commit is contained in:
parent
db93871194
commit
b07b1e2666
2 changed files with 54 additions and 0 deletions
36
ai/shared.md
36
ai/shared.md
|
|
@ -72,3 +72,39 @@ guides (`backend-context.md`, `frontend-context.md`) extend these.
|
|||
- NEVER work directly on master/main - always create and work on a branch
|
||||
|
||||
Do not push anything. Make commits as you go.
|
||||
|
||||
## Pre-commit checklist
|
||||
|
||||
Before EVERY commit (no exceptions), verify each item. Treat this as
|
||||
mechanical, not aspirational - a "yes" to all is required.
|
||||
|
||||
**Branch + scope:**
|
||||
- [ ] On a feature branch (not master/main).
|
||||
- [ ] This commit is one logical change. If it spans unrelated changes,
|
||||
stop and split it.
|
||||
- [ ] Tests for new behavior were committed BEFORE this implementation
|
||||
(or this commit IS the failing-test commit).
|
||||
|
||||
**Code rules** (see `backend-context.md` PHP rules,
|
||||
`frontend-context.md` JS rules):
|
||||
- [ ] No arrow functions (`fn () =>`).
|
||||
- [ ] No inline FQCNs in type hints, return types, or `::class`
|
||||
references (`\App\Foo\Bar` -> hoist to `use App\Foo\Bar;`).
|
||||
- [ ] No default parameter values on methods/functions/constructors.
|
||||
- [ ] Find/lookup repository methods return new instances, not stored
|
||||
references.
|
||||
- [ ] No em dashes (use hyphens).
|
||||
- [ ] Variable names are explicit (no `$t`, `$n`, `$res`, etc.).
|
||||
|
||||
**Mechanical checks:**
|
||||
- [ ] `php-cs-fixer fix --config=.php-cs-fixer.dist.php <touched dirs>`
|
||||
run, output reports 0 fixes (or any fixes are committed).
|
||||
- [ ] `./vendor/bin/phpunit tests` is green.
|
||||
|
||||
**Commit metadata:**
|
||||
- [ ] Subject is lowercase, imperative, 3-6 words.
|
||||
- [ ] No claude/AI coauthor lines.
|
||||
- [ ] Body present iff the subject alone cannot convey the change.
|
||||
|
||||
If any item fails, fix it before committing - do not bundle the fix
|
||||
into a future commit.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue