Repository navigation
Conversation
- issue-tracker.md: drop the generic gh command list and the git remote note; gh does both by default. Keep the skill-term mappings. - triage-labels.md: the table mapped every role to itself. One line now says the labels match the role names. - domain.md: rewrite as one trigger per doc. The glossary-vocabulary and ADR-conflict rules move to CODING_STANDARDS.md as checkable rules, so code review enforces them. - AGENTS.md: drop the repo-root test row (package.json has it), the ~1s example run, and the CI step list (ci:verify has it). Keep the bun test hang, the clean lint baseline, and what pre-commit skips. Pointers now lead with when to read them; add one to the standards. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
- CODING_STANDARDS.md gains Database, Tests, API tests, and Web tests sections: withWriteTransaction, DDL only in migrations, one database entry point, keep assertions strict, setupTestDatabase/factories/ setupAuthenticatedRouteTest, checkInUse cases, awaited custom render, domain-module mocks, semantic queries, invalidation asserts. The READMEs keep the helpers and examples and point at the rules. - Test READMEs: cut the stale counts (431 tests, a 60% threshold bunfig does not set), the directory listings, generic best practices, the repo-root and coverage sections that package.json already holds, and the route-handler example (no route has a default export). Fix the setupTestDatabase description (it opens through openOperationalDatabase), show render as async with all its providers, and note that API tests import 'vitest' under Bun. - Web README and vitest.config.ts: drop the Vitest stack overflow note. A full run passes 909 tests and exits without it. - AGENTS.md: the bun test hang lives only here; runner details move behind the README pointers. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
- AGENTS.md: three sections. Agent skills holds the tracker, label, and domain-doc facts inline; Checks holds what every task needs (the bun test hang, clean lint, ci:verify); Where to look has one pointer per branch. The UI-label trail stays as a pointer line, since that branch starts before the agent is in any package. - docs/agents/: deleted. Each file was 3-7 lines, about the cost of the pointer to it. - CODING_STANDARDS.md: grouped by package. Add one-line rules from ADRs 0001, 0002, 0004-0010 that bind everyday code. Drop the synchronous transaction callback rule, which ESLint enforces, and fold the mock response shapes into the web rules. - Package READMEs lead with what the branch needs first: the runner, the setup file, the schema recipe. - Config comments: drop the better-sqlite3 stack overflow note, the ~55% baseline, and the api.ts and coverage-plan mentions. - README.md: ci:verify runs more than typecheck and build. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
The rules pass 3 drew from ADRs 0001 and 0004-0010 will be enforced by code review, so they move to a follow-up PR where each can be checked. The web response-body rule stays: it replaced the web test README's mock-shape note. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
The repo's docs spell it "behaviour" (7 uses in 4 files against 1 "behavior"), which CODING_STANDARDS.md already follows. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…onalDatabase.
check-integrity.ts opens a backup with new Database(..., { readonly: true })
on purpose, so the rule now names that exception and leaves room for others.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
The API test README offered loginAndGetCookie and friends with no caveat, against the rule to use setupAuthenticatedRouteTest. Logging in by hand is now limited to tests of the login flow, and the client wrapper is shown on top of the adapter's cookie, matching how the tests use them. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
The db README defers to CODING_STANDARDS.md for the transaction rule, but the move dropped why: Drizzle's bun-sqlite transaction commits at the first await. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
The old API and web test READMEs asked for edge-case tests, loading and error state tests, and waitFor or findBy for async work. The rewrite cut them instead of moving them. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
The web test README restated it; it now shows how createMockedDomainModule works and points to the rule. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
AGENTS.md now points to the paragraph instead of restating it. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
… the Checks workflow. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
The old pointer covered nearly every task, so it routed nowhere. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
The 90% target and what each threshold does were spread across README.md, packages/web/vitest.config.ts and the commented-out bunfig.toml threshold. The configs now point to a Coverage section; no config values change. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
It is the only place the README defines the CURRENT that the evolution table compares against, and support needs it to read a schema_version value. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…tructure # Conflicts: # packages/api/src/__tests__/README.md # packages/api/src/db/README.md # packages/web/src/__tests__/README.md
…ules to new and changed tests. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…nd a durable lint note. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ry rule. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…tructure # Conflicts: # AGENTS.md # packages/api/src/__tests__/README.md
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.
Summary
AGENTS.mdbecomes a short router. Rules for writing code move toCODING_STANDARDS.md, which thecode-reviewskill reads as its standards source. ADR-derived rules are not in this PR; they are in #92, stacked on this one, so they can be reviewed on their own.The first three commits each go further than the last, so a reviewer can stop at any one of them. The rest are follow-ups from review.
6662a62AGENTS.mdanddocs/agents/: genericghusage and a triage table that mapped each role to itself. StartsCODING_STANDARDS.md.3efb494CODING_STANDARDS.md. Cuts stale counts, duplicated sections and the Vitest stack-overflow note.bf1cbdaAGENTS.mdas a router: Agent skills, running tests and checks, where to look. Deletesdocs/agents/and inlines what is still live.d4a8e9aCODING_STANDARDS.md; #92 adds them.dd642a4bfa8d40bf9746bcheck-integrity.ts, the snapshot test) skipopenOperationalDatabase.d2797d8loginAndGetCookie) are acceptable.08e081cwithWriteTransactionnext to the rule.85cb068findBy/waitFor.acb19ec*Apioverride rule inCODING_STANDARDS.mdonly.8e96e89ci:verifyinREADME.mdonly.be5a547AGENTS.md.35f4f1dAGENTS.md"Checks" heading so it isn't confused with the Checks workflow.c0f3e55CODING_STANDARDS.mdholds in theAGENTS.mdpointer.063c188AGENTS.mdan H1.af31451d40df05CURRENT_SCHEMA_VERSIONbullet in the db README.f51b352lib/may not), and scopes the web test rules (helperrender, role/label queries,user-event) to new and changed tests.c23c9f3AGENTS.md: API tests run withNODE_ENV=test, contract tests and the rootbun run testare listed,setup:hooksis back, and the lint note no longer claims lint is clean today.2d7ce70Line counts against the base branch:
Fixed along the way: the "431 tests" count; a 60% API coverage threshold that
bunfig.tomldoes not set;ci:verifydescribed as "typecheck + build"; an API route-handler example that matched no real route; stale better-sqlite3 and coverage comments in the vitest configs andbunfig.toml. Config values are unchanged.Evidence
vitest.config.tswarned about aRangeErrorstack overflow after test runs.After: a full web
bun run testpasses 909 tests in 155 files and exits cleanly with noRangeError, so the warning is gone.bun run typecheck, the pre-commit hook and the docs stale-claims check pass.docs/agentsturns up no references left in the repo.CODING_STANDARDS.mdeither holds for the code at head or is scoped to new and changed code with the known exceptions named.Merge Danger
Door: two-way
Docs and comments only. Reverting any one commit restores the earlier shape.
Blast Radius: agent-behaviour
code-reviewwill enforceCODING_STANDARDS.md. Its rules restate what the package READMEs already said; the ADR-derived rules arrive in #92.🤖 Generated with Claude Code