Adopt the convention that a Module's option path mirrors its directory under modules/, with an index file naming the directory's own segment. - Group agent Modules under modules.agents.*: claude-code (whole directory), pi (flattened to a file), skills (renamed from agent-skills), and gitea-axi under an agents/tools/ subgroup. The agents/ and tools/ folders are pure namespace prefixes with no aggregator enable. - Nest hypridle and hyprlock under modules.desktop.hyprland.*, with hyprland.nix as the index, and update the desktop aggregator. - Remove the obsolete example Module. - Record the convention in CONTEXT.md and ADR 0004, and update the neogaia host, the two live CLAUDE.md gotchas, and the skills Module's intentional Enable-convention exception comment.
11 lines
476 B
Markdown
11 lines
476 B
Markdown
# Refactor Candidates
|
|
|
|
After TDD cycle, look for:
|
|
|
|
- **Duplication** → Extract function/class
|
|
- **Long methods** → Break into private helpers (keep tests on public interface)
|
|
- **Shallow modules** → Combine or deepen — see DEEPENING.md in `/codebase-design` for dependency categories and seam discipline
|
|
- **Feature envy** → Move logic to where data lives
|
|
- **Primitive obsession** → Introduce value objects
|
|
- **Existing code** the new code reveals as problematic
|