Skip to content

aitchwhy/dotfiles

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

2,007 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Dotfiles

Declarative system configuration for macOS via Nix Flakes.

Quick Start

# One command to rule them all
darwin-rebuild switch --flake ~/dotfiles

This single command:

  1. Rebuilds nix-darwin system configuration
  2. Applies Home Manager user configuration
  3. Generates Quality System artifacts (skills, personas, memories)
  4. Symlinks Claude Code/Desktop config
  5. Validates all checks pass

Architecture

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                           Nix Flakes                                    β”‚
β”‚  flake.nix β†’ flake/                                                     β”‚
β”‚  β”œβ”€β”€ darwin.nix      (macOS system config)                             β”‚
β”‚  β”œβ”€β”€ home.nix        (user environment)                                β”‚
β”‚  └── checks.nix      (CI validation)                                   β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                                    β”‚
                         darwin-rebuild switch
                                    β”‚
                                    β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                        Quality System                                   β”‚
β”‚  config/quality/src/                                                    β”‚
β”‚  β”œβ”€β”€ memories/     (17 engineering patterns)                           β”‚
β”‚  β”œβ”€β”€ critic-mode/  (5 metacognitive behaviors)                         β”‚
β”‚  β”œβ”€β”€ skills/       (9 domain skills)                                   β”‚
β”‚  β”œβ”€β”€ personas/     (6 AI personas)                                     β”‚
β”‚  β”œβ”€β”€ rules/        (12 AST-based rules)                                β”‚
β”‚  β”œβ”€β”€ stack/        (frozen versions SSOT)                              β”‚
β”‚  └── hooks/        (PARAGON enforcement)                               β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                                    β”‚
                           bun run generate
                                    β”‚
                                    β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                        Generated Output                                 β”‚
β”‚  config/quality/generated/                                              β”‚
β”‚  β”œβ”€β”€ memories.md       (canonical engineering knowledge)               β”‚
β”‚  β”œβ”€β”€ critic-mode.md    (self-review protocol)                          β”‚
β”‚  β”œβ”€β”€ settings.json     (Claude Code settings)                          β”‚
β”‚  β”œβ”€β”€ skills/           (SKILL.md files)                                β”‚
β”‚  └── personas/         (persona.md files)                              β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                                    β”‚
                          Home Manager symlinks
                                    β”‚
                                    β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                         Runtime Config                                  β”‚
β”‚  ~/.claude/                                                             β”‚
β”‚  β”œβ”€β”€ settings.json β†’ generated/settings.json                           β”‚
β”‚  β”œβ”€β”€ skills/       β†’ generated/skills/                                 β”‚
β”‚  └── agents/       β†’ generated/personas/                               β”‚
β”‚                                                                         β”‚
β”‚  ~/.config/claude/mcp-servers.json  (12 MCP servers)                   β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Quality System

The Quality System is a TypeScript-based code quality framework that generates Claude Code configuration from a single source of truth.

Components

Component Count Description
Memories 17 Engineering patterns (principles, constraints, patterns, gotchas)
Critic Behaviors 5 Metacognitive protocols (3 planning, 2 execution)
Skills 9 Domain expertise (Effect-TS, testing, observability, etc.)
Personas 6 AI agent configurations (effect-architect, debugger, etc.)
Rules 12 AST-based code validation (no-any, no-try-catch, etc.)

PARAGON Guards

49 quality guards enforced at multiple layers:

Layer Mechanism
Claude PreToolUse hooks (paragon-guard.ts)
Git pre-commit hooks (git-hooks.nix)
CI GitHub Actions (paragon-check.yml)

Blocking guards: bash safety, conventional commits, forbidden files/imports, any type, z.infer, no-mock, TDD, DevOps files/commands, assumption language

MCP Servers

6 Model Context Protocol servers configured (optimized Jan 2026):

Server Purpose
ref SOTA documentation search (60-95% fewer tokens)
exa Code context search across repos
github GitHub API integration
playwright Browser automation
ast-grep AST-based code search
repomix Codebase packaging for AI

Development

# Run Quality System tests
cd config/quality && bun test

# Regenerate artifacts
cd config/quality && bun run generate

# Full validation
cd config/quality && bun run validate

# Check Nix flake
nix flake check

# Rebuild system
darwin-rebuild switch --flake ~/dotfiles

Directory Structure

~/dotfiles/
β”œβ”€β”€ flake.nix              # Nix flake entry point
β”œβ”€β”€ flake/                  # Flake modules
β”‚   β”œβ”€β”€ darwin.nix         # macOS system config
β”‚   β”œβ”€β”€ home.nix           # User environment
β”‚   └── checks.nix         # CI validation
β”œβ”€β”€ modules/               # Nix modules
β”‚   β”œβ”€β”€ darwin/            # nix-darwin modules
β”‚   └── home/              # Home Manager modules
β”œβ”€β”€ config/                # Configuration sources
β”‚   β”œβ”€β”€ quality/           # Quality System (TypeScript)
β”‚   └── agents/            # Claude Code agent configs
└── .github/workflows/     # CI workflows

Conventions

  • TypeScript types are SSOT: Define Effect Schema first, derive types via Schema.Type
  • Result types for errors: Never throw, use Effect<A, E, R> or Either<A, E>
  • Parse at boundaries: Schema.decodeUnknown at entry points, trust types internally
  • Single source of truth: versions.ts for deps, ports.nix for ports
  • Conventional commits: type(scope): description

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •