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

3.2 KiB

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

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.