Agent Skills
› managedcode/dotnet-skills
› biome
biome
GitHub用于在.NET仓库中配置Biome,为JS/TS/CSS等前端资产提供统一的格式化、Lint和导入排序。涵盖版本升级适配、迁移策略及脚本集成,替代或简化ESLint+Prettier组合。
Trigger Scenarios
需要快速的前端格式化和Lint工具
希望用Biome替代ESLint+Prettier
仓库已存在biome.json或相关依赖
Install
npx skills add managedcode/dotnet-skills --skill biome -g -y
SKILL.md
Frontmatter
{
"name": "biome",
"description": "Use Biome in .NET repositories that ship Node-based frontend assets and want a fast combined formatter-linter-import organizer for JavaScript, TypeScript, CSS, JSON, GraphQL, or HTML. USE FOR: biome.json or @biomejs\/biome setup; fast frontend formatting and linting; replacing overlapping frontend style tools deliberately. DO NOT USE FOR: ESLint-only plugin coverage; runtime site audits such as headers, accessibility, or browser behavior. INVOKES: inspect the repository context, edit targeted files, and run relevant build, test, lint, or validation commands when changes are made.",
"compatibility": "Requires a .NET repository with frontend assets managed through Node or a standalone Biome binary workflow; keep ownership explicit versus ESLint, Stylelint, and webhint."
}
Biome for Frontend Assets in .NET Repositories
Trigger On
- the repo has
biome.json,@biomejs/biome, or the user asks for a faster all-in-one frontend formatter-linter stack - the repo wants one tool for formatting, linting, and import organization across JS, TS, CSS, JSON, GraphQL, or HTML
- the team is comparing Biome against ESLint plus Prettier or wants to simplify the current stack
Do Not Use For
- repos that rely on ESLint plugins or framework-specific rules Biome does not cover yet
- runtime site audits such as headers, accessibility, and SEO; route that to
webhint - cases where a dedicated CSS or HTML tool is still the deliberate owner and no migration is requested
Inputs
- the nearest
AGENTS.md package.jsonbiome.jsonorbiome.jsonc- current ownership across ESLint, Prettier, Stylelint, and import ordering
Workflow
- Decide ownership first:
- Biome as the main formatter and linter
- Biome only for formatting
- Biome in coexistence with ESLint for plugin gaps
- Prefer a repo-local pinned install so CI and developer machines use the same version.
- Generate
biome.jsononly after confirming what the repo wants Biome to own. - Add repeatable scripts to
package.json, for example:biome check .biome check . --write
- Keep file ownership explicit:
- Biome can own formatting, linting, and import sorting
- webhint still owns site-runtime audits
- ESLint may stay for plugin-heavy cases the repo intentionally keeps
- Start migrations with
checkand bounded folders before flipping the whole repo to--write. - Re-run the frontend build and tests after broad formatting or lint-fix passes.
Current Upstream Notes
- Biome CLI
2.5.8addsuseReactCompiler,noSvelteLegacyConst, andnoInvalidPropertyInitValue, and parses HTMLstyleattributes as CSS. Enable new rules deliberately because React Compiler and Svelte legacy checks can change an existing migration plan. - Biome CLI
2.5.9adds the Nursery rulesuseNamedLayer,useTailwindShorthandClasses,useControlLabel,noUnsafeTypeAssertion, anduseAstroClientOnlyDirectiveValue. Enable them explicitly; validate CSS/HTML formatting plus Tailwind, Astro, Svelte, and Vue diagnostics before accepting a broad CI change. - The release improves import-cycle performance and fixes Vue globals, Svelte object literals, CSS comments, and related formatter/parser paths. Re-run the repo's existing
biome checkcommand before removing suppressions or accepting formatter churn. - When
--stdin-file-pathis used, verify that the intended nestedbiome.jsonis selected and that ignored input produces the expected warning. Keep fixtures for Vue custom blocks, Svelte attachments, Tailwind class sorting, and non-ASCII diagnostic spans when those surfaces matter. - Recent Biome changes also continue expanding CSS/SCSS, HTML accessibility, import sorting, watch mode, and upgrade-command surfaces; verify actual CLI ownership before replacing ESLint or Stylelint.
Bootstrap When Missing
- Detect current state:
rg --files -g 'package.json' -g 'biome.json*'rg -n '"@biomejs/biome"|"eslint"|"prettier"|"stylelint"' --glob 'package.json' .
- Prefer a repo-local pinned install:
npm i -D -E @biomejs/biome
- Create config deliberately:
npx @biomejs/biome init
- Add repeatable commands to
AGENTS.mdandpackage.json, then verify with:npx @biomejs/biome check .npx @biomejs/biome check . --write
- Return
status: configuredif Biome is now wired with explicit ownership, orstatus: improvedif the existing setup was tightened. - Return
status: not_applicablewhen the repo intentionally stays on ESLint-centered ownership and no migration or comparison was requested.
Handle Failures
- Missing-rule parity with specialized ESLint plugins is an ownership problem; keep ESLint for those files until the gap is intentionally closed.
- Overly broad
--writeruns can cause large churn; start with bounded folders or changed files first. - Generated assets or vendored code should be excluded in
biome.jsonbefore trusting the signal. - If developers complain that Biome and ESLint disagree, define file ownership instead of running both broadly on the same surface by accident.
Deliver
- explicit Biome ownership and version pinning
- checked-in config and repeatable
checkcommands - a migration or coexistence plan versus ESLint and other frontend tools
Validate
- the chosen ownership model is documented
- CI and local runs use the same Biome version
- the target globs exclude generated and vendored assets
- downstream build or test flows still pass after
--writeruns
Ralph Loop
- Plan: analyze current state, target outcome, constraints, and risks.
- Execute one step and produce a concrete delta.
- Review the result and capture findings.
- Apply fixes in small batches and rerun checks.
- Update the plan after each iteration.
- Repeat until outcomes are acceptable.
- If a dependency is missing, bootstrap it or return
status: not_applicablewith a reason.
Required Result Format
status:complete|clean|improved|configured|not_applicable|blockedplan: concise plan and current stepactions_taken: concrete changes madeverification: commands, checks, or review evidenceremaining: unresolved items ornone
Example Requests
- "Replace Prettier and basic linting with Biome in this repo."
- "Add Biome to the frontend under ClientApp."
- "Explain whether we should keep ESLint after adding Biome."
Version History
-
0559476
Current 2026-08-19 23:37
更新上游版本说明,涵盖Biome CLI 2.5.8和2.5.9的新特性及规则变更指南
- 7ab7f03 2026-07-25 05:26


