mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2026-11-09 12:17:13 +00:00
Reorders all documented and scripted `make` invocations from the `VAR=value make target` shell-env prefix form to the make-native `make target VAR=value` form. GNU Make auto-exports both command-line and inherited shell-env variables to recipe shells, so the change is purely about command-line shape: only the make-suffix form starts with `make` and is therefore matched by the `Bash(make*)` permission entry in .claude/settings.json, avoiding unnecessary approval prompts for agent runs. Adds an explicit CLAUDE.md rule with ✅/❌ examples and the underlying reason (permission prefix match, not Makefile semantics). Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1.9 KiB
1.9 KiB
Lint 🔍
You MUST use these linting and quality tools where applicable:
Repository Lint Rules 📏
You MUST apply these repo-wide rules when you add, move, or review files:
- Keep broad folders shallow when that helps readability. Direct children SHOULD stay at 12 or fewer items per folder.
- Treat structural hubs such as
roles/,cli/,tests/unit/plugins/filter,tests/unit/roles,inventories/bundles/servers,inventories/bundles/workstations,plugins/filter,plugins/lookup,group_vars/all, and.github/workflowsas intentional exceptions when they are used to organize the tree. - You SHOULD prefer smaller, more focused folders over dumping many unrelated files into one directory.
For refactoring guidance, see Refactoring.
Suppression Comments 🚫
Some lint checks can be suppressed on a per-item basis using inline comments. You MUST use these only when the check genuinely does not apply. You MUST NOT use them to silence legitimate issues. For suppressions used by opt-in external checks, see external.md.
| Comment | Placement | Affected test | Effect |
|---|---|---|---|
# noqa: shared |
Line directly above shared: in config/main.yml |
test_service_shared_consistency.py | Skips shared-consistency validation for that service |
# run_once_<key>: deactivated |
Inside the task file, on the task entry | test_run_once_tags.py | Suppresses the run-once tag warning for that specific task key |
Running Specific Lint Tests 🏃
Use TEST_PATTERN to scope the lint test run to a single file:
# Run lint tests for a specific file
make test-lint TEST_PATTERN=test_my_role.py