Commit Graph

111 Commits

Author SHA1 Message Date
d5b67947f9 docs: establish domain model, MVI spec, and environment reference
Capture the design work for the NixOS migration before any implementation:

- .claude/CONTEXT.md: domain glossary (Host, Module, Skeleton, Auto-loader,
  Enable convention, unstable/stable overlay)
- .claude/adr/0001-sops-nix-for-secrets.md: secrets tooling decision
- .claude/spec/laptop-mvi.md: frozen minimum-viable-install spec for neogaia

- reference/: read-only snapshot of the current CachyOS configs (secrets and
  state excluded), plus ENVIRONMENT.md profiling the live environment to guide
  replication
2026-07-19 07:57:21 -04:00
42491d3dd0 Drop stale node path from fish_user_paths
Remove the persisted node-v24.18.0 bin entry from the universal
variable, completing the config.fish cleanup that stopped re-adding it.
2026-07-14 19:43:56 -04:00
a9cc1dc309 Guard rustup env sourcing
Only source ~/.cargo/env.fish when it exists, so the shell doesn't
error on machines without a rust toolchain installed.
2026-07-14 19:42:56 -04:00
1020865026 Adjust fish PATH entries
Prepend ~/.local/bin to fish_user_paths and drop the stale hardcoded
Pi node fish_add_path line from config.fish.
2026-07-14 19:42:51 -04:00
b4650c03b8 Remove the gitea skill
Superseded by the gitea-axi skill.
2026-07-14 19:42:44 -04:00
8d3915ad0e Enforce TDD in the implement flow
Add a PreToolUse hook that reminds the main agent not to author test
files directly, and change the implement skill to always use
test-driven-development rather than only where possible.
2026-07-14 19:42:39 -04:00
0046a87130 skill: Add skill to use tea-cli. 2026-07-13 18:54:23 -04:00
1ca5033bc8 claude: forbid PR attribution trailers, default to opus 2026-07-11 20:05:49 -04:00
aced50f67f skills: implement branches off main and opens a PR; TDD tests come from a sub-agent
implement: sync main and cut task-<NNNN>-<slug> before work, with
stop-and-ask guards for a dirty tree, a diverged main, and an unmerged
blocker. Replaces the no-commit rule with one commit, a push, and a PR
carrying the review's Risk block plus any unaddressed findings.

test-driven-development: every test is written by a general-purpose
sub-agent that never reads the implementation; the main agent writes the
code and never edits a test.
2026-07-11 20:05:44 -04:00
08ee0a2f59 chore: added node and cargo runtime 2026-07-11 08:22:12 -04:00
eee7c8190d claude: Add attention-bell hook so tmux flags Claude sessions needing input
Wire Stop and Notification hooks in ~/.claude/settings.json to a new
~/.claude/hooks/attention-bell.sh, which rings the terminal bell in the
session pane so tmux monitor-bell flags the background window.

The hook runs detached (no controlling tty), so it walks its process
ancestry to the claude process and writes the BEL to that pane tty.

Also replaces the dead settings.json symlink (pointed at a now-missing
~/wrk/claude path) with a real tracked file.
2026-07-10 22:48:28 -04:00
8c35889884 dotcli: Wrapper for VPN connection. 2026-07-10 10:13:15 -04:00
62109e993a dev: Configured Bun and Android Studio. 2026-07-09 08:56:50 -04:00
14f8618c0a skills: add instructions to prevent unsolicited implementations. 2026-07-09 08:53:05 -04:00
b8e91ee042 docs: Remove tree-sitter-cooklang mention. 2026-07-07 09:35:17 -04:00
d0364d5d9e kde: Keybind to kill windows. 2026-07-07 08:26:09 -04:00
00edf973fd docs: added specs about implementing cooklang.
Specifically proposing developing a tree-sitter grammer for cooklang,
not based on existing work, except for the official validation tests.
2026-07-07 08:18:09 -04:00
4af1e967ed kde: Add terminal shortcut 2026-07-06 23:30:50 -04:00
2f08adbfb7 nvim: QoL plugins 2026-07-06 19:13:01 -04:00
3732ccd4d8 chore: Change task numbering to decimal.
Hex doesn't sort nicely in the file system.
2026-07-06 16:50:24 -04:00
1fd8e7e773 dotcli: add dot setup folders (XDG short-name migration)
Adds a dot setup subcommand family (idempotent, re-runnable machine-setup
tasks) with a folders task that brings the 8 standard XDG user
directories under a fixed short-name convention (Desktop -> .desktop,
Documents -> doc, Downloads -> dwn, Music -> mus, Pictures -> pic,
Videos -> vid, Templates/Public -> .ignoreme), hardcoded rather than read
from ~/.config/user-dirs.dirs -- that file is a separate, manually
tracked dotfile whose values can drift or go stale, and the migration
must not depend on it being correct. The nested Pictures/Screenshots
folder is renamed to pic/screenshots in the same pass.

Content left behind in a legacy full-named folder by a fresh XDG-defaults
install -- empty or not -- is merged into its short-named replacement.
A same-named collision between a legacy folder and its target is never
overwritten: it is skipped, reported, and the legacy folder is left in
place rather than deleted while something in it could not be merged.
--dry-run previews what would move/skip without touching the filesystem.
xdg-user-dirs-update runs once afterward to notify running apps/portals.
2026-07-06 16:31:35 -04:00
540928f24f chore: Fix task numbering not using hex. 2026-07-06 13:34:26 -04:00
864d643da9 chore: Don't track __pycache__ 2026-07-05 22:37:01 -04:00
f15713d183 dotcli: Enable shortcuts to be discovered by diff. 2026-07-05 22:33:45 -04:00
537724989a dotcli: add shortcut identifiers to dot kde save completion
dot kde save's tab-completion only ever enumerated schema-backed
identifiers; kglobalshortcutsrc identifiers never showed up as
candidates despite being a fully supported mechanism. Enumerate them
live via kglobalaccel (allMainComponents/allActionsForComponent),
printed as a separate block after the schema-backed one, degrading
silently if the D-Bus session is unavailable.
2026-07-05 22:02:40 -04:00
ec43fb2e14 docs: KDE shortcut completion fix. 2026-07-05 21:55:27 -04:00
8d6ec10b74 dotcli: Add shortcuts mechanism to dot kde save/apply/diff
Dispatches kglobalshortcutsrc identifiers through the kglobalaccel D-Bus
service instead of the schema-backed or freeform rc-file paths. Verified
manually against the live session (per the spec's testing decision, this
mechanism is excluded from the automated suite); switched to the
shortcutKeys/defaultShortcutKeys/setShortcutKeys D-Bus methods after the
spec's originally-named shortcut/defaultShortcut/setShortcut proved to
return stale data on the live system. Moves Lock Session off Meta+L to
Meta+X as the real-world validation, tracked in the manifest and recorded
in keybindings.md.
2026-07-05 21:07:30 -04:00
00da6f1466 dotcli: add freeform mechanism to dot kde save/apply/diff
Read/write schema-less KDE settings (e.g. kxkbrc's Options= line)
directly via kreadconfig6/kwriteconfig6, with default defined as the
key being absent. diff only checks freeform entries already declared
in the manifest, never via undeclared broad scan.

Brings the machine's caps-lock/Escape swap under tracking as the
real-world validation case.
2026-07-05 20:41:15 -04:00
8570826927 dotcli: Add dot kde diff for schema-backed settings, fix apply/diff completions
Implements the broad, read-only schema-backed scan for dot kde diff:
walks every (rcfile, group, key) reachable through the kcfg mapping
table, compares live values against their schema-declared defaults,
and reports each mismatch tagged declared or undeclared. Never writes.

Also fixes dot kde completions, which only ever offered save/help —
apply (added in a prior task) and diff were both missing.
2026-07-05 20:24:15 -04:00
272866c7e5 docs: Proposal for an nvim step to help setup. 2026-07-05 20:09:50 -04:00
f7b9f1b251 dotcli: Implement dot kde apply for schema-backed settings
Pushes every manifest entry's declared value onto the live system via
kwriteconfig6, idempotently. Non-schema (shortcuts/freeform) entries are
rejected as not-yet-supported, deferred to later tasks.
2026-07-05 20:08:44 -04:00
c28029681d chore: Installed on Zeus
Removed .config/dot/.tmp from tracking: it was an empty 0-byte file
that had been committed by accident on another machine and was never
meant to be part of the repo.

Recorded fish_variables as it stands after first boot on this machine:
fish stamped __fish_initialized with its own version marker
(bootstrap bookkeeping, not user config) alongside the already-tracked
pure prompt theme, done plugin settings, and fisher plugin
registration.
2026-07-05 19:43:35 -04:00
ae4ec34822 docs: specs for Gitea integration. 2026-07-05 18:52:18 -04:00
0614e0ebe6 dotcli: Add dot kde save with schema-backed defaults and completion.
Introduces the dot kde subcommand family (fish dispatcher plus a Python
helper under commands/kde/), a flat identifier=value manifest, and
dot kde save in both its explicit-identifier and no-argument refresh
modes. Settings resolve to KDE's KConfigXT schema-backed mechanism via a
(rcfile -> [kcfg files]) mapping table auto-derived by scanning the
system schema directory (overridable via DOT_KDE_KCFG_DIR), plus a
hand-maintained exceptions list for schemas that only declare their
target rc file at runtime. Also wires tab-completion for dot kde save
identifiers, sourced live from that same mapping table.
2026-07-05 18:33:55 -04:00
8ce46a7b98 dotcli: Support nested folder commands. 2026-07-05 17:52:03 -04:00
0d6f0d2fc9 docs: Add specs and tasks for previously scoped work in todo.md 2026-07-05 17:44:14 -04:00
b233fe41e7 skills: Add project-specific skill library. 2026-07-05 15:16:53 -04:00
47241b8421 skills: Add /improve-codebase 2026-07-05 14:47:06 -04:00
6f6f4204ee skills: Add a "change risk" axis to /review-uncommitted. 2026-07-05 14:29:16 -04:00
e606a09d2c skills: Add /review-uncommitted skill. 2026-07-05 14:18:44 -04:00
720eba8afb skills: Add /implement and dependencies.
This includes /test-driven-development and /codebase-design
2026-07-05 13:52:44 -04:00
28734f9777 skills: Add /to-tasks skill. 2026-07-05 13:01:26 -04:00
8aa3e8d62f skills: Add /to-spec skill. 2026-07-05 12:05:02 -04:00
d36b3340ca skills: Add /grill and /domain-modeling 2026-07-04 23:34:28 -04:00
42095c06e1 tmux: highlight window when a bell is received. 2026-07-04 23:13:51 -04:00
1a0c20181f docs: add section about voice dictation 2026-07-04 22:37:41 -04:00
c112bb174a claude: append corrections to a project's CLAUDE.md 2026-07-04 19:00:50 -04:00
6db7bb188f skill: added craft-skill
This is a meta skill to help create other skills.
Loosely based on Anthropic's create-skill.
2026-07-04 18:43:59 -04:00
8fcb6af306 nvim: in-line Markdown rendering 2026-07-04 18:02:20 -04:00
9a4263ce8b claude: General guidelines 2026-07-04 17:23:22 -04:00