Skip to content
Development
Skill

/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 FOR: growing frontend trees; naming, folder, or file-placement policy; CI checks for frontend layout

From plugin
dotnet-skills
499200 skills17 agents

Claude Code

$ npx -y skills add managedcode/dotnet-skills --skill chous --agent claude-code

SKILL.md

chous.SKILL.md
name: chous
description: "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 FOR: growing frontend trees; naming, folder, or file-placement policy; CI checks for frontend layout drift. DO NOT USE FOR: semantic code bugs, type errors, or framework API misuse; CSS, HTML, or JS rule enforcement inside files. INVOKES: inspect the repository context, edit targeted files, and run relevant build, test, lint, or validation commands when changes are made."
compatibility: "Requires a repository with a meaningful frontend file tree and Node-based tooling or `npx`; Chous complements code linters and does not replace ESLint, Stylelint, or runtime site audits."

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/`, `apps/`, or `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 `.chous` file
  • the frontend tree that needs policy enforcement

Workflow

1. Define the structure problem first:

  • naming convention drift
  • component placement
  • forbidden folders or files
  • monorepo frontend boundaries

2. Start from `chous init` or a known preset, then tighten only the rules the repo can explain. 3. Keep the checked-in `.chous` file readable enough that future contributors understand the policy. 4. Add repeatable commands such as:

  • `npx chous`

5. Exclude generated folders, build artifacts, and vendored assets so the signal stays architectural. 6. Use Chous as a supplement to semantic linters, not as their replacement. 7. Re-run after moves or refactors to confirm the structure policy still matches the intended design.

Bootstrap When Missing

1. Detect current state:

  • `rg --files -g 'package.json' -g '.chous'`
  • `rg -n '"chous"' --glob 'package.json' .`

2. Start with the official no-install or global paths:

  • `npx chous`
  • `npm install -g chous`

3. Initialize config when the repo truly wants structure policy:

  • `npx chous init`

4. Add a repeatable command to `AGENTS.md` and `package.json`, then verify with:

  • `npx chous`

5. Return `status: configured` if the repo now has a checked-in structure-lint baseline, or `status: improved` if an existing baseline was tightened. 6. Return `status: not_applicable` when the repo is too small or too fluid to justify a structure-lint gate right now.

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 `.chous` policy before enforcing it in CI.

Deliver

  • a checked-in frontend structure policy
  • repeatable file-tree linting commands
  • explicit exclusions for generated and vendored folders

Validate

  • the `.chous` rules reflect real architecture intent
  • generated output is excluded
  • Chous is used alongside, not instead of, semantic linters
  • the policy remains understandable after the first rollout

Ralph Loop

1. Plan: analyze current state, target outcome, constraints, and risks. 2. Execute one step and produce a concrete delta. 3. Review the result and capture findings. 4. Apply fixes in small batches and rerun checks. 5. Update the plan after each iteration. 6. Repeat until outcomes are acceptable. 7. If a dependency is missing, bootstrap it or return `status: not_applicable` with a reason.

Required Result Format

  • `status`: `complete` | `clean` | `improved` | `configured` | `not_applicable` | `blocked`
  • `plan`: concise plan and current step
  • `actions_taken`: concrete changes made
  • `verification`: commands, checks, or review evidence
  • `remaining`: unresolved items or `none`

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?"
Read more
@managedcode
Ships withdotnet-skills

Stop explaining .NET to your AI. Start building. We've all been there: asking Claude to use Entity Framework, only to get EF6 patterns in a .NET 8 project. Explaining to Copilot that Blazor Server and Blazor WebAssembly aren't the same thing.

499200 skills17 agents
Get the whole plugin

Stars on GitHub

Momentum

stars in total
499
Star history of managedcode/dotnet-skills on GitHub, a chart by star-history.com

Other skills on dotnet-skills.

aspnet-core

aspnet-core

Build, debug, modernize, or review ASP.NET Core applications with correct hosting, middleware, security, configuration, logging,…

aspire

aspire

Build, upgrade, and operate Aspire 13.5.x C# or TypeScript application hosts with the current CLI, AppHost, ServiceDefaults,…

avalonia

avalonia

Build and debug Avalonia 11/12 .NET applications with XAML, compiled bindings, MVVM, custom controls, desktop lifetimes, and…

azure-functions

azure-functions

Build, review, or migrate Azure Functions in .NET with correct execution model, isolated worker setup, bindings, DI, and Durable…

blazor

blazor

Build and review Blazor applications across server, WebAssembly, web app, and hybrid scenarios with correct component design,…

More skills from other plugins.

brainstorming
Auto-invoked

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…

@obra@obraInstall Skill
ask-matt

ask-matt

Ask which skill or flow fits your situation. A router over the skills in this repo.

skills2w309k
@mattpocock@mattpocockInstall Skill
accessibility
Auto-invoked

accessibility

Design, implement, and audit accessible UI to WCAG 2.2 Level AA across Web, iOS, and Android — semantic ARIA roles and labels,…

ecc2w293k
@affaan-m@affaan-mInstall Skill
compiler-commit

compiler-commit

Use when you want to verify compiler changes and commit with the correct convention. Runs tests, lint, and format, then commits…

react5d252k
@facebook@facebookInstall Skill

Questions about chous.

Which coding agents can use chous?
chous installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.