docs(skills): add nix let review rule

This commit is contained in:
2026-09-16 13:44:35 -04:00
parent 8154feba5a
commit 652b92d4f4
4 changed files with 117 additions and 125 deletions

View File

@@ -9,12 +9,8 @@ Use this skill as the source of truth for repository Nix conventions.
## Load rules
Read every Markdown file under [`rules/`](rules/) before applying this skill.
Discover rule files from the skill source:
```bash
find src/skills/nix-style/rules -maxdepth 1 -type f -name '*.md' -print | sort
```
Read every Markdown file directly under [`rules/`](rules/) before applying this skill.
Resolve [`rules/`](rules/) relative to this `SKILL.md`.
Finish when all discovered rule files have been read.
@@ -29,7 +25,8 @@ After editing Nix files, run:
nix run .#fix
```
Finish when the Nix change follows the loaded rules.
Finish when `nix run .#fix` succeeds and the Nix change follows the loaded rules.
If the command fails, report the failure.
## Maintain rules

View File

@@ -0,0 +1,16 @@
# Let rules
## Prefer explicit dependencies over shared convenience bindings
### Rule
Do not add a `let` binding only to let sibling values share one expression.
When one sibling value owns the concept, reference that sibling value directly.
When a flake output owns the public value, reference that output through `self`.
Do not make an output attrset recursive only to reference sibling outputs.
### Rationale
Shared convenience bindings hide dependency direction.
Explicit references show which value owns a concept and which value consumes it.