2.8 KiB
2.8 KiB
Global user preferences (applies to every project)
Environment
- Arch Linux, Wayland, fish shell, kitty terminal. Prefer fish-compatible syntax in shell snippets (not bash-isms) when writing things the user will run interactively. Clipboard is
wl-copy. - Package manager: pacman / yay. Common abbrs:
pacs,yays.
Local-first LLMs
- The user self-hosts models on the LAN at
192.168.0.204:- llama.cpp server —
http://192.168.0.204:11343/v1(OpenAI-compatible). - Ollama —
192.168.0.204:11434.
- llama.cpp server —
- The available models are the section names in
~/.dots/fl/.config/llamacpp/config.ini(the router's client model ids) — read that file rather than trusting any list written here; the roster changes often. When configuring any AI/agent tool, default to these endpoints rather than a cloud API unless asked otherwise.
Git
- Do not run
git commitorgit push, and never offer or ask to do the committing/pushing yourself — the user reviews and commits entirely manually (denied in settings.json and enforced by the~/.claude/hooks/git-guard.pyPreToolUse hook, which catchesgit -C … push-style spellings the prefix rules miss and also blocks history rewrites and working-tree discards —revert,cherry-pick,rebase,merge,resetthat moves HEAD or unstages everything,restore <paths>,checkout --,stash drop/pop/clear,branch -D— plusgh pr merge/create/close/edit; several sessions share this checkout, so never discard changes you did not make). Stage/prepare changes and stop there. You may suggest a commit message for the user to use, but nothing more. - To hand off a suggested commit message, feed it to
~/.config/git/claude-commit-msg saveafter staging (it records the staged paths with the message), as a quoted heredoc so quotes and backticks in the body survive:Never write~/.config/git/claude-commit-msg save <<'EOF' <message> EOFCLAUDE_COMMIT_MSGorCOMMIT_EDITMSGdirectly — several sessions share this checkout, and the single file got overwritten. Aprepare-commit-msghook prefills the nextgit commit/ lazygitCwith the message(s) whose recorded paths are part of that commit, then consumes them. Just the raw message, no#comments.claude-commit-msg listshows what is pending.
Formatting
- Lua: format with
stylua(2-space indent, 120 col, no call parentheses — see any.stylua.toml).
Dotfiles
- Configs live in the dots repo under
.config/and are surfaced via per-file symlinks (GNU Stow--no-folding; directories stay real) into~/.config/, and from there into~/.claude/by~/.config/claude/link.sh. Editing an existing file under the repo's.config/is editing the live config — no deploy step. A new file is not live until a re-stow creates its symlink (cd ~/.dots && ./install.sh), on each host.