Add CLAUDE.md and update Doom Emacs config

- Add CLAUDE.md for Claude Code guidance
- Update gptel config to use Claude Sonnet 4 with key from ~/.secrets/claude_key
- Update elfeed filters to exclude -wait tag
- Enable terraform module in init.el
- Update org agenda files for 2026
- Fix org-hugo link rendering for vanilla Markdown

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Shawn Borton 2026-02-21 13:43:50 -06:00
parent c0186c8b7e
commit 5594248f21
3 changed files with 105 additions and 14 deletions

53
CLAUDE.md Normal file
View file

@ -0,0 +1,53 @@
# CLAUDE.md
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
## Repository Purpose
Personal dotfiles repository for Shawn Borton's development environment. Configs for Doom Emacs, Vim, Bash, and tmux — primarily targeting Linux (Arch Linux systems: archie, peregrine) with some historical macOS artifacts.
## File Overview
| File | Purpose |
|------|---------|
| `config.el` | Primary Doom Emacs private config (keybindings, UI, packages config) |
| `init.el` | Doom Emacs module selection |
| `packages.el` | Additional Doom Emacs package declarations |
| `.vimrc` | Vim config with vim-plug plugin manager |
| `.bash_profile` | Shell aliases, prompt, NVM setup |
| `.tmux.conf` | tmux keybindings and status bar |
## Doom Emacs Workflow
After editing `config.el`, `init.el`, or `packages.el`:
```bash
doom sync # Sync packages and modules (required after packages.el changes)
doom reload # Reload config without restarting (for config.el/init.el changes)
```
## Key Conventions
**Doom Emacs:**
- Uses Evil mode with `jk` as the escape sequence
- Leader key bindings are defined in `config.el` under `map!` blocks
- Custom packages are declared in `packages.el` using `package!` with optional `:recipe` for git sources
- Modules are toggled in `init.el` with flags like `(python +lsp +pyright +tree-sitter)`
- Fonts: JetBrains Mono (14pt) for fixed-pitch, Overpass Nerd Font (18pt) for variable-pitch
- Theme: `doom-oceanic-next`
**Vim:**
- Plugin manager: vim-plug (auto-installs to `~/.vim/autoload/plug.vim` on first run)
- Run `:PlugInstall` after adding new plugins to `.vimrc`
**tmux:**
- Prefix is `C-a` (not the default `C-b`)
- Reload config with `C-a r`
## Notable Integrations in config.el
- **Elfeed** (RSS): Connects to a self-hosted Fever API at `rss.onionpatch.cloud`; feeds are tagged and filtered with custom keybindings under the leader key
- **Pocket**: Integrated with elfeed for article saving via `pocket-reader`
- **gptel / chatgpt-shell**: LLM/ChatGPT integration packages declared in `packages.el`
- **org-roam**: Unpinned in `packages.el` for a custom version; roam2 module enabled in `init.el`
- **Dired**: Custom `h`/`l` navigation keys; Thunar integration for GUI file manager