Girish Kanjiyani 766f4ee1d8
feat: add GitHub Copilot prompt support
Adds GitHub Copilot VS Code instruction and prompt files for ECC workflows, with VS Code prompt frontmatter/settings aligned to current docs and tests covering the surface.

Co-authored-by: Girish Kanjiyani <girish.kanjiyani5040@gmail.com>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-12 23:00:00 -04:00

48 lines
1.5 KiB
Markdown

---
agent: agent
description: Test-driven development cycle — write the test first, then implement
---
# TDD Workflow
Follow the RED → GREEN → IMPROVE cycle strictly. Do not write implementation code before a failing test exists.
## Cycle
### 1. RED — Write the failing test
- Write a test that describes the desired behavior.
- Run it. It **must fail** before continuing.
- Use Arrange-Act-Assert structure.
- Name tests descriptively: `returns empty array when no items match filter`, not `test itemFilter`.
### 2. GREEN — Minimal implementation
- Write the **minimum** code needed to make the test pass.
- Do not over-engineer at this stage.
- Run the test again — it **must pass**.
### 3. IMPROVE — Refactor
- Clean up duplication, naming, structure.
- Keep all tests passing after each change.
- Check coverage: target **≥ 80%**.
## Test Layer Checklist
- [ ] **Unit** — pure functions, utilities, isolated components
- [ ] **Integration** — API endpoints, database operations, service boundaries
- [ ] **E2E** — at least one critical user flow covered
## Quality Gates
Before marking the feature done:
- [ ] All tests pass
- [ ] Coverage ≥ 80%
- [ ] No skipped/commented-out tests
- [ ] Edge cases covered: empty input, nulls, boundary values, error paths
## Anti-patterns to Avoid
- Writing implementation before tests
- Testing implementation details instead of behavior
- Mocking too deeply (prefer integration tests over excessive mocks)
- Assertions that always pass (`expect(true).toBe(true)`)