gymcoach: Instructions file for Claude Code

CLAUDE.md

gymcoach CLAUDE.md is an instructions file for Claude Code from gymcoach-app/gymcoach. It costs 2,861 tokens per session, scanned A, original, MIT.

A project-specific instruction file for coding agents working on the GymCoach application. It documents the application, required tools, coding conventions, and checks that must pass before a change is committed or proposed.

In plain words
What is it for?
Use it to guide work on GymCoach, including its Next.js interface, API routes, database, AI provider setup, Docker environment, linting, type checking, tests, and builds.
Why use it?
It prevents an agent from having to rediscover the repository's rules and helps it avoid using the wrong runtime, package manager, or verification steps.

Instructions file for Claude Code

Written for Claude Code: PreToolUse hook event. Also seen: reads .claude/ paths; mentions CLAUDE.md; mentions subagents.

This is gymcoach-app/gymcoach's own configuration. It tells Claude Code how to work on gymcoach itself, so it is not a mod to install elsewhere. Copy it as a starting point and replace the rules that are about this project. Everything gymcoach configures →

Reuse

Borrowing it

Nothing to install: this file belongs to gymcoach-app/gymcoach. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.

Copy the file
curl -O https://raw.githubusercontent.com/gymcoach-app/gymcoach/main/CLAUDE.md
Clone the repo
git clone --depth 1 https://github.com/gymcoach-app/gymcoach

Made for: Claude Code.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for gymcoach CLAUDE.md

README.md
[![agentmods](https://agentmods.dev/badge/instructions/gymcoach-app/gymcoach/claude-md/github.svg)](https://agentmods.dev/instructions/gymcoach-app/gymcoach/claude-md)
Your own site
<a href="https://agentmods.dev/instructions/gymcoach-app/gymcoach/claude-md"><img src="https://agentmods.dev/badge/instructions/gymcoach-app/gymcoach/claude-md/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for gymcoach CLAUDE.md

Your own site · 80×15
<a href="https://agentmods.dev/instructions/gymcoach-app/gymcoach/claude-md"><img src="https://agentmods.dev/badge/instructions/gymcoach-app/gymcoach/claude-md.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 2,861 This file is loaded in full into every session.
When invoked 2,861 The same file — it is already loaded in full.
Security scan A 1 finding. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.02861 $0.02861
Opus 5.5 $0.01144 $0.01144
Sonnet 5.5 $0.00572 $0.00572
Haiku 4.5 $0.00286 $0.00286

Measured 19d ago against content hash e1a59f8a8de4, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

gymcoach CLAUDE.md scanned grade A with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 19d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Makes network callslowCapability

Not a fault in itself. Listed so you know the mod talks to something, and to what.

code that sends them off-box. The `curl`/`wget` deny in `.claude/settings.json` is
CLAUDE.md · 179 lines

How it starts

The opening of the file, as written. The whole thing — 179 lines — stays where its author put it; the contents beside it link to each section on GitHub.

CLAUDE.md — working agreement for agents on GymCoach

GymCoach is an open source, self-hosted training tracker with a built-in AI coach. This file tells any Claude Code agent (interactive or inside a loop) how to work in this repo so it does not have to re-derive conventions.

What this project is

  • Frontend: Next.js 15 (App Router), TypeScript strict, Tailwind, Shadcn UI.
  • Backend: Next.js API routes, Prisma ORM, PostgreSQL 16.
  • AI: one provider interface in lib/llm in front of Anthropic SDK or OpenRouter (and a demo provider with canned responses, no key).
  • Infra: Docker / Docker Compose.

Toolchain (important)

  • Requires Node >= 20. The system node may be too old; the working version is nvm node v22.17.1. .claude/settings.local.json puts it on PATH for non-interactive shells, and scripts/verify.sh re-exports it. If npm is "not found", that is why.
  • Package manager is npm.

The green-gate (self-verification — never skip)

Before committing or opening a PR, the change MUST pass:

bash scripts/verify.sh          # prisma generate + lint + typecheck + unit + build
bash scripts/verify.sh --full   # also integration + E2E (needs test Postgres on :5434)

CI (.github/workflows/ci.yml) runs lint, typecheck, unit, integration, build and E2E on every PR. The default gate mirrors the fast, DB-free part so a loop can catch its own regressions locally.

--full bootstraps the test database itself. Inside its lock, verify.sh runs scripts/test-db.sh: it starts the test Postgres on :5434 with docker compose -f docker-compose.test.yml up -d when Docker is available (a fixed compose project, gymcoach-test, so every checkout and worktree shares the same container), waits until it accepts TCP connections, and applies prisma migrate deploy to it. The migration URL is a hard-coded test URL, validated by a guard (localhost:5434/gymcoach_test, no query override) and set inline only for that command, so the step never migrates a dev or production database (guard self-tested by scripts/test-db.test.sh in the default gate). If Docker is unavailable and nothing listens on :5434, the gate stops with instructions (on this WSL box, start Docker Desktop first). History: lessons L4 and L23, where a fresh or restarted container (tmpfs data) failed the integration tier with relation "Message" does not exist until someone migrated it by hand.

Read the full file on GitHub · 179 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 19d ago Changed · +3 lines · +56 tokens per session e1a59f8a8de4
  2. 22d ago Changed · +9 lines · +191 tokens per session 25aba1870527
  3. 24d ago First seen · 167 lines · 2,614 tokens per session scan A 2b00849fd509

Subscribe to this mod's changes

gymcoach CLAUDE.md is an instructions file published in the GitHub repository gymcoach-app/gymcoach (169 stars, last pushed 3d ago), licensed MIT. It adds 2,861 tokens to every session, about $0.0114 per session on Opus 5.5. A static security scan graded it A with 1 finding (makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-10-13.

Related

gymcoach CLAUDE.md compared with instructions from other repositories

gymcoach CLAUDE.md next to 6 instructions from other repositories
ModTypeStarsLast pushLicenceScanTokensWorks with
gymcoach CLAUDE.mdgymcoach-app/gymcoachInstructions file1693d agoMITA2,861Claude Code
vscode buildNext.instructions.mdmicrosoft/vscodeInstructions file195kyesterdayMITA9,719GitHub Copilot
next.js AGENTS.mdvercel/next.jsInstructions file143ktodayMITA7,461Codex, OpenCode
langchain AGENTS.mdlangchain-ai/langchainInstructions file149kyesterdayMITA4,680Codex, OpenCode
vscode oss-third-party-notices.instructions.mdmicrosoft/vscodeInstructions file195kyesterdayMITA5,516GitHub Copilot
vscode copilot-instructions.mdmicrosoft/vscodeInstructions file195kyesterdayMITA3,093GitHub Copilot
deepseek-harness AGENTS.mddeepseek-ai/deepseek-harnessInstructions file274k2d agoMITA4,313Codex, OpenCode