Repository navigation
Bring agent guidance in line with make and CI - #1376
Merged
Merged
Conversation
PR #1373 made `make typecheck` cover app, website and calculator-app, made `make test` cover app and website, and added app's Stylelint to CI. Several agent commands and docs still described the older, app-only setup. - /typecheck, /eslint and /prettier run `make typecheck`, `make lint` and `make format` from the repository root instead of npm scripts in app/ only. /finalize-pr names Stylelint and no longer says the PR is ready without the tests and build. - The lint-format-validator agent covers Stylelint and checks Prettier in all three projects, as CI does. Both validator agents run from the repository root instead of a hard-coded /Users/administrator path. - testing.md says which directory each command runs in, points to `make test`, and says calculator-app has no suite of its own. Its coverage command fails because @vitest/coverage-v8 isn't installed; the doc now says so. `bun run check` doesn't run Stylelint or tests. - repository-guidance.md says CI runs the tests on Node 26 while `make test` uses the local Node (app/.nvmrc says v24.3.0), so a test of formatted numbers can differ locally. - /write-unit-tests and /next-phase pointed at app/src/tests/CLAUDE.md, which moved to docs/engineering/skills/testing.md on 2026-09-10. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
- README's development workflow listed only `make test && make lint`; it now lists all four checks CI runs and points to "Before committing". The Testing section also shows `make typecheck`. - /write-unit-tests runs the modified tests with `bun run vitest --`, as testing.md does, instead of npx. - repository-guidance.md says `bun run test` runs vitest on the `node` first on PATH, rather than just "on Node". Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
MaxGhenis
marked this pull request as ready for review
October 20, 2026 21:10
Contributor
Author
|
Admin merge audit, pinned to reviewed head
|
This branch was successfully deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Follow-up to #1373. That PR made
make typecheckcoverapp/,website/andcalculator-app/, mademake testcoverapp/andwebsite/, and added app's Stylelint to CI. Its review noted that several agent commands and docs still described the older, app-only setup. This PR brings them in line. Docs and agent prompts only; no code, config or CI changes.What changed
The four gaps from the #1373 review:
.claude/commands/typecheck.mdrannpm run typecheckinapp/only. It now runsmake typecheckfrom the repository root (all three projects, the same checks as CI's Type checking job)..claude/agents/lint-format-validator.mddidn't mention Stylelint. It now saysmake lintruns Stylelint onapp/'s CSS (configapp/.stylelintrc.json), adds how to fix Stylelint problems, and checks Prettier with CI's three commands (app:bun run prettier;websiteandcalculator-app:bun run format:check). Before, it checkedapp/only, and its "final verification" ranmake format, which writes files instead of checking them.docs/engineering/skills/testing.mdlistedapp/commands without naming the directory. It now points tomake test, lists theapp/andwebsite/commands separately, and sayscalculator-app/has no suite of its own (tests of its code run inapp/, e.g.app/src/tests/unit/calculator/). Two corrections found while checking:bun run vitest -- --coveragefails (MISSING DEPENDENCY Cannot find dependency '@vitest/coverage-v8'; no coverage provider is inbun.lock), andbun run checkruns typecheck, ESLint and Prettier but not Stylelint or tests. A scope line says the "Writing tests" conventions areapp/'s;website/tests live inwebsite/src/__tests__/and use@testing-library/reactdirectly.docs/engineering/skills/repository-guidance.mdstep 3 now says CI runs the tests on Node 26 whilemake testuses whichevernodeis first on PATH (app/.nvmrcsays v24.3.0), so a test of formatted numbers can differ locally.Siblings with the same lag, fixed in the same pass:
.claude/commands/eslint.mdandprettier.mdran npm scripts inapp/only. They now runmake lint(ESLint in all three, plus app Stylelint) andmake format..claude/commands/finalize-pr.mdnames Stylelint and no longer says "PR is ready" after only typecheck, lint and format. Its last line now notes CI also runsmake testandmake build..claude/agents/typecheck-validator.mdandlint-format-validator.mdhard-codedcd /Users/administrator/Documents/PolicyEngine/policyengine-app-v2. They now run from the repository root..claude/commands/write-unit-tests.mdandnext-phase.mdtold agents to readapp/src/tests/CLAUDE.md, which 3025aed moved todocs/engineering/skills/testing.md(R096). They now point there.README.md's development workflow listed onlymake test && make lint. It now listsmake format,make lint,make typecheckandmake testand points to "Before committing"; the Testing section also showsmake typecheck..claude/commands/write-unit-tests.mdstep 6 runs the modified tests withbun run vitest -- <paths>, astesting.mddoes.How each claim was checked
Makefileon dc9c469:make -n typecheck test lint formatprints app/website/calculator typecheck; app/website test; app/website/calculator lint; appprettier:write, website and calculatorformat.app/package.json:lint=eslint && stylelint;eslintuses--max-warnings 0;stylelint=stylelint '**/*.css' --cache;check= typecheck + eslint + prettier.calculator-app/package.jsonhas notestscript, and no test files are tracked undercalculator-app/..github/workflows/pr.yamlandpush.yaml: the Lint and format job runs app Prettier, ESLint and Stylelint, then website and calculator Prettier checks and ESLint; the Tests job runsactions/setup-nodewithnode-version: "26", then app and website tests. 714b6b3 gives the reason (Intl compact notation differs between Node versions; ScorecardComparisons).node_modules/.bin/viteststarts with#!/usr/bin/env node. A probe bin with that shebang, run throughbun run, reported the PATH Node'sprocess.versionandtypeof Bun === "undefined", and a fakenodeplaced first on PATH was the one invoked. The same probe showedbun run x -- --flagpasses--flagthrough.cd app && bun run vitest -- src/tests/placeholder.test.tsx: 1 passed. Adding--coverage: exit 1, missing@vitest/coverage-v8.app/.nvmrc=v24.3.0;website/andcalculator-app/have none. No workflow or config reads.nvmrc.git diff --checkclean. Prettier doesn't check.mdfiles in any of the three projects.Review
--task review --tier hard; served by Opus 5.5 because every Codex lane was on hold): APPROVE at 53dd9ed, no blockers, four nits.make test && make lintworkflow line: fixed in 342c31d.npxin/write-unit-testsstep 6: fixed in 342c31d.bun run testruns the tests on Node" assumesnodeis on PATH: reworded in 342c31d.--inbun run vitest -- <args>: the reviewer had no shell to check. It does:bun run vitest -- --coverage src/tests/placeholder.test.tsxechoes$ vitest run --coverage src/tests/placeholder.test.tsx, andbun run vitest -- src/tests/placeholder.test.tsxruns one test file. No change needed.make formatwrites rather than checks, and CI also builds.bun run vitest -- src/tests/unit/calculator/robots.test.tsruns exactly one file.Not changed
.claude/commands/next-phase.mdreads.claude-plans/calculation-system-refactor.md, which doesn't exist. The command looks obsolete; deleting it is a separate call.app/.nvmrcstill says v24.3.0 while CI tests on 26. Changing it is a config change, not a doc fix, so this PR only documents the gap.🤖 Generated with Claude Code