Add mandatory push step to agent workflow rules

Push must happen immediately after every commit — no accumulating
unpushed work. Updated both development order and task completion
checklists.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Денис Шкабатур
2026-02-12 12:49:08 +03:00
parent bc472d0f77
commit 5b26820e21

View File

@@ -12,11 +12,13 @@ For every task, follow this sequence:
3. **Implementation** — write code to make tests pass 3. **Implementation** — write code to make tests pass
4. **Verify** — `npm run test:run` for logic, Playwright screenshot for visuals 4. **Verify** — `npm run test:run` for logic, Playwright screenshot for visuals
5. **Commit** — `git add -A && git commit` after each successful step 5. **Commit** — `git add -A && git commit` after each successful step
6. **Push** — `git push` after every commit (never accumulate unpushed commits)
## Commit Discipline ## Commit & Push Discipline
- Commit after EVERY successful step (tests green or visual verified) - Commit after EVERY successful step (tests green or visual verified)
- Push immediately after every commit — code must always be on remote
- Small, focused commits — one concern per commit - Small, focused commits — one concern per commit
- Never accumulate uncommitted work across multiple tasks - Never accumulate uncommitted or unpushed work across multiple tasks
- Commit message format: concise "what + why" in English - Commit message format: concise "what + why" in English
## Visual Verification ## Visual Verification
@@ -30,8 +32,9 @@ After ANY visual change:
## After Completing a Task ## After Completing a Task
1. Verify it works (test or screenshot) 1. Verify it works (test or screenshot)
2. Commit immediately 2. Commit immediately
3. Update `PROGRESS.md` — mark task complete 3. Push immediately (`git push`)
4. Check `IMPLEMENTATION-PLAN.md` for what's next 4. Update `PROGRESS.md` — mark task complete
5. Check `IMPLEMENTATION-PLAN.md` for what's next
## Code Standards ## Code Standards
- TypeScript strict mode — no `any`, no unsafe `as` casts - TypeScript strict mode — no `any`, no unsafe `as` casts