For technical decisions, report confidence:
- HIGH (90%+): Documented best practice, matches codebase patterns
- MEDIUM (60-89%): Reasonable approach, alternatives exist
- LOW (<60%): Best guess, recommend verification
When confidence < 80%, state:
| .claude/ | |
| ├── CLAUDE.md # Project overview (keep <200 lines) | |
| └── rules/ | |
| ├── api-design.md # REST conventions, response formats | |
| ├── testing.md # Test patterns, mocking strategies | |
| ├── react-patterns.md # Component structure, hooks rules | |
| ├── database.md # Query patterns, migration format | |
| └── security.md # Auth patterns, input validation |
When planning implementation:
Benefits: Errors caught at phase boundaries, easier debugging, clearer accountability
| // packages/eslint-plugin/rules/no-raw-html-elements.js | |
| const FORBIDDEN_ELEMENTS = { | |
| button: 'Button', | |
| input: 'Input or PasswordInput', | |
| select: 'Select', | |
| textarea: 'Textarea', | |
| h1: 'H1', | |
| h2: 'H2', | |
| h3: 'H3', | |
| h4: 'H4', |
| // eslint.config.js | |
| export default [ | |
| { | |
| rules: { | |
| 'custom/no-raw-html-elements': 'error', | |
| }, | |
| }, | |
| ] |