diff options
| -rw-r--r-- | KEYBINDS.md | 444 | ||||
| -rw-r--r-- | README.md | 1 | ||||
| -rw-r--r-- | dot_copilot/agents/code-reviewer.agent.md | 2 | ||||
| -rw-r--r-- | dot_copilot/agents/docs-writer.agent.md | 2 | ||||
| -rw-r--r-- | dot_copilot/agents/refactor.agent.md | 2 | ||||
| -rw-r--r-- | dot_copilot/copilot-instructions.md | 5 |
6 files changed, 233 insertions, 223 deletions
diff --git a/KEYBINDS.md b/KEYBINDS.md index 9820f3f..d2fabfb 100644 --- a/KEYBINDS.md +++ b/KEYBINDS.md @@ -8,51 +8,51 @@ Leader: `Space` | Local leader: `,` ### General (config/keymaps.lua) -| Mode | Key | Action | -|------|-----|--------| -| n | `Esc` | Clear search highlight | -| n | `gV` | Select last inserted text | -| n | `↓` / `↑` | Scroll viewport (C-e / C-y) | -| v | `p` | Paste without clobbering register | -| n | `,s` | Find and replace (whole file) | -| v | `,s` | Find and replace (selection) | -| n | `Space x` | Write all buffers | -| n | `Space z` | Write all and quit | -| n | `Space q` | Quit all | -| t | `Esc Esc` | Exit terminal mode | -| n | `[w` / `]w` | Prev/next warning+ diagnostic | -| n | `[e` / `]e` | Prev/next error diagnostic | -| n | `yp` | Yank current file path to clipboard | -| | `:DoasWrite` | Write file with doas privileges | +| Mode | Key | Action | +| ---- | ------------ | ----------------------------------- | +| n | `Esc` | Clear search highlight | +| n | `gV` | Select last inserted text | +| n | `↓` / `↑` | Scroll viewport (C-e / C-y) | +| v | `p` | Paste without clobbering register | +| n | `,s` | Find and replace (whole file) | +| v | `,s` | Find and replace (selection) | +| n | `Space x` | Write all buffers | +| n | `Space z` | Write all and quit | +| n | `Space q` | Quit all | +| t | `Esc Esc` | Exit terminal mode | +| n | `[w` / `]w` | Prev/next warning+ diagnostic | +| n | `[e` / `]e` | Prev/next error diagnostic | +| n | `yp` | Yank current file path to clipboard | +| | `:DoasWrite` | Write file with doas privileges | ### Navigation (plugins/init.lua) -| Mode | Key | Action | -|------|-----|--------| -| n | `Ctrl-h/j/k/l` | Move to split/zellij pane (smart-splits) | -| n | `Space ?` | Show buffer-local keymaps (which-key) | -| n | `Space tq` | Toggle quickfix | -| n | `Space tl` | Toggle loclist | -| qf | `>` / `<` | Expand/collapse quickfix context | +| Mode | Key | Action | +| ---- | -------------- | ---------------------------------------- | +| n | `Ctrl-h/j/k/l` | Move to split/zellij pane (smart-splits) | +| n | `Space ?` | Show buffer-local keymaps (which-key) | +| n | `Space tq` | Toggle quickfix | +| n | `Space tl` | Toggle loclist | +| qf | `>` / `<` | Expand/collapse quickfix context | ### Search (plugins/search.lua) -| Mode | Key | Action | -|------|-----|--------| -| n | `,b` | fzf-lua buffers | -| n | `,/` | fzf-lua live grep | -| n | `,f` | fzf-lua files | -| n | `Space Space` | fzf-lua global picker | -| n | `,d` | fzf-lua diagnostics | -| n | `,r` | fzf-lua resume | -| n | `,gc` | Git buffer commits | -| v | `,gc` | Git commits for selected range | -| n | `,gC` | Git all commits | -| n | `,gb` | Git branches | -| n | `,gs` | Git status | -| n | `,gS` | Git stash | -| fzf | `Alt-p` | Toggle preview | -| fzf | `Ctrl-x` | Open in horizontal split | +| Mode | Key | Action | +| ---- | ------------- | ------------------------------ | +| n | `,b` | fzf-lua buffers | +| n | `,/` | fzf-lua live grep | +| n | `,f` | fzf-lua files | +| n | `Space Space` | fzf-lua global picker | +| n | `,d` | fzf-lua diagnostics | +| n | `,r` | fzf-lua resume | +| n | `,gc` | Git buffer commits | +| v | `,gc` | Git commits for selected range | +| n | `,gC` | Git all commits | +| n | `,gb` | Git branches | +| n | `,gs` | Git status | +| n | `,gS` | Git stash | +| fzf | `Alt-p` | Toggle preview | +| fzf | `Ctrl-x` | Open in horizontal split | ### LSP (plugins/lsp.lua) @@ -60,152 +60,152 @@ Neovim 0.12 built-in defaults (not listed): `grn` rename, `grr` references, `gri` implementation, `gO` document symbols, `gra` code action, `grt` type def, `grx` codelens run, `Ctrl-S` (insert) signature help, `]d`/`[d` diagnostic nav. -| Mode | Key | Action | -|------|-----|--------| -| n | `Ctrl-]` | Goto definition (native) | -| n | `gD` | Goto declaration | -| n | `gd` | Goto definition (fzf-lua) | -| n | `gvd` / `gxd` / `gtd` | Definition in vsplit / hsplit / tab | -| n | `gvt` / `gxt` / `gtt` | Type definition in vsplit / hsplit / tab | -| n | `gri` | Implementation (fzf-lua override) | -| n | `grvi` / `grxi` / `grti` | Implementation in vsplit / hsplit / tab | -| n | `grr` | References (fzf-lua override) | -| n | `gvr` / `gxr` / `gtr` | References in vsplit / hsplit / tab | -| n | `Space ci` | Incoming calls | -| n | `Space co` | Outgoing calls | -| n | `gO` | Document symbols (fzf-lua override) | -| n | `Space ws` | Workspace symbols | -| n | `Space wd` | Workspace diagnostics | -| n | `Space th` | Toggle inlay hints | -| n,v | `Space f` | Format buffer (conform.nvim) | +| Mode | Key | Action | +| ---- | ------------------------ | ---------------------------------------- | +| n | `Ctrl-]` | Goto definition (native) | +| n | `gD` | Goto declaration | +| n | `gd` | Goto definition (fzf-lua) | +| n | `gvd` / `gxd` / `gtd` | Definition in vsplit / hsplit / tab | +| n | `gvt` / `gxt` / `gtt` | Type definition in vsplit / hsplit / tab | +| n | `gri` | Implementation (fzf-lua override) | +| n | `grvi` / `grxi` / `grti` | Implementation in vsplit / hsplit / tab | +| n | `grr` | References (fzf-lua override) | +| n | `gvr` / `gxr` / `gtr` | References in vsplit / hsplit / tab | +| n | `Space ci` | Incoming calls | +| n | `Space co` | Outgoing calls | +| n | `gO` | Document symbols (fzf-lua override) | +| n | `Space ws` | Workspace symbols | +| n | `Space wd` | Workspace diagnostics | +| n | `Space th` | Toggle inlay hints | +| n,v | `Space f` | Format buffer (conform.nvim) | ### Git (plugins/git.lua) -| Mode | Key | Action | -|------|-----|--------| -| n | `Space go` | Open Neogit | -| n,v | `Space gy` | Copy git permalink | -| n | `]c` / `[c` | Next/prev git change (or diff hunk) | -| n | `Space hs` | Stage hunk | -| n | `Space hr` | Reset hunk | -| v | `Space hs` | Stage hunk (visual) | -| v | `Space hr` | Reset hunk (visual) | -| n | `Space hS` | Stage buffer | -| n | `Space hR` | Reset buffer | -| n | `Space hp` | Preview hunk | -| n | `Space hb` | Blame line | -| n | `Space tb` | Toggle blame line | -| n | `Space hd` | Diff against index | -| n | `Space hD` | Diff against last commit | -| n | `Space hc` | Change base to index | -| n | `Space hC` | Change base to HEAD | -| n | `Space tgd` | Toggle inline deleted | -| n | `Space tgw` | Toggle word diff | -| n | `Space tgl` | Toggle line highlighting | -| o,x | `ih` | Git hunk text object | -| n | `]x` / `[x` | Next/prev git conflict | +| Mode | Key | Action | +| ---- | ----------- | ----------------------------------- | +| n | `Space go` | Open Neogit | +| n,v | `Space gy` | Copy git permalink | +| n | `]c` / `[c` | Next/prev git change (or diff hunk) | +| n | `Space hs` | Stage hunk | +| n | `Space hr` | Reset hunk | +| v | `Space hs` | Stage hunk (visual) | +| v | `Space hr` | Reset hunk (visual) | +| n | `Space hS` | Stage buffer | +| n | `Space hR` | Reset buffer | +| n | `Space hp` | Preview hunk | +| n | `Space hb` | Blame line | +| n | `Space tb` | Toggle blame line | +| n | `Space hd` | Diff against index | +| n | `Space hD` | Diff against last commit | +| n | `Space hc` | Change base to index | +| n | `Space hC` | Change base to HEAD | +| n | `Space tgd` | Toggle inline deleted | +| n | `Space tgw` | Toggle word diff | +| n | `Space tgl` | Toggle line highlighting | +| o,x | `ih` | Git hunk text object | +| n | `]x` / `[x` | Next/prev git conflict | ### Git Rebase (after/ftplugin/gitrebase.lua) -| Mode | Key | Action | -|------|-----|--------| -| n,v | `gc` | Cycle action | -| n,v | `gp` | Pick | -| n,v | `ge` | Edit | -| n,v | `gf` | Fixup | -| n,v | `gd` | Drop | -| n,v | `gs` | Squash | -| n,v | `gr` | Reword | +| Mode | Key | Action | +| ---- | ---- | ------------ | +| n,v | `gc` | Cycle action | +| n,v | `gp` | Pick | +| n,v | `ge` | Edit | +| n,v | `gf` | Fixup | +| n,v | `gd` | Drop | +| n,v | `gs` | Squash | +| n,v | `gr` | Reword | ### Editing (plugins/editing.lua) -| Mode | Key | Action | -|------|-----|--------| -| n | `Ctrl-a` / `Ctrl-x` | Increment / decrement (dial.nvim) | -| v | `Ctrl-a` / `Ctrl-x` | Increment / decrement (visual) | -| v | `g Ctrl-a` / `g Ctrl-x` | Sequential increment / decrement | -| x | `Space re` | Extract function | -| x | `Space rf` | Extract function to file | -| x | `Space rv` | Extract variable | -| n | `Space rI` | Inline function | -| n,x | `Space ri` | Inline variable | -| n | `Space rb` | Extract block | -| n | `Space rB` | Extract block to file | -| n | `Space rp` | Debug printf | -| n,x | `Space rV` | Debug print variable | -| n | `Space rc` | Cleanup debug statements | +| Mode | Key | Action | +| ---- | ----------------------- | --------------------------------- | +| n | `Ctrl-a` / `Ctrl-x` | Increment / decrement (dial.nvim) | +| v | `Ctrl-a` / `Ctrl-x` | Increment / decrement (visual) | +| v | `g Ctrl-a` / `g Ctrl-x` | Sequential increment / decrement | +| x | `Space re` | Extract function | +| x | `Space rf` | Extract function to file | +| x | `Space rv` | Extract variable | +| n | `Space rI` | Inline function | +| n,x | `Space ri` | Inline variable | +| n | `Space rb` | Extract block | +| n | `Space rB` | Extract block to file | +| n | `Space rp` | Debug printf | +| n,x | `Space rV` | Debug print variable | +| n | `Space rc` | Cleanup debug statements | ### Treesitter (plugins/treesitter.lua) -| Mode | Key | Action | -|------|-----|--------| -| n,v | `Alt-k` / `Alt-j` | Treewalker up / down | -| n,v | `Alt-h` / `Alt-l` | Treewalker left / right | -| n | `Shift-Alt-k` / `Shift-Alt-j` | Treewalker swap up / down | -| n | `Shift-Alt-h` / `Shift-Alt-l` | Treewalker swap left / right | +| Mode | Key | Action | +| ---- | ----------------------------- | ---------------------------- | +| n,v | `Alt-k` / `Alt-j` | Treewalker up / down | +| n,v | `Alt-h` / `Alt-l` | Treewalker left / right | +| n | `Shift-Alt-k` / `Shift-Alt-j` | Treewalker swap up / down | +| n | `Shift-Alt-h` / `Shift-Alt-l` | Treewalker swap left / right | ### AI (plugins/ai.lua) -| Mode | Key | Action | -|------|-----|--------| -| n | `Space p` | Accept Copilot NES + goto end | -| n | `Esc` | Dismiss Copilot NES | -| i | `Ctrl-f` | Accept Copilot NES (insert mode) | -| n | `Space tc` | Toggle Copilot | +| Mode | Key | Action | +| ---- | ---------- | -------------------------------- | +| n | `Space p` | Accept Copilot NES + goto end | +| n | `Esc` | Dismiss Copilot NES | +| i | `Ctrl-f` | Accept Copilot NES (insert mode) | +| n | `Space tc` | Toggle Copilot | ### Completion (plugins/completion.lua) Uses blink.cmp `cmdline` preset defaults plus: -| Mode | Key | Action | -|------|-----|--------| -| i | `CR` | Accept completion | +| Mode | Key | Action | +| ---- | ---- | ----------------- | +| i | `CR` | Accept completion | ### Debug (plugins/debug.lua) -| Mode | Key | Action | -|------|-----|--------| -| n | `Space td` | Toggle debug mode (debugmaster) | +| Mode | Key | Action | +| ---- | ---------- | ------------------------------- | +| n | `Space td` | Toggle debug mode (debugmaster) | ### Runner (plugins/runner.lua) -| Mode | Key | Action | -|------|-----|--------| -| n | `Space to` | Toggle Overseer | -| n | `Space ob` | Build (just build, no prompt) | -| n | `Space oB` | Build (just build, with prompt) | -| n | `Space ot` | Test (just test, no prompt) | -| n | `Space oT` | Test (just test, with prompt) | -| n | `Space of` | Test current file (no prompt) | -| n | `Space oF` | Test current file (with prompt) | -| n | `Space od` | Debug test file (no prompt) | -| n | `Space oD` | Debug test file (with prompt) | -| n | `Space oa` | Autofix | -| n | `Space or` | Run task picker | -| n | `Space os` | Overseer shell | -| n | `Space ol` | Restart last task | +| Mode | Key | Action | +| ---- | ---------- | ------------------------------- | +| n | `Space to` | Toggle Overseer | +| n | `Space ob` | Build (just build, no prompt) | +| n | `Space oB` | Build (just build, with prompt) | +| n | `Space ot` | Test (just test, no prompt) | +| n | `Space oT` | Test (just test, with prompt) | +| n | `Space of` | Test current file (no prompt) | +| n | `Space oF` | Test current file (with prompt) | +| n | `Space od` | Debug test file (no prompt) | +| n | `Space oD` | Debug test file (with prompt) | +| n | `Space oa` | Autofix | +| n | `Space or` | Run task picker | +| n | `Space os` | Overseer shell | +| n | `Space ol` | Restart last task | ### Autocmds (config/autocmds.lua) -| Filetype | Key | Action | -|----------|-----|--------| +| Filetype | Key | Action | +| --------------------------- | --- | ------------ | | help, qf, checkhealth, etc. | `q` | Close buffer | ## Zellij All binds are in `shared_except "locked"` mode (active everywhere except locked mode). -| Key | Action | -|-----|--------| -| `Alt-1` through `Alt-9` | Go to tab N | -| `Alt-t` | New tab | -| `Alt-[` / `Alt-]` | Previous / next tab | -| `Alt-w` | Toggle pane fullscreen | -| `Alt-x` | Close focused pane | -| `Alt-e` | Edit scrollback | -| `Alt-q` | Detach session | -| `Alt--` / `Alt-=` | Resize decrease / increase | -| `Ctrl-h/j/k/l` | Move focus (vim-zellij-navigator) | +| Key | Action | +| ----------------------- | --------------------------------- | +| `Alt-1` through `Alt-9` | Go to tab N | +| `Alt-t` | New tab | +| `Alt-[` / `Alt-]` | Previous / next tab | +| `Alt-w` | Toggle pane fullscreen | +| `Alt-x` | Close focused pane | +| `Alt-e` | Edit scrollback | +| `Alt-q` | Detach session | +| `Alt--` / `Alt-=` | Resize decrease / increase | +| `Ctrl-h/j/k/l` | Move focus (vim-zellij-navigator) | ## Zsh @@ -213,78 +213,78 @@ Emacs mode (`bindkey -e`) is the base. ### Custom bindings (.zshrc) -| Key | Action | -|-----|--------| -| `Ctrl-U` | Backward kill line | -| `Ctrl-Right` | Forward word | -| `Ctrl-Left` | Backward word | -| `Alt-Right` | Forward word | -| `Alt-Left` | Backward word | -| `Ctrl-Backspace` | Backward kill word | -| `Ctrl-Delete` | Kill word | -| `Ctrl-Z` | Toggle foreground/background | -| `Ctrl-D` | Exit shell (even on non-empty line) | -| `Ctrl-X Ctrl-E` | Edit command in $EDITOR | -| `Ctrl-Y` | Copy command line to clipboard (OSC 52) | -| `.` | Smart dot expansion (.. → ../..) | -| `Shift-Tab` | Accept autosuggestion | -| `Up` / `Down` | History substring search | -| `Ctrl-R` | fzf history search (built-in) | -| `Ctrl-X Ctrl-R` | fzf history search + execute | -| `Ctrl-T` | fzf file picker (built-in) | -| `Alt-C` | fzf cd (built-in) | +| Key | Action | +| ---------------- | --------------------------------------- | +| `Ctrl-U` | Backward kill line | +| `Ctrl-Right` | Forward word | +| `Ctrl-Left` | Backward word | +| `Alt-Right` | Forward word | +| `Alt-Left` | Backward word | +| `Ctrl-Backspace` | Backward kill word | +| `Ctrl-Delete` | Kill word | +| `Ctrl-Z` | Toggle foreground/background | +| `Ctrl-D` | Exit shell (even on non-empty line) | +| `Ctrl-X Ctrl-E` | Edit command in $EDITOR | +| `Ctrl-Y` | Copy command line to clipboard (OSC 52) | +| `.` | Smart dot expansion (.. → ../..) | +| `Shift-Tab` | Accept autosuggestion | +| `Up` / `Down` | History substring search | +| `Ctrl-R` | fzf history search (built-in) | +| `Ctrl-X Ctrl-R` | fzf history search + execute | +| `Ctrl-T` | fzf file picker (built-in) | +| `Alt-C` | fzf cd (built-in) | ## Ghostty ### Unbound (disabled defaults) -| Key | Reason | -|-----|--------| -| `Ctrl-Shift-T` | Zellij handles tabs | -| `Ctrl-Shift-N` | Zellij handles panes | -| `Ctrl-Shift-O` | Unneeded | -| `Ctrl-Shift-Enter` | Zellij handles splits | -| `Ctrl-Shift-PageUp/Down` | Unneeded | +| Key | Reason | +| ------------------------ | --------------------- | +| `Ctrl-Shift-T` | Zellij handles tabs | +| `Ctrl-Shift-N` | Zellij handles panes | +| `Ctrl-Shift-O` | Unneeded | +| `Ctrl-Shift-Enter` | Zellij handles splits | +| `Ctrl-Shift-PageUp/Down` | Unneeded | ### Custom bindings -| Key | Action | -|-----|--------| -| `Ctrl-Shift-Up` / `Ctrl-Shift-Down` | Scroll one line up / down | -| `Ctrl-Shift-u` | Copy URL under cursor to clipboard | -| `Alt-u` | Scroll page up | -| `Alt-d` | Scroll page down | -| `Alt-g` | Scroll to top | -| `Alt-Shift-g` | Scroll to bottom | +| Key | Action | +| ----------------------------------- | ---------------------------------- | +| `Ctrl-Shift-Up` / `Ctrl-Shift-Down` | Scroll one line up / down | +| `Ctrl-Shift-u` | Copy URL under cursor to clipboard | +| `Alt-u` | Scroll page up | +| `Alt-d` | Scroll page down | +| `Alt-g` | Scroll to top | +| `Alt-Shift-g` | Scroll to bottom | ## Yazi Only non-default keybinds listed. See `yazi --help` for built-in keys. -| Key | Action | -|-----|--------| -| `!` | Open shell here (blocking) | -| `g r` | Go to git root | -| `g .` | Go to dotfiles | -| `g x` | Go to doxfiles | -| `g s` | Go to sync | -| `g S` | Go to screenshots | +| Key | Action | +| ----- | -------------------------- | +| `!` | Open shell here (blocking) | +| `g r` | Go to git root | +| `g .` | Go to dotfiles | +| `g x` | Go to doxfiles | +| `g s` | Go to sync | +| `g S` | Go to screenshots | Shell: `y` function wraps yazi with cd-on-exit. ## Cross-tool Shared Keys -| Key | Neovim | Zellij | Zsh | Ghostty | Sway | -|-----|--------|--------|-----|---------|------| -| `Ctrl-h/j/k/l` | Split nav (smart-splits) | Pane nav (vim-zellij-navigator) | — | — | — | -| `Alt-h/j/k/l` | Treewalker nav | — | — | — | — | -| `Alt-1..9` | — | Go to tab N | — | — | — | -| `Alt-t` | — | New tab | — | — | — | -| `Alt-q` | — | Detach | — | — | — | -| `Alt-u` | — | — | — | Scroll page up | — | -| `Alt-d` | — | — | — | Scroll page down | — | -| `Super+h/j/k/l` | — | — | — | — | Focus direction | -| `Super+n` | — | — | — | — | Dismiss notification | +| Key | Neovim | Zellij | Zsh | Ghostty | Sway | +| --------------- | ------------------------ | ------------------------------- | --- | ---------------- | -------------------- | +| `Ctrl-h/j/k/l` | Split nav (smart-splits) | Pane nav (vim-zellij-navigator) | — | — | — | +| `Alt-h/j/k/l` | Treewalker nav | — | — | — | — | +| `Alt-1..9` | — | Go to tab N | — | — | — | +| `Alt-t` | — | New tab | — | — | — | +| `Alt-q` | — | Detach | — | — | — | +| `Alt-u` | — | — | — | Scroll page up | — | +| `Alt-d` | — | — | — | Scroll page down | — | +| `Super+h/j/k/l` | — | — | — | — | Focus direction | +| `Super+n` | — | — | — | — | Dismiss notification | ## Sway @@ -292,21 +292,21 @@ Mod key: `Super` (Mod4). Only personal additions beyond sway defaults listed. ### Personal keybinds (sway/config) -| Key | Action | -|-----|--------| -| `XF86AudioRaiseVolume` | Volume +5% | -| `XF86AudioLowerVolume` | Volume -5% | -| `XF86AudioMute` | Mute toggle | -| `Super+m` | Mic mute toggle | -| `Super+Shift+m` | Speaker mute toggle | -| `XF86AudioPlay` | Play/pause | -| `XF86AudioNext` | Next track | -| `XF86AudioPrev` | Previous track | -| `Print` | Region screenshot (grim+slurp) | -| `Shift+Print` | Full screenshot (grim) | -| `Super+Shift+s` | Lock screen + pause media | -| `Super+n` | Dismiss notification | -| `Super+Shift+n` | Dismiss all notifications | -| `Super+Tab` | Next workspace | -| `Super+Shift+Tab` | Previous workspace | -| `F7` | Toggle display mode (laptop-off/side-by-side) | +| Key | Action | +| ---------------------- | --------------------------------------------- | +| `XF86AudioRaiseVolume` | Volume +5% | +| `XF86AudioLowerVolume` | Volume -5% | +| `XF86AudioMute` | Mute toggle | +| `Super+m` | Mic mute toggle | +| `Super+Shift+m` | Speaker mute toggle | +| `XF86AudioPlay` | Play/pause | +| `XF86AudioNext` | Next track | +| `XF86AudioPrev` | Previous track | +| `Print` | Region screenshot (grim+slurp) | +| `Shift+Print` | Full screenshot (grim) | +| `Super+Shift+s` | Lock screen + pause media | +| `Super+n` | Dismiss notification | +| `Super+Shift+n` | Dismiss all notifications | +| `Super+Tab` | Next workspace | +| `Super+Shift+Tab` | Previous workspace | +| `F7` | Toggle display mode (laptop-off/side-by-side) | @@ -34,4 +34,3 @@ launches `create-efi`. chezmoi init --source ~/dotfiles chezmoi apply -v ``` - diff --git a/dot_copilot/agents/code-reviewer.agent.md b/dot_copilot/agents/code-reviewer.agent.md index 682db6d..9fef4ff 100644 --- a/dot_copilot/agents/code-reviewer.agent.md +++ b/dot_copilot/agents/code-reviewer.agent.md @@ -3,9 +3,11 @@ name: code-reviewer description: "Strict code reviewer focused on correctness, security, and performance" tools: [read, search, grep, glob, lsp] --- + You are a senior code reviewer. Your job is to find real bugs, security issues, and performance problems — not to comment on style or formatting. ## Rules + - Only flag issues that genuinely matter: bugs, logic errors, security vulnerabilities, race conditions, resource leaks, or performance regressions - Never comment on formatting, naming conventions, or trivial style preferences - If you find nothing significant, say so — don't manufacture feedback diff --git a/dot_copilot/agents/docs-writer.agent.md b/dot_copilot/agents/docs-writer.agent.md index b08b494..ff2512c 100644 --- a/dot_copilot/agents/docs-writer.agent.md +++ b/dot_copilot/agents/docs-writer.agent.md @@ -3,9 +3,11 @@ name: docs-writer description: "Technical documentation writer for READMEs, changelogs, and API docs" tools: [read, search, grep, glob, bash] --- + You are a technical documentation specialist. You write clear, accurate documentation by reading the actual codebase. ## Rules + - Always read the code before writing docs — never guess at behavior - Use concrete code examples, not abstract descriptions - Keep language direct and scannable — use headers, tables, and bullet points diff --git a/dot_copilot/agents/refactor.agent.md b/dot_copilot/agents/refactor.agent.md index 3b8c55b..4dae8fa 100644 --- a/dot_copilot/agents/refactor.agent.md +++ b/dot_copilot/agents/refactor.agent.md @@ -3,9 +3,11 @@ name: refactor description: "Large-scale refactoring specialist with safety-first approach" tools: [read, search, grep, glob, edit, lsp, bash] --- + You are a refactoring specialist. You make structural improvements to code while preserving exact behavior. ## Rules + - Before any refactoring, understand the existing behavior by reading tests and call sites - Use LSP (go-to-definition, find-references, rename) for precise refactoring — never guess at symbol usage - Make changes incrementally: one logical change per commit diff --git a/dot_copilot/copilot-instructions.md b/dot_copilot/copilot-instructions.md index 3b72650..9466ea3 100644 --- a/dot_copilot/copilot-instructions.md +++ b/dot_copilot/copilot-instructions.md @@ -1,6 +1,7 @@ # Global Copilot Instructions ## About me + - I prefer concise, no-fluff responses — skip obvious explanations - I value correctness over speed — take time to get it right @@ -9,6 +10,7 @@ Act as a senior software engineer. Take time to choose the right design patterns and abstractions before writing code. Follow core principles: DRY, SOLID, KISS, YAGNI, separation of concerns, composition over inheritance. Always practice TDD with the Red-Green-Refactor cycle: + 1. Write a failing test first (Red) 2. Write the minimum code to make it pass (Green) 3. Refactor while keeping tests green (Refactor) @@ -16,10 +18,12 @@ Always practice TDD with the Red-Green-Refactor cycle: Test coverage must be maintained or improved, never reduced. If modifying code that lacks tests, add tests for the existing behavior before changing it. ## Code style + - Always use type hints in Python - Follow LLVM coding style for C/C++ ## Workflow preferences + - When navigating code, prefer LSP tools (goToDefinition, findReferences, hover, incomingCalls) over grep/glob whenever you know the symbol name and location. Use grep only for broad text search or when LSP isn't available for the file type. - Prefer parallel execution when safe - Show diffs before committing @@ -36,6 +40,7 @@ When writing external documentation, prose, guides, blogs, emails, cover letters When I ask for a plaintext document (cover letter, email, message draft, reply), use absolutely NO markdown formatting. No headers, no bold, no backticks, no bullet points. Plain text only. ## Communication + - When explaining trade-offs, use tables - When there are multiple approaches, recommend the best one and explain why - Don't ask for permission to proceed on obvious next steps |
