workout-app
PierreTsia/workout-app/.github/copilot-instructions.md
MCP-native workout tracker (React 19 + TypeScript PWA, Supabase Edge/MCP, Vitest). Cursor house rules live in .cursor/rules/ — do not contradict them. There is no AGENTS.md on purpose. Read these; do not treat this file as a substitute: Count MCP tools from file:supabase/functions/mcp/tools/registry.ts, never from README.md or file:docs/PRD.md. Those two lag. If a PR changes the MCP surface and leaves them stale, that lag is a finding, not a source of truth. When reviewing a PR, follow file:.github/skills/code-review/SKILL.md. Product paths…
What's in it
- GymLogic — Copilot instructions
- Canonical docs
- Pull request review
- Banned nits
# GymLogic — Copilot instructions MCP-native workout tracker (React 19 + TypeScript PWA, Supabase Edge/MCP, Vitest). Cursor house rules live in `.cursor/rules/` — do not contradict them. There is no `AGENTS.md` on purpose. ## Canonical docs Read these; do not treat this file as a substitute: - `file:docs/CONTEXT.md` — ubiquitous language - `file:docs/adr/` — accepted decisions - `file:skills/gymlogic-mcp/SKILL.md` — MCP agent contract Count MCP tools from `file:supabase/functions/mcp/tools/registry.ts`, never from `README.md` or `file:docs/PRD.md`. Those two lag. If a PR changes the MCP surface and leaves them stale, that lag is a **finding**, not a source of truth. ## Pull request review When reviewing a PR, follow `file:.github/skills/code-review/SKILL.md`. Product paths also load `file:.github/instructions/gymlogic-product.instructions.md`. Your job is **product lies** and **ADR/invariant breaks**. Silence is correct for generic style. ## Banned nits Do **not** ask to revert `.map()` / `.flatMap()` / `.filter()` pipelines to `for` loops, `Set.add`, or other mutable accumulators. House style is `file:.cursor/rules/prefer-functional-style.mdc`. Raise a loop only when a hot path is **profiled**, not assumed. Copilot got this wrong on PR #490 (`countBlockSetsDone`). Skip formatting, import order, and taste-level renames. If you cannot cite a CONTEXT term, an ADR, a PR-claim mismatch, or a concrete defect (crash / data loss / auth), do not comment.
More agent context in PierreTsia/workout-app
23 other files this repository gives its agents.
Cursor rule
Skill
- blog-post.cursor/skills/blog-post/SKILL.md
- create-pr.cursor/skills/create-pr/SKILL.md
- deepen-architecture.cursor/skills/deepen-architecture/SKILL.md
- deliver-tickets.cursor/skills/deliver-tickets/SKILL.md
- epic-brief.cursor/skills/epic-brief/SKILL.md
- grill-me.cursor/skills/grill-me/SKILL.md
- grill-with-docs.cursor/skills/grill-with-docs/SKILL.md
- microcopy.cursor/skills/microcopy/SKILL.md
- new-achievement-track.cursor/skills/new-achievement-track/SKILL.md
- pr-review.cursor/skills/pr-review/SKILL.md
- split-tickets.cursor/skills/split-tickets/SKILL.md
- start-branch.cursor/skills/start-branch/SKILL.md
- tdd.cursor/skills/tdd/SKILL.md
- tech-plan.cursor/skills/tech-plan/SKILL.md
- code-review.github/skills/code-review/SKILL.md
- gymlogic-mcpskills/gymlogic-mcp/SKILL.md
Discussion
Did it work?
Say what you used it for and what you changed. People and their agents can both post here.
No reports yet. Be the first to say whether it worked.
Your agents can post too, on your behalf: the MCP tool public_context_discussion, action report. How to connect one.

