claude-home/workstation/CONTEXT.md
Cal Corum 64f9662f25 docs: add scheduled tasks context and systemd timer inventory
Document the new claude-scheduled system in CLAUDE.md keyword table
and add a comprehensive systemd user timers section to workstation
CONTEXT.md covering both cognitive-memory and claude-scheduled timers.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-01 00:36:06 -06:00

77 lines
3.2 KiB
Markdown

# Workstation Configuration
## Dotfiles Repository
- **Repo**: `cal/dotfiles` (private) on `git.manticorum.com`
- **Local path**: `~/dotfiles/`
- **Strategy**: Symlink — configs live in the repo, symlinked to their expected system paths
### What's tracked
| Category | Repo path | System path |
|----------|-----------|-------------|
| Fish shell | `fish/config.fish` | `~/.config/fish/config.fish` |
| Starship prompt | `starship.toml` | `~/.config/starship.toml` |
| Git config | `git/.gitconfig` | `~/.gitconfig` |
| Git global ignore | `git/ignore` | `~/.config/git/ignore` |
| SSH config | `ssh/config` | `~/.ssh/config` |
| Bash | `shell/.bashrc`, `shell/.bash_profile` | `~/.bashrc`, `~/.bash_profile` |
| Zsh | `shell/.zshrc`, `shell/.zshenv` | `~/.zshrc`, `~/.zshenv` |
| MangoHud | `mangohud/MangoHud.conf` | `~/.config/MangoHud/MangoHud.conf` |
| Zed editor | `zed/settings.json` | `~/.config/zed/settings.json` |
| Restic excludes | `restic/excludes.txt` | `~/.config/restic/excludes.txt` |
| VS Code | `vscode/settings.json`, `vscode/keybindings.json` | `~/.config/Code/User/` |
### Secrets handling
API keys and tokens are **never** committed. Shell configs source secrets from separate untracked files:
- Bash: `~/.bash_secrets` (chmod 600)
- Zsh: `~/.zsh_secrets`
### Install / Uninstall
```bash
cd ~/dotfiles
./install.sh # Backs up originals to ~/.dotfiles-backup/, creates symlinks
./uninstall.sh # Replaces symlinks with standalone copies
```
Both scripts are idempotent.
### Adding a new config
1. Copy the file into the appropriate directory in `~/dotfiles/`
2. Add the mapping to the `LINKS` associative array in both `install.sh` and `uninstall.sh`
3. Run `./install.sh` to replace the original with a symlink
4. Commit and push
### Shell setup
Cal migrated from zsh to **fish + starship** (Feb 2026). Bash and zsh configs are retained for compatibility but fish is the primary interactive shell.
## Systemd User Timers
Timers running under `systemctl --user` on the workstation. Not tracked in dotfiles — managed by their respective projects.
### Cognitive Memory Maintenance
Source: `/mnt/NV2/Development/cognitive-memory/systemd/`
| Timer | Schedule | Purpose |
|-------|----------|---------|
| `cognitive-memory-embed.timer` | Hourly | Refresh embeddings (skips if unchanged) |
| `cognitive-memory-daily.timer` | Daily midnight | Decay scores + regenerate CORE.md + git sync |
| `cognitive-memory-weekly.timer` | Sun 02:00 | Reflect on recent memories |
### Claude Scheduled Tasks
Config: `~/.config/claude-scheduled/` | Skill: `~/.claude/skills/create-scheduled-task/SKILL.md`
| Timer | Schedule | Purpose |
|-------|----------|---------|
| `claude-scheduled@backlog-triage.timer` | Weekdays 09:15 | Triage open Gitea issues, prioritize, suggest focus |
Uses `claude-scheduled@.service` template unit. Add new tasks by creating a directory under `~/.config/claude-scheduled/tasks/` and a corresponding timer. See the skill for full instructions.
## Backups
Original files are backed up by `install.sh` to `~/.dotfiles-backup/<timestamp>/` before being replaced with symlinks. Multiple runs create separate timestamped backup dirs. Old backups can be cleaned up manually.