From 58ebb1174771971a87a2f43729d17c4b7f028fbe 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:20:56 +0300 Subject: [PATCH] Update agent workflow: strict TDD order + commit after every step MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Tests first → data structures → implementation → verify → commit Co-authored-by: Cursor --- .cursor/rules/agent-workflow.mdc | 30 ++++++++++++++++++++---------- 1 file changed, 20 insertions(+), 10 deletions(-) diff --git a/.cursor/rules/agent-workflow.mdc b/.cursor/rules/agent-workflow.mdc index e4aabd8..852e80a 100644 --- a/.cursor/rules/agent-workflow.mdc +++ b/.cursor/rules/agent-workflow.mdc @@ -1,27 +1,37 @@ --- -description: Agent development workflow — visual feedback, testing, progress tracking +description: Agent development workflow — TDD, commit discipline, visual feedback alwaysApply: true --- # Agent Workflow +## Development Order (STRICT) +For every task, follow this sequence: +1. **Tests first** — write failing tests that define expected behavior +2. **Data structures** — define types, interfaces, JSON schemas +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 + +## Commit Discipline +- Commit after EVERY successful step (tests green or visual verified) +- Small, focused commits — one concern per commit +- Never accumulate uncommitted work across multiple tasks +- Commit message format: concise "what + why" in English + ## Visual Verification -After ANY visual change, verify via Playwright browser tools: +After ANY visual change: 1. Ensure dev server is running (`npm run dev`) 2. Navigate to `http://localhost:5173` 3. Take screenshot to see result 4. Check browser console for errors -5. Fix issues before moving on - -## Testing Strategy -- **Chemistry, ecology, math** — write vitest tests FIRST, then implement -- **Visual/rendering** — verify via Playwright screenshots -- Run `npm run test:run` after logic changes +5. Fix issues before committing ## After Completing a Task 1. Verify it works (test or screenshot) -2. Update `PROGRESS.md` — mark task complete, add date -3. Check `IMPLEMENTATION-PLAN.md` for what's next +2. Commit immediately +3. Update `PROGRESS.md` — mark task complete +4. Check `IMPLEMENTATION-PLAN.md` for what's next ## Code Standards - TypeScript strict mode — no `any`, no unsafe `as` casts