Repository navigation
chore(biome): make noExplicitAny an error outside specs and mocks - #682
Merged
Merged
Conversation
The three source uses go: the OpenAI schema cast was redundant (JSONSchema is already Record<string, unknown>), and verify's fatal check narrows with `in`. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HQN3v9Z4f1mu3xK4Z7K44e
goosewobbler
pushed a commit
that referenced
this pull request
Oct 22, 2026
…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
6 of 19 tasks
Contributor
|
Standing release PR: #614 · v0.42.0 queued (4 packages) · open 82d 1h 22m · ✅ 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 |
Merged
goosewobbler
added a commit
that referenced
this pull request
Oct 22, 2026
* docs: add commands and gotchas to AGENTS.md, and drop CLAUDE.md 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 * docs(agents): point the braces rule at #666 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HQN3v9Z4f1mu3xK4Z7K44e * docs(agents): say which suites pnpm test skips Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HQN3v9Z4f1mu3xK4Z7K44e * docs(agents): drop the braces rule now that Biome enforces it (#679) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HQN3v9Z4f1mu3xK4Z7K44e * docs(contributing): require pnpm 12 and drop the .nvmrc aside Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HQN3v9Z4f1mu3xK4Z7K44e * docs(agents): trim commands to what an agent can't infer; drop the any 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 * docs(agents): drop the Vitest version from the reporter gotcha Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HQN3v9Z4f1mu3xK4Z7K44e --------- Co-authored-by: Claude <noreply@anthropic.com>
3 of 19 tasks
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
Biome's
suspicious/noExplicitAnygoes from a warning to an error for all.tsfiles. Specs (**/*.spec.ts) and**/mocks/*.tskeep it off, as before. This is the same move as #679 for braces: a convention that was only prose (it was in #673's AGENTS.md draft) is now enforced, so #673 drops the line.There were exactly three warnings, all in source:
notes/src/llm/openai.tsschema: options.schema as anyoptions.schemaisJSONSchema, which is alreadyRecord<string, unknown>, the type the SDK'sjson_schema.schematakes.publish/src/stages/verify.ts(crates.io and pub.dev)(error as any).fatal'fatal' in error && error.fatal, which narrows without a cast and keeps the same truthiness check.No behaviour changes.
Related Issue(s)
None. Follows the review of #673, where the "avoid
any" line was better enforced than written down.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/release@releasekit/config@releasekit/coreChecklist
pnpm lint)pnpm test)pnpm typecheck)Testing Notes
pnpm build,pnpm lintandpnpm typecheckpass. Lint reports 26 warnings, down from 29 onmain: the threenoExplicitAnywarnings are gone.packages/core/srcfile with(x: any) => xfailsbiome lintwithlint/suspicious/noExplicitAny, and a temporary spec usinganydoesn't. Both were removed afterwards.@releasekit/notesand@releasekit/publishtests pass. The verify change is covered by the two "should fail fast on 403" tests. Inverting the new check fails both, so they exercise it.anyoutside specs and mocks, so none of them will fail on this rule after it merges.Generated by Claude Code


Confidence Score: 5/5
The PR appears safe to merge; no actionable issues were found.Summary
Makes
noExplicitAnyan error in TypeScript source.anyoutside specs and mocks.No actionable issues found. Tests and builds were not run during this review.
Reviews (1) · Last reviewed commit: "chore(biome): make noExplicitAny an erro..." · Reviewed by Greptile