diff --git a/CLAUDE.md b/CLAUDE.md index b32e396..3691b0d 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -37,9 +37,9 @@ git pushall # Push to all remotes ### Dotfile Management System The repository uses **symlink-based configuration deployment**. When `setup_env.sh` runs: -1. Each dotfile in `dotfiles/` is backed up if it exists (to `.backup`) -2. A symlink is created from `~/.` to the repository's `dotfiles/.` -3. This allows version control of configs while keeping them in their expected locations +1. `deploy_configs` symlinks each dotfile in `dotfiles/` to `~/.` (backing up any existing file) +2. `deploy_bin` symlinks every file in `dotfiles/bin/` to `~/.local/bin/` +3. This allows version control of configs and user-local scripts while keeping them in their expected locations **Critical Files:** - `dotfiles/.bashrc` - Main bash configuration with extensive aliases and functions @@ -50,6 +50,7 @@ The repository uses **symlink-based configuration deployment**. When `setup_env. - `dotfiles/.gitconfig` - Git configuration with custom log format and vimdiff - `dotfiles/.psqlrc` - PostgreSQL client configuration - `dotfiles/.pspgconf` - pspg (PostgreSQL pager) configuration +- `dotfiles/bin/td` - Python CLI for time-tracking markdown todos (see Time tracking section) ### Custom Bash Workflow @@ -83,13 +84,20 @@ General: - `gd` - git difftool - `gl` - Pretty git log with colors -**Todo tracking:** +**Todo grep aliases (rg-based):** - `td` - Find unchecked todo items using ripgrep - `tdp` - Find priority todos (with 🔼 or ⏫) - `tdtp` - Find top priority todos (⏫ only) - `tdo` - Open todo in nvim at exact line - `tdop` - Open priority todo in nvim at exact line +**Time tracking (functions wrapping `dotfiles/bin/td`):** +- `tstart ` - Start a timer on a task identified by a `^tid-*` block-ref +- `tstop` - Stop the running timer +- `treport [filter]` - Show totals per tid, filterable by tid or filename +- Wrappers use `command td` to bypass the `td` rg alias. The CLI writes one row per entry to `$TD_LOG` (default `./time.csv`, cwd-scoped). +- Companion nvim integration (in the separate `~/.config/nvim` repo) adds `ts/tp/tr` keymaps with auto-generated tids. + **Other useful aliases:** - `nv` - Launch Neovim from custom installation path - `cj` - Navigate to journal directory