Repository navigation
fix: framework-aware typecheck and keep linters off vendored skills - #11
Merged
Merged
Conversation
- web preset: default typecheck to astro check, nuxi typecheck, svelte-check or vue-tsc when the framework is a dependency (adding the checker package), and to build mode for solution-style tsconfigs, where tsc --noEmit checks nothing (fresh Vite projects passed with type errors) - init/update: add .agents/ and .claude/ to .prettierignore and .eslintignore (legacy ESLint, oxlint) and to flat-config global ignores when the config has an unambiguous ignores array; otherwise warn with the exact fix - doctor: report linters/formatters that still see vendored skills
…d Biome Each linter/formatter is one entry (where its ignores live, how to patch them, what to advise), so supporting another tool is one entry. Biome 2.2+ gets the folders force-ignored through files.includes. chore(release): 0.4.1
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.
Fixes two problems found running
aginit initon an existing Astro project (AstroPaper), plus the similar cases they led to.Typecheck
typecheckdefaulted totsc --noEmit, which can't resolve Astro virtual modules (astro:content,import.meta.env), so AGENTS.md told agents to run a check that could never pass. When notypecheckscript exists, the web preset now picks the framework's checker and adds its package if missing:typecheckastroastro check(+@astrojs/check)nuxtnuxi typecheck(+vue-tsc)@sveltejs/kitsvelte-kit sync && svelte-check --tsconfig ./tsconfig.jsonsveltesvelte-checkvuevue-tsc --noEmit/vue-tsc -b --noEmitreferences)tsc -b --noEmitThe last row fixes a silent bug: in Vite's template the root
tsconfig.jsonhas"files": [], sotsc --noEmitchecked nothing, and a fresh--framework viteproject passed typecheck with a type error insrc/(verified against a realcreate-vitescaffold).Vendored skills vs. project linters
Skills in
.agents/skills/(linked into.claude/skills/) ship JS and Markdown. On AstroPaper,eslint .went from passing to 149 errors. A fresh create-next-app showed 94 warnings, and so did create-vite's oxlint.initandupdatenow exclude.agents/and.claude/from each tool the project uses:.prettierignore.eslintignoreglobalIgnores([...])or an ignores-only{ ignores: [...] }object. Other configs aren't edited, and aginit warns with the exact line to add."!!**/.agents"/"!!**/.claude"infiles.includes. A commentedbiome.jsoncgets advice instead of an edit.Each tool is one entry in
src/adapters/tool-ignores.ts. No ignore convention is shared across tools, so per-tool knowledge can't be avoided, but adding a tool is one entry.aginit doctorreports any tool that still sees vendored skills.Checked end to end: real Next (ESLint), Vite (oxlint), Biome 2.5 and the pre-fix AstroPaper
eslint.config.jsall come back clean afterwards, and the patchedbiome.jsonpassesbiome format.Release
Bumps to 0.4.1 with a CHANGELOG entry.
pnpm checkandpnpm smokepass.