This Stow-managed personal repository holds shell tooling, desktop applications, system setup, and AI-agent configuration. .local/, home/, and .config/ are packages installed into ~/.local, ~, and ~/.config; .stowrc deliberately disables Stow folding.
.local/bin/owns user executables.home/owns configuration, including Bash, SSH, Git, and agent files. Start shell changes athome/.profile,home/.bashrc, andhome/.bashrc.d/..config/owns application configuration. Neovim starts at.config/nvim/init.lua; compositor, terminal, and other desktop settings live beside it. Karabiner's installed JSON is generated frommisc/karabiner/karabiner.cue.misc/owns Arch, systemd, pacman-hook, and keyboard assets..pkgListis the Arch package manifest..devcontainer/defines the Arch development environment rather than the installed host configuration.home/.agents/skills/contains harness-independent skills. Pi-specific settings, prompts, themes, and skills belong inhome/.pi/agent/; do not put Pi-only material in the shared skill tree.home/.pi/agent/settings.jsonowns local Pi defaults and external package registrations.home/.pi/agent/extensions/is a strict TypeScript/NodeNext package. Root*.tsand feature*/index.tsfiles are extension entry points;_shared/supplies common support and**/tests/owns coverage.subagents/owns in-process child conversations, roles, profiles, and result recovery:ManagedAgentowns one PiAgentSessionand its current generation,AgentRegistryowns live/archive visibility, and native child session entries are the durable source for exact results. Children receive normal project resources and role tools but not subagent delegation; one-shot children close after settlement, while retained children permit follow-ups.plan/owns interview, approval, and active-plan mode.ask-question/andcodex-apply-patch/own their corresponding tools. The rootcaffeinate.ts,footer.ts, andmodel-shortcuts.tsentry points own small host-integration features.
just install restows the three user packages and links shared skills; it can change $HOME and enable the user ssh-agent. Justfile is the source for installation and host setup. GitHub Actions runs extension checks for extension changes and ShellCheck for all changes.
Within Pi extensions, session snapshots are authoritative for branch-local plan state; plan/store.ts writes durable mirrors under ~/.pi/agent/plans/. subagents/managed-agent.ts owns live session transitions, questions, and usage; subagents/result-store.ts indexes compact native-entry locators persisted in parent session results or settlement entries, enabling exact reads across restart. Role prompts in subagents/agents/ are separate from the runtime.
- For user commands or shell behavior, inspect
.local/bin/and thehome/shell file. - For an application or desktop change, begin under
.config/; follow related Colemak-DH mappings across affected applications. - For Karabiner changes, edit
misc/karabiner/karabiner.cue, then runjust karabiner-generateandjust karabiner-check. - For system provisioning or keymaps, begin at
misc/,.pkgList, and the matchingJustfilerecipe. Do not casually runjust linux-system, which makes privileged host changes. - For Pi behavior, begin at the relevant extension entry point and its tests. Run
just checkfor extension changes; usebash -n home/.bashrc home/.profilefor shell changes.
Keep tracked links as links: CLAUDE.md targets this file, home/.bash_profile targets .profile, and the Claude/Codex instruction links lead to home/.pi/agent/APPEND_SYSTEM.md. Extensions require Node 26+, pnpm, tabs, and oxfmt; Pi, Pi AI, and Pi TUI are pinned to 0.84.2. Keep the package manifest, lockfile, workspace policy, and codex-apply-patch grammar synchronized when upgrading those packages. That extension uses Pi's native grammar-tool support and replaces Pi's edit/write tools only for the openai-codex provider. Subagent children are one-shot leaves by default; retained children are the follow-up path. Colemak-DH navigation is coordinated across Nvim, tmux, Sail, keyd, Karabiner, Ghostty, and readline.
Keep this repository map current. When a change adds, removes, or relocates a major subsystem; changes an architectural boundary or source of truth; or introduces a critical repository-wide constraint, update AGENTS.md in the same commit. Do not record routine implementation details or file-level churn.