A personal blog where I write about what I learn building and running web apps, code, and servers with AI — plus other things on my mind.
Syncing shell config and ~/.claude/CLAUDE.md across 3 Macs — office, home, and laptop — with chezmoi, while encrypting API keys and SSH private keys with age. Setup commands, pitfalls like encryption not configured and the PATH chicken-and-egg, plus the source-of-truth model.
Read moreWith a manual trigger and no main repo, GitHub Actions is over-engineering. Running the server's deploy.sh directly via ssh -t from Raycast, plus avoiding the maintenance-mode lockout with trap and the composer install pitfall.
Read moreA remote Ubuntu server + AI coding agent workflow. Why I ditched the local clone, tmux multi-sessions instead of the VS Code extension, and filling the image-input gap in a pure terminal with an ss sync + cc function.
Read more