From 5b26820e21e14d0deda416c70e3f3b7b0a36ea54 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=94=D0=B5=D0=BD=D0=B8=D1=81=20=D0=A8=D0=BA=D0=B0=D0=B1?= =?UTF-8?q?=D0=B0=D1=82=D1=83=D1=80?= Date: Thu, 12 Feb 2026 12:49:08 +0300 Subject: [PATCH] Add mandatory push step to agent workflow rules MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Push must happen immediately after every commit — no accumulating unpushed work. Updated both development order and task completion checklists. Co-authored-by: Cursor --- .cursor/rules/agent-workflow.mdc | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/.cursor/rules/agent-workflow.mdc b/.cursor/rules/agent-workflow.mdc index 852e80a..1a8e767 100644 --- a/.cursor/rules/agent-workflow.mdc +++ b/.cursor/rules/agent-workflow.mdc @@ -12,11 +12,13 @@ For every task, follow this sequence: 3. **Implementation** — write code to make tests pass 4. **Verify** — `npm run test:run` for logic, Playwright screenshot for visuals 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) +- Push immediately after every commit — code must always be on remote - 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 ## Visual Verification @@ -30,8 +32,9 @@ After ANY visual change: ## After Completing a Task 1. Verify it works (test or screenshot) 2. Commit immediately -3. Update `PROGRESS.md` — mark task complete -4. Check `IMPLEMENTATION-PLAN.md` for what's next +3. Push immediately (`git push`) +4. Update `PROGRESS.md` — mark task complete +5. Check `IMPLEMENTATION-PLAN.md` for what's next ## Code Standards - TypeScript strict mode — no `any`, no unsafe `as` casts