From 0451252cb5fb1fc79059b0c5f49f55ec63fc129c Mon Sep 17 00:00:00 2001 From: Cal Corum Date: Sun, 1 Mar 2026 10:05:00 -0600 Subject: [PATCH] docs: document fish shell functions and tmux aliases in workstation context Add fish functions/aliases section covering tls, tma, tmn, cc helpers and config.fish abbreviations. Add fish/tmux keywords to CLAUDE.md context loading table. Co-Authored-By: Claude Opus 4.6 --- CLAUDE.md | 2 +- workstation/CONTEXT.md | 26 ++++++++++++++++++++++++++ 2 files changed, 27 insertions(+), 1 deletion(-) diff --git a/CLAUDE.md b/CLAUDE.md index 72cefd1..e5a441b 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -28,7 +28,7 @@ When a topic comes up, load `{tech}/CONTEXT.md` + `{tech}/troubleshooting.md`. F | server config, gitea config, infrastructure | `server-configs/` | | database, postgres, redis, sql | `databases/` | | backup, restic, snapshot, restore, retention | `backups/` | -| workstation, dotfiles, symlink, fish, starship, mangohud, zed | `workstation/` | +| workstation, dotfiles, symlink, fish, starship, mangohud, zed, fish config, fish alias, tmux alias | `workstation/` | | scheduled task, claude-scheduled, headless claude, timer, cowork | `~/.claude/skills/create-scheduled-task/SKILL.md` | **Special loads:** diff --git a/workstation/CONTEXT.md b/workstation/CONTEXT.md index 8ac9e47..ff8146a 100644 --- a/workstation/CONTEXT.md +++ b/workstation/CONTEXT.md @@ -49,6 +49,32 @@ Both scripts are idempotent. Cal migrated from zsh to **fish + starship** (Feb 2026). Bash and zsh configs are retained for compatibility but fish is the primary interactive shell. +## Fish Functions & Aliases + +Custom fish functions live in `~/dotfiles/fish/functions/` and are symlinked into `~/.config/fish/functions/`. Completions in `~/dotfiles/fish/completions/` → `~/.config/fish/completions/`. + +### Config file (`~/.config/fish/config.fish`) + +Abbreviations defined in `config.fish` (loaded interactively): +- `yolo` → `claude --dangerously-skip-permissions` +- `cddev` → `cd /mnt/NV2/Development` + +### Tmux helpers + +| Function | Usage | What it does | +|----------|-------|-------------| +| `tls` | `tls` | List tmux sessions (friendly "no sessions" message if none) | +| `tma` | `tma [name]` | Smart attach — auto-attaches if 1 session, lists if multiple, attaches to named session. Has tab completions for session names. | +| `tmn` | `tmn [name]` | Create new named session (defaults to current directory name) | +| `cc` | `cc [name]` | Launch Claude Code in a tmux session (named after directory). If already in tmux, creates/switches to a detached session. | + +### Adding a new fish function + +1. Create the function file in `~/dotfiles/fish/functions/` +2. Symlink it: `ln -s ~/dotfiles/fish/functions/myfunc.fish ~/.config/fish/functions/myfunc.fish` +3. Optionally add completions in `~/dotfiles/fish/completions/` +4. Commit and push the dotfiles repo + ## Systemd User Timers Timers running under `systemctl --user` on the workstation. Not tracked in dotfiles — managed by their respective projects.