My dotfiles for Arch Linux
1# Agent Instructions for Chezmoi Dotfiles
2
3## Build & Test Commands
4- **Apply**: `chezmoi apply` (deploys changes to home directory).
5- **Diff**: `chezmoi diff` (previews changes; ALWAYS run this before applying).
6- **Add**: `chezmoi add ~/.config/<path>` (imports existing files).
7- **Test**: No automated tests. Verify changes by applying and checking application behavior.
8
9## Code Style & Conventions
10- **Structure**: Follow `chezmoi` conventions (`dot_` for hidden, `executable_` for scripts, `.tmpl` for templates).
11- **Lua (Neovim)**: Use tabs for indentation. Return tables for plugins. Follow LazyVim specs.
12- **Fish**: Use 4 spaces indentation. Guard interactive logic with `if status is-interactive`.
13- **Formatting**: Mimic existing file indentation (mostly 4 spaces, Lua uses tabs).
14- **Templating**: In `.tmpl` files, wrap Go template logic in `{{ ... }}`.
15- **Imports**: Keep config minimal. Verify plugin/tool availability before adding config.
16- **Comments**: Explain *why* a specific hack/setting is needed.
17- **Safety**: Use absolute paths. Read files before editing to preserve context.