Dendritic Pattern Validation
What I do
- Verify every module is a flake-parts module exporting
flake.modules.<class>.<aspect>. - Check that dendritic layout rules are followed (single tree, central loader, perSystem outputs).
- Confirm global metadata lives in
flake.metaand is read viaconfig.flake.meta. - Flag manual sibling imports, host-centric file layout drift, or misused
specialArgs. - Summarize findings with precise file references and recommended fixes.
When to use me
Use this skill when reviewing new modules, refactors, or community imports for dendritic correctness.
Workflow
- Read @docs/agents/dendritic-core.md for alignment with repo rules.
- Review
flake.nixand module loading to confirm import-tree usage and no manual sibling imports. - Scan
modules/for aspect-oriented exports and consistent class coverage (nixos,darwin,homeManager,nixvim). - Validate host and image registration under
flake.modules.nixos."hosts/<id>"or"iso/<id>"and the shared loader wiring. - Confirm perSystem outputs stay under
perSystemand avoid per-host package definitions. - Check for
specialArgsusage that should be replaced by let bindings or flake-parts options. - For shared/community trees, validate Dendrix conventions (
modules/community,privateinfix,+flagpaths).
Validation checklist
flake.nixis minimal and imports./modulesvia import-tree once.- Each
.nixfile is a flake-parts module; no direct sibling imports. - Aspects remain feature-centric, not host-centric, across configuration classes.
- Host metadata and flags flow through
hostConfigor similar context records. - perSystem outputs live only under
perSystemfor architecture-specific logic. - Files ignored by
import-tree(/_in path) are treated as intentionally excluded.
References
- @docs/agents/dendritic-core.md
- https://vic.github.io/dendrix/Dendritic.html
Safety
- Never modify files unless requested; report issues with file paths and suggested fixes first.