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 <noreply@anthropic.com>
This commit is contained in:
Cal Corum 2026-03-01 10:05:00 -06:00
parent babf062d6a
commit 0451252cb5
2 changed files with 27 additions and 1 deletions

View File

@ -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:**

View File

@ -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.