Tired of Cursor’s AI dumping random files everywhere? Chous kicks AI-generated junk out and puts you back in control of your file structure.
This demo shows how Chous detects and reports the junk file
invalid.mdthat doesn’t belong in the project:

What It Does
Chous is a file structure linter that catches AI’s mess before it becomes part of your codebase:
-
Scripts in root directory → Caught immediately -
Files in wrong folders → AI gets told to fix it -
Inconsistent naming → Enforced automatically -
Random markdown docs everywhere → AI’s favorite mess, now prevented
Quick Start
# Chous is a file structure linter
# 1. Generate configuration template
npx chous init
# 2. Identify current file structure inconsistencies
npx chous
# 3. Customize the .chous file (or move files) to achieve clean architecture
# Edit .chous based on lint results and your project goals
# 4. Keep running npx chous and fixing issues until all checks pass
npx chous
# 5. Enable real-time protection with Cursor hooks
npx chous cursor install
Once hooks are installed, every AI edit is automatically validated! Chous integrates natively with Cursor—no manual steps needed. When AI creates files in the wrong place, Chous immediately tells it to fix them.
Example Rules
See chous/presets/nuxt4.chous at main · cheezone/chous · GitHub
When AI creates junk, Chous immediately tells it to fix it.
Links
Native Cursor hooks. Automatic validation. Zero manual steps.
Take back control. Keep AI junk out. Keep your project organized—the way you want it. ![]()