Repository navigation
docs: add commands and gotchas to AGENTS.md, and drop CLAUDE.md - #673
Merged
Merged
Conversation
AGENTS.md keeps the architecture invariants and gains what an agent can't infer from the tree: the checks to run before pushing (there's no pre-push hook), why a one-package run can test stale dist/, that a package's own lint script skips ESLint, which suites only CI runs, and three gotchas: Turborepo's strict env mode drops opt-in variables such as RELEASEKIT_NOTES_E2E, Vitest hides output when it detects an agent, and Biome finds no files in a worktree under .claude/. It also lists the conventions the linters don't check. Claude Code reads AGENTS.md itself when there's no CLAUDE.md, and the claude-code-action pin installs a version that does, so the CLAUDE.md that only imported AGENTS.md goes. CONTRIBUTING.md asked for Node 18, while the packages need 22, and said there's no ESLint. It also claimed `pnpm --filter ... build` builds a package's dependencies, linked a BOOTSTRAP.md that no longer exists, and showed a package layout most packages don't match. The PR template and the commit scopes gain @releasekit/release, and the bug report's Node placeholder moves to a supported version. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HQN3v9Z4f1mu3xK4Z7K44e
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HQN3v9Z4f1mu3xK4Z7K44e
Contributor
|
Standing release PR: #614 · v0.42.0 queued (4 packages) · open 82d 1h 38m · ✅ ready to merge Release Preview — v0.41.2 → v0.41.3
These changes will be added to the release PR (#614) when merged: Changelogmonorepo 0.41.2 → 0.41.3
After merge — predicted release
Updated automatically by ReleaseKit |
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HQN3v9Z4f1mu3xK4Z7K44e
10 of 19 tasks
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HQN3v9Z4f1mu3xK4Z7K44e
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HQN3v9Z4f1mu3xK4Z7K44e
…ials # Conflicts: # .github/ISSUE_TEMPLATE/bug_report.yml
7 of 20 tasks
…y rule #682 makes noExplicitAny an error, so the rule no longer needs prose. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HQN3v9Z4f1mu3xK4Z7K44e
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HQN3v9Z4f1mu3xK4Z7K44e
This was referenced Oct 22, 2026
Merged
This was referenced Oct 22, 2026
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.
Description
Brings over webdriverio/desktop-mobile#725, adapted to releasekit: AGENTS.md should hold only what an agent can't work out from the repo, and the contributor docs should stop contradicting
package.json.AGENTS.md is loaded into every agent session, so each line has to be something an agent would get wrong otherwise, can't find in
package.jsonor config, and won't go stale. That rules out pinned tool versions. Conventions a linter can enforce are enforced instead: braces by #679,anyby #682.AGENTS.md
The architecture invariants stay as they are. Three sections are added, every claim checked on this repo:
pnpm lint,pnpm typecheckandpnpm test. The commit hook only checks staged files, and there's no pre-push hook.pnpm testskips@releasekit/version's owntest/integration/, so that suite's command is named.pnpm --filter <pkg> testskips Turborepo, so it can run against a staledist/in a dependency; build the dependencies first withpnpm turbo run build --filter=<pkg>^....lintscript runs Biome only.pnpm test, and when to run them.RELEASEKIT_NOTES_E2E=1 pnpm testsilently skips the LLM e2e test; it only works throughpnpm --filter.--reporter=defaultbrings them back..claude/,pnpm lintfinds no files and fails.Trimmed after review: Turborepo's
--force(general Turborepo knowledge), a "check just your files" lint tip, the script-by-script CI list (it's inpackage.json), the #654 known-failure link (stale once fixed), "avoidany" (now #682), and the Vitest major version.CLAUDE.md removed
CLAUDE.md only imported AGENTS.md, and Claude Code reads AGENTS.md itself when there's no CLAUDE.md (from v2.1.277).
claude.ymlpinsanthropics/claude-code-action, which installs a Claude Code release past that. On PRs, the action restoresCLAUDE.mdfrom the base branch but notAGENTS.md, so the AGENTS.md content Claude sees comes from the PR head either way — removing CLAUDE.md doesn't change what a PR can inject. Nothing else in the repo refers to CLAUDE.md. (The action's prompt still says "follow the repository's CLAUDE.md"; with the file gone it relies on AGENTS.md being auto-loaded.)Contributor docs that had drifted
CONTRIBUTING.md:npm install -g pnpm. It now asks for Node 22.12 or later (engines, since chore(deps): update package versions and lockfile #681) and pnpm 12 (packageManager, since chore(deps): update package versions and lockfile #681), and links pnpm's installation page.pnpm lintand the commit hook both run ESLint.pnpm --filter @releasekit/version buildbuilds the package's dependencies. It doesn't, so the example now usespnpm turbo run build --filter=....BOOTSTRAP.md, removed in 2f5ef87.forgeandgit; removed, as version: jsonOutput's disabled-mode guards are untested, and a test asserts the opposite of its title #725 did with its trees.release.@releasekit/releaseto Scope.Left as they were:
README.md: no structure tree, andpnpm install && pnpm build && pnpm testworks.pnpm test: unlike desktop-mobile, here it doesn't run E2E — it runs the unit tests plustest/integration/, in about a minute.Not carried over from #725: the README/setup trees and Agent OS/Corepack/Rust notes (none exist here); a "don't edit CHANGELOG.md" rule (per-package changelogs stopped at 0.20.0, so it would be false); a generated-files gotcha (#598 moved that into file banners and CI checks); "avoid
null"/"useResult" rules (not verifiable here). Nothing on coverage, console or barrel files — those are enforced by #670, #668 and #669.Found but left for separate changes: consumer docs still say Node 20+ while
enginesneeds 22.12 (docs/action.md,packages/release/docs/ci-setup.md, and the notes, publish and release READMEs); the rootversion-output.jsonis a committed leftover from 0.2.0-next.12.Related Issue(s)
Mirrors webdriverio/desktop-mobile#725. Pairs with #682.
Type of Change
feat— New featurefix— Bug fixdocs— Documentation changerefactor— Code refactoringtest— Adding or updating testschore— Maintenance, dependencies, toolingScope
@releasekit/version@releasekit/notes@releasekit/publish@releasekit/config@releasekit/coreChecklist
pnpm lint)pnpm test)pnpm typecheck)Testing Notes
Docs only; every documented command was run:
pnpm lintpasses (the 29 warnings already onmain).pnpm testpasses 16/16 tasks, including@releasekit/integration-tests.pnpm turbo run build --filter='@releasekit/release^...'builds exactly the 7 dependencies.pnpm test:action:preview,pnpm test:action:release,pnpm test:harness:backfill,pnpm test:harness:multi,pnpm test:harness:multi-npm-disabled,pnpm exec tsx scripts/test-e2e.ts,pnpm exec tsx scripts/test-packages.ts.RELEASEKIT_NOTES_E2E=1 pnpm turbo run test --filter=@releasekit/notesskipped both e2e tests;RELEASEKIT_NOTES_E2E=1 pnpm --filter @releasekit/notes testran them and they failed on the connection, so the variable got through.console.logand ✓ lines were hidden and--reporter=defaultshowed them; through Turborepo they showed anyway. std-env treatsAI_AGENT,CLAUDECODEorCLAUDE_CODEas an agent, so unsettingCLAUDECODEalone isn't enough..claude/worktree: in a throwaway worktree under.claude/,biome check .reported "No files were processed" and exited 1..claudeignore are unchanged, so the AGENTS.md claims still hold.🤖 Generated with Claude Code
https://claude.ai/code/session_01HQN3v9Z4f1mu3xK4Z7K44e