Dotnet-skills dotnet-chous
Use Chous in .NET repositories that ship sizeable frontend codebases and want file-structure linting, naming convention enforcement, and folder-layout policy as a CLI gate. Use when the problem is frontend architecture drift in the file tree rather than semantic code issues inside the files.
install
source · Clone the upstream repo
git clone https://github.com/managedcode/dotnet-skills
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/managedcode/dotnet-skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/catalog/Tools/Chous/skills/dotnet-chous" ~/.claude/skills/managedcode-dotnet-skills-dotnet-chous && rm -rf "$T"
manifest:
catalog/Tools/Chous/skills/dotnet-chous/SKILL.mdsource content
Chous for Frontend File-Structure Linting in .NET Repositories
Trigger On
- the repo has a growing frontend tree and the user asks about naming conventions, folder structure, or file placement rules
- the repo wants to enforce layout policy for
,ClientApp/
,src/
, orapps/packages/ - architectural drift in the frontend file tree is a larger problem than syntax errors
Do Not Use For
- semantic code bugs, type errors, or framework API misuse
- CSS, HTML, or JS rule enforcement inside files
- very small repos where a structure linter would add more ceremony than value
Inputs
- the nearest
AGENTS.md package.json- any existing
file.chous - the frontend tree that needs policy enforcement
Workflow
- Define the structure problem first:
- naming convention drift
- component placement
- forbidden folders or files
- monorepo frontend boundaries
- Start from
or a known preset, then tighten only the rules the repo can explain.chous init - Keep the checked-in
file readable enough that future contributors understand the policy..chous - Add repeatable commands such as:
npx chous
- Exclude generated folders, build artifacts, and vendored assets so the signal stays architectural.
- Use Chous as a supplement to semantic linters, not as their replacement.
- Re-run after moves or refactors to confirm the structure policy still matches the intended design.
Bootstrap When Missing
- Detect current state:
rg --files -g 'package.json' -g '.chous'rg -n '"chous"' --glob 'package.json' .
- Start with the official no-install or global paths:
npx chousnpm install -g chous
- Initialize config when the repo truly wants structure policy:
npx chous init
- Add a repeatable command to
andAGENTS.md
, then verify with:package.jsonnpx chous
- Return
if the repo now has a checked-in structure-lint baseline, orstatus: configured
if an existing baseline was tightened.status: improved - Return
when the repo is too small or too fluid to justify a structure-lint gate right now.status: not_applicable
Handle Failures
- If Chous flags large parts of the tree after the first rollout, the rule set is probably too strict for the repo's current maturity; start from the preset and tighten incrementally.
- Generated or vendored folders should be excluded instead of repeatedly ignored in reviews.
- If contributors cannot explain what a rule protects, simplify the
policy before enforcing it in CI..chous
Deliver
- a checked-in frontend structure policy
- repeatable file-tree linting commands
- explicit exclusions for generated and vendored folders
Validate
- the
rules reflect real architecture intent.chous - generated output is excluded
- Chous is used alongside, not instead of, semantic linters
- the policy remains understandable after the first rollout
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
with a reason.status: not_applicable
Required Result Format
:status
|complete
|clean
|improved
|configured
|not_applicableblocked
: concise plan and current stepplan
: concrete changes madeactions_taken
: commands, checks, or review evidenceverification
: unresolved items orremainingnone
Example Requests
- "Enforce frontend folder naming and placement rules."
- "Add file-structure linting to the web client."
- "Why is our frontend tree drifting even though code linting passes?"