proagents 1.6.19 → 1.6.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (143) hide show
  1. package/.claude/settings.local.json +13 -1
  2. package/.proagents/.cursorrules +25 -10
  3. package/.proagents/.windsurfrules +25 -10
  4. package/.proagents/AGENTS.md +30 -11
  5. package/.proagents/AI_INSTRUCTIONS.md +86 -30
  6. package/.proagents/BOLT.md +25 -10
  7. package/.proagents/CLAUDE.md +25 -10
  8. package/.proagents/GEMINI.md +25 -10
  9. package/.proagents/KIRO.md +25 -10
  10. package/.proagents/LOVABLE.md +25 -10
  11. package/.proagents/PROAGENTS.md +96 -343
  12. package/.proagents/REPLIT.md +25 -10
  13. package/.proagents/activity.log +1 -0
  14. package/.proagents/custom-commands.yaml +0 -1
  15. package/.proagents/docs/command-details.md +1 -2
  16. package/.proagents/getting-started/ai-training-setup.md +0 -1
  17. package/.proagents/performance/README.md +59 -0
  18. package/.proagents/performance/bundle-analysis.md +375 -0
  19. package/.proagents/performance/load-testing.md +563 -0
  20. package/.proagents/performance/runtime-metrics.md +489 -0
  21. package/.proagents/performance/web-vitals.md +425 -0
  22. package/.proagents/platforms.yaml +66 -0
  23. package/.proagents/proagents.config.yaml +0 -1
  24. package/.proagents/prompts/ai-add.md +80 -0
  25. package/.proagents/prompts/ai-list.md +41 -0
  26. package/.proagents/prompts/ai-remove.md +112 -0
  27. package/.proagents/prompts/ai-sync.md +96 -0
  28. package/.proagents/workflow-modes/entry-modes.md +1 -6
  29. package/lib/commands/ai.js +100 -48
  30. package/lib/commands/init.js +89 -22
  31. package/package.json +1 -1
  32. package/.proagents/ANTIGRAVITY.md +0 -61
  33. package/.proagents/CHATGPT.md +0 -57
  34. package/.proagents/GROQ.md +0 -57
  35. package/.proagents/api-versioning/README.md +0 -257
  36. package/.proagents/api-versioning/changelog-template.md +0 -225
  37. package/.proagents/api-versioning/deprecation-workflow.md +0 -470
  38. package/.proagents/api-versioning/versioning-strategy.md +0 -291
  39. package/.proagents/automation/README.md +0 -38
  40. package/.proagents/automation/ai-behavior-rules.md +0 -339
  41. package/.proagents/automation/ai-prompt-injection.md +0 -331
  42. package/.proagents/automation/auto-decisions.md +0 -535
  43. package/.proagents/automation/decision-defaults.yaml +0 -317
  44. package/.proagents/cache/README.md +0 -110
  45. package/.proagents/cache/analysis-metadata.json +0 -76
  46. package/.proagents/cache/conventions.json +0 -125
  47. package/.proagents/cache/dependencies.json +0 -85
  48. package/.proagents/cache/features.json +0 -115
  49. package/.proagents/cache/patterns.json +0 -105
  50. package/.proagents/cache/schemas/conventions-schema.json +0 -138
  51. package/.proagents/cache/schemas/dependencies-schema.json +0 -95
  52. package/.proagents/cache/schemas/features-schema.json +0 -104
  53. package/.proagents/cache/schemas/metadata-schema.json +0 -83
  54. package/.proagents/cache/schemas/patterns-schema.json +0 -136
  55. package/.proagents/cache/schemas/structure-schema.json +0 -72
  56. package/.proagents/cache/structure.json +0 -109
  57. package/.proagents/checklists/README.md +0 -261
  58. package/.proagents/checklists/code-quality.md +0 -137
  59. package/.proagents/checklists/code-review.md +0 -148
  60. package/.proagents/checklists/pr-checklist.md +0 -78
  61. package/.proagents/checklists/pre-deployment.md +0 -132
  62. package/.proagents/checklists/pre-implementation.md +0 -80
  63. package/.proagents/checklists/testing.md +0 -120
  64. package/.proagents/checkpoints.json +0 -13
  65. package/.proagents/cicd/README.md +0 -338
  66. package/.proagents/cicd/azure-devops.md +0 -267
  67. package/.proagents/cicd/github-actions.md +0 -375
  68. package/.proagents/cicd/gitlab-ci.md +0 -278
  69. package/.proagents/cicd/jenkins.md +0 -317
  70. package/.proagents/collaboration/README.md +0 -143
  71. package/.proagents/collaboration/roles.md +0 -248
  72. package/.proagents/collaboration/sessions.md +0 -390
  73. package/.proagents/collaboration/sync.md +0 -358
  74. package/.proagents/cost/README.md +0 -48
  75. package/.proagents/cost/cost-template.md +0 -283
  76. package/.proagents/cost/estimation-framework.md +0 -287
  77. package/.proagents/database/README.md +0 -72
  78. package/.proagents/database/examples/001-create-users.sql +0 -129
  79. package/.proagents/database/examples/002-add-preferences.sql +0 -94
  80. package/.proagents/database/examples/003-add-index.sql +0 -105
  81. package/.proagents/database/examples/004-rename-column.sql +0 -122
  82. package/.proagents/database/examples/005-add-foreign-key.sql +0 -142
  83. package/.proagents/database/examples/006-data-migration.sql +0 -196
  84. package/.proagents/database/examples/007-drop-column.sql +0 -163
  85. package/.proagents/database/examples/README.md +0 -89
  86. package/.proagents/database/migration-workflow.md +0 -478
  87. package/.proagents/database/rollback-scripts.md +0 -487
  88. package/.proagents/database/safety-checks.md +0 -447
  89. package/.proagents/git/README.md +0 -68
  90. package/.proagents/git/branch-strategy.md +0 -164
  91. package/.proagents/git/commit-conventions.md +0 -241
  92. package/.proagents/git/pr-workflow.md +0 -286
  93. package/.proagents/git/rollback-procedures.md +0 -416
  94. package/.proagents/ide-integration/README.md +0 -124
  95. package/.proagents/ide-integration/cline-config.md +0 -429
  96. package/.proagents/ide-integration/continue-config.md +0 -380
  97. package/.proagents/ide-integration/cursor-rules.md +0 -280
  98. package/.proagents/ide-integration/github-copilot.md +0 -384
  99. package/.proagents/ide-integration/windsurf-rules.md +0 -314
  100. package/.proagents/integrations/README.md +0 -97
  101. package/.proagents/integrations/pm/README.md +0 -344
  102. package/.proagents/learning/README.md +0 -136
  103. package/.proagents/learning/adaptation.md +0 -305
  104. package/.proagents/learning/data-collection.md +0 -283
  105. package/.proagents/learning/implementation-guide.md +0 -865
  106. package/.proagents/learning/reports.md +0 -306
  107. package/.proagents/mcp/README.md +0 -133
  108. package/.proagents/mcp/context-providers.md +0 -442
  109. package/.proagents/mcp/server-config.md +0 -306
  110. package/.proagents/mcp/tools-definition.md +0 -513
  111. package/.proagents/pm-integration/README.md +0 -151
  112. package/.proagents/pm-integration/asana.md +0 -346
  113. package/.proagents/pm-integration/github-issues.md +0 -308
  114. package/.proagents/pm-integration/gitlab-issues.md +0 -482
  115. package/.proagents/pm-integration/jira.md +0 -364
  116. package/.proagents/pm-integration/linear.md +0 -409
  117. package/.proagents/pm-integration/notion.md +0 -275
  118. package/.proagents/pm-integration/sync-config.md +0 -533
  119. package/.proagents/pm-integration/trello.md +0 -159
  120. package/.proagents/rules/README.md +0 -179
  121. package/.proagents/rules/custom-rules-template.yaml +0 -286
  122. package/.proagents/rules/custom-rules.md +0 -754
  123. package/.proagents/rules/validation-rules-template.yaml +0 -517
  124. package/.proagents/runbooks/README.md +0 -219
  125. package/.proagents/runbooks/dependency-vulnerability.md +0 -505
  126. package/.proagents/runbooks/incident-response.md +0 -451
  127. package/.proagents/runbooks/performance-degradation.md +0 -584
  128. package/.proagents/runbooks/production-debugging.md +0 -489
  129. package/.proagents/sprints/README.md +0 -58
  130. package/.proagents/team/README.md +0 -256
  131. package/.proagents/team/code-ownership.md +0 -306
  132. package/.proagents/team/communication-templates.md +0 -441
  133. package/.proagents/team/handoff-protocol.md +0 -380
  134. package/.proagents/team/ide-setup/README.md +0 -103
  135. package/.proagents/team/ide-setup/cursor.md +0 -276
  136. package/.proagents/team/ide-setup/jetbrains.md +0 -330
  137. package/.proagents/team/ide-setup/neovim.md +0 -640
  138. package/.proagents/team/ide-setup/vscode.md +0 -348
  139. package/.proagents/team/onboarding.md +0 -278
  140. package/.proagents/time-tracking.json +0 -19
  141. package/.proagents/troubleshooting/README.md +0 -730
  142. package/.proagents/troubleshooting/ai-issues.md +0 -601
  143. package/.proagents/troubleshooting/workflow-issues.md +0 -571
@@ -1,640 +0,0 @@
1
- # Neovim Setup Guide
2
-
3
- Configure Neovim for optimal ProAgents development.
4
-
5
- ---
6
-
7
- ## Overview
8
-
9
- Neovim provides a powerful, extensible environment for ProAgents workflows. This guide covers setup with modern Lua-based configuration using lazy.nvim or Packer.
10
-
11
- ---
12
-
13
- ## Prerequisites
14
-
15
- - Neovim 0.9+ (0.10+ recommended)
16
- - Node.js 18+ (for LSP servers)
17
- - ripgrep (for Telescope)
18
- - A Nerd Font (for icons)
19
-
20
- ```bash
21
- # macOS
22
- brew install neovim ripgrep fd
23
-
24
- # Ubuntu/Debian
25
- sudo apt install neovim ripgrep fd-find
26
-
27
- # Verify installation
28
- nvim --version
29
- ```
30
-
31
- ---
32
-
33
- ## Plugin Manager Setup
34
-
35
- ### Using lazy.nvim (Recommended)
36
-
37
- Create `~/.config/nvim/init.lua`:
38
-
39
- ```lua
40
- -- Bootstrap lazy.nvim
41
- local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
42
- if not vim.fn.isdirectory(lazypath) then
43
- vim.fn.system({
44
- "git", "clone", "--filter=blob:none",
45
- "https://github.com/folke/lazy.nvim.git",
46
- "--branch=stable", lazypath,
47
- })
48
- end
49
- vim.opt.rtp:prepend(lazypath)
50
-
51
- -- Leader key (set before lazy)
52
- vim.g.mapleader = " "
53
- vim.g.maplocalleader = " "
54
-
55
- -- Load plugins
56
- require("lazy").setup("plugins")
57
- ```
58
-
59
- ### Using Packer (Alternative)
60
-
61
- ```lua
62
- -- Bootstrap Packer
63
- local ensure_packer = function()
64
- local fn = vim.fn
65
- local install_path = fn.stdpath('data')..'/site/pack/packer/start/packer.nvim'
66
- if fn.empty(fn.glob(install_path)) > 0 then
67
- fn.system({'git', 'clone', '--depth', '1',
68
- 'https://github.com/wbthomason/packer.nvim', install_path})
69
- vim.cmd [[packadd packer.nvim]]
70
- return true
71
- end
72
- return false
73
- end
74
-
75
- local packer_bootstrap = ensure_packer()
76
-
77
- require('packer').startup(function(use)
78
- use 'wbthomason/packer.nvim'
79
- -- Add plugins here
80
- if packer_bootstrap then
81
- require('packer').sync()
82
- end
83
- end)
84
- ```
85
-
86
- ---
87
-
88
- ## Essential Plugins
89
-
90
- Create `~/.config/nvim/lua/plugins/init.lua`:
91
-
92
- ```lua
93
- return {
94
- -- Core
95
- { "nvim-lua/plenary.nvim" },
96
-
97
- -- File Explorer
98
- {
99
- "nvim-neo-tree/neo-tree.nvim",
100
- dependencies = {
101
- "nvim-lua/plenary.nvim",
102
- "nvim-tree/nvim-web-devicons",
103
- "MunifTanjim/nui.nvim",
104
- },
105
- config = function()
106
- require("neo-tree").setup({
107
- filesystem = {
108
- filtered_items = {
109
- hide_dotfiles = false,
110
- hide_gitignored = false,
111
- hide_by_name = { "node_modules", ".git" },
112
- },
113
- },
114
- })
115
- end,
116
- },
117
-
118
- -- Fuzzy Finder
119
- {
120
- "nvim-telescope/telescope.nvim",
121
- dependencies = {
122
- "nvim-lua/plenary.nvim",
123
- { "nvim-telescope/telescope-fzf-native.nvim", build = "make" },
124
- },
125
- config = function()
126
- local telescope = require("telescope")
127
- telescope.setup({
128
- defaults = {
129
- file_ignore_patterns = { "node_modules", ".git", ".next", "dist" },
130
- },
131
- })
132
- telescope.load_extension("fzf")
133
- end,
134
- },
135
-
136
- -- LSP
137
- {
138
- "neovim/nvim-lspconfig",
139
- dependencies = {
140
- "williamboman/mason.nvim",
141
- "williamboman/mason-lspconfig.nvim",
142
- },
143
- },
144
-
145
- -- Autocompletion
146
- {
147
- "hrsh7th/nvim-cmp",
148
- dependencies = {
149
- "hrsh7th/cmp-nvim-lsp",
150
- "hrsh7th/cmp-buffer",
151
- "hrsh7th/cmp-path",
152
- "L3MON4D3/LuaSnip",
153
- "saadparwaiz1/cmp_luasnip",
154
- },
155
- },
156
-
157
- -- Treesitter
158
- {
159
- "nvim-treesitter/nvim-treesitter",
160
- build = ":TSUpdate",
161
- config = function()
162
- require("nvim-treesitter.configs").setup({
163
- ensure_installed = {
164
- "typescript", "tsx", "javascript", "json",
165
- "html", "css", "lua", "markdown", "yaml",
166
- },
167
- highlight = { enable = true },
168
- indent = { enable = true },
169
- })
170
- end,
171
- },
172
-
173
- -- Formatting
174
- {
175
- "stevearc/conform.nvim",
176
- config = function()
177
- require("conform").setup({
178
- formatters_by_ft = {
179
- javascript = { "prettier" },
180
- typescript = { "prettier" },
181
- typescriptreact = { "prettier" },
182
- javascriptreact = { "prettier" },
183
- json = { "prettier" },
184
- css = { "prettier" },
185
- markdown = { "prettier" },
186
- },
187
- format_on_save = {
188
- timeout_ms = 500,
189
- lsp_fallback = true,
190
- },
191
- })
192
- end,
193
- },
194
-
195
- -- Linting
196
- {
197
- "mfussenegger/nvim-lint",
198
- config = function()
199
- require("lint").linters_by_ft = {
200
- javascript = { "eslint" },
201
- typescript = { "eslint" },
202
- typescriptreact = { "eslint" },
203
- javascriptreact = { "eslint" },
204
- }
205
- end,
206
- },
207
-
208
- -- Git
209
- {
210
- "lewis6991/gitsigns.nvim",
211
- config = function()
212
- require("gitsigns").setup()
213
- end,
214
- },
215
-
216
- -- Status Line
217
- {
218
- "nvim-lualine/lualine.nvim",
219
- config = function()
220
- require("lualine").setup({
221
- options = { theme = "auto" },
222
- })
223
- end,
224
- },
225
-
226
- -- Terminal
227
- {
228
- "akinsho/toggleterm.nvim",
229
- config = function()
230
- require("toggleterm").setup({
231
- open_mapping = [[<c-\>]],
232
- direction = "horizontal",
233
- size = 15,
234
- })
235
- end,
236
- },
237
-
238
- -- AI Integration (choose one)
239
- { "github/copilot.vim" },
240
- -- OR
241
- -- { "Exafunction/codeium.vim" },
242
-
243
- -- Which Key (keybinding helper)
244
- {
245
- "folke/which-key.nvim",
246
- config = function()
247
- require("which-key").setup()
248
- end,
249
- },
250
-
251
- -- Comments
252
- {
253
- "numToStr/Comment.nvim",
254
- config = function()
255
- require("Comment").setup()
256
- end,
257
- },
258
-
259
- -- Autopairs
260
- {
261
- "windwp/nvim-autopairs",
262
- config = function()
263
- require("nvim-autopairs").setup()
264
- end,
265
- },
266
- }
267
- ```
268
-
269
- ---
270
-
271
- ## LSP Configuration
272
-
273
- Create `~/.config/nvim/lua/plugins/lsp.lua`:
274
-
275
- ```lua
276
- return {
277
- {
278
- "williamboman/mason.nvim",
279
- config = function()
280
- require("mason").setup()
281
- end,
282
- },
283
- {
284
- "williamboman/mason-lspconfig.nvim",
285
- config = function()
286
- require("mason-lspconfig").setup({
287
- ensure_installed = {
288
- "tsserver", -- TypeScript
289
- "eslint", -- ESLint
290
- "tailwindcss", -- Tailwind CSS
291
- "lua_ls", -- Lua
292
- "jsonls", -- JSON
293
- "html", -- HTML
294
- "cssls", -- CSS
295
- },
296
- })
297
- end,
298
- },
299
- {
300
- "neovim/nvim-lspconfig",
301
- config = function()
302
- local lspconfig = require("lspconfig")
303
- local capabilities = require("cmp_nvim_lsp").default_capabilities()
304
-
305
- -- TypeScript
306
- lspconfig.tsserver.setup({
307
- capabilities = capabilities,
308
- on_attach = function(client, bufnr)
309
- -- Disable formatting (use Prettier instead)
310
- client.server_capabilities.documentFormattingProvider = false
311
- end,
312
- })
313
-
314
- -- ESLint
315
- lspconfig.eslint.setup({
316
- capabilities = capabilities,
317
- })
318
-
319
- -- Tailwind CSS
320
- lspconfig.tailwindcss.setup({
321
- capabilities = capabilities,
322
- })
323
-
324
- -- JSON
325
- lspconfig.jsonls.setup({
326
- capabilities = capabilities,
327
- })
328
- end,
329
- },
330
- }
331
- ```
332
-
333
- ---
334
-
335
- ## Autocompletion Configuration
336
-
337
- Create `~/.config/nvim/lua/plugins/cmp.lua`:
338
-
339
- ```lua
340
- return {
341
- {
342
- "hrsh7th/nvim-cmp",
343
- config = function()
344
- local cmp = require("cmp")
345
- local luasnip = require("luasnip")
346
-
347
- cmp.setup({
348
- snippet = {
349
- expand = function(args)
350
- luasnip.lsp_expand(args.body)
351
- end,
352
- },
353
- mapping = cmp.mapping.preset.insert({
354
- ["<C-b>"] = cmp.mapping.scroll_docs(-4),
355
- ["<C-f>"] = cmp.mapping.scroll_docs(4),
356
- ["<C-Space>"] = cmp.mapping.complete(),
357
- ["<C-e>"] = cmp.mapping.abort(),
358
- ["<CR>"] = cmp.mapping.confirm({ select = true }),
359
- ["<Tab>"] = cmp.mapping(function(fallback)
360
- if cmp.visible() then
361
- cmp.select_next_item()
362
- elseif luasnip.expand_or_jumpable() then
363
- luasnip.expand_or_jump()
364
- else
365
- fallback()
366
- end
367
- end, { "i", "s" }),
368
- ["<S-Tab>"] = cmp.mapping(function(fallback)
369
- if cmp.visible() then
370
- cmp.select_prev_item()
371
- elseif luasnip.jumpable(-1) then
372
- luasnip.jump(-1)
373
- else
374
- fallback()
375
- end
376
- end, { "i", "s" }),
377
- }),
378
- sources = cmp.config.sources({
379
- { name = "nvim_lsp" },
380
- { name = "luasnip" },
381
- { name = "buffer" },
382
- { name = "path" },
383
- }),
384
- })
385
- end,
386
- },
387
- }
388
- ```
389
-
390
- ---
391
-
392
- ## Key Mappings
393
-
394
- Create `~/.config/nvim/lua/config/keymaps.lua`:
395
-
396
- ```lua
397
- local keymap = vim.keymap.set
398
- local opts = { noremap = true, silent = true }
399
-
400
- -- General
401
- keymap("n", "<leader>w", ":w<CR>", { desc = "Save file" })
402
- keymap("n", "<leader>q", ":q<CR>", { desc = "Quit" })
403
- keymap("n", "<Esc>", ":noh<CR>", { desc = "Clear search" })
404
-
405
- -- File Explorer
406
- keymap("n", "<leader>e", ":Neotree toggle<CR>", { desc = "Toggle explorer" })
407
- keymap("n", "<leader>o", ":Neotree focus<CR>", { desc = "Focus explorer" })
408
-
409
- -- Telescope (Fuzzy Finding)
410
- keymap("n", "<leader>ff", ":Telescope find_files<CR>", { desc = "Find files" })
411
- keymap("n", "<leader>fg", ":Telescope live_grep<CR>", { desc = "Live grep" })
412
- keymap("n", "<leader>fb", ":Telescope buffers<CR>", { desc = "Find buffers" })
413
- keymap("n", "<leader>fh", ":Telescope help_tags<CR>", { desc = "Help tags" })
414
- keymap("n", "<leader>fr", ":Telescope oldfiles<CR>", { desc = "Recent files" })
415
- keymap("n", "<leader>fs", ":Telescope grep_string<CR>", { desc = "Grep string" })
416
-
417
- -- LSP
418
- keymap("n", "gd", vim.lsp.buf.definition, { desc = "Go to definition" })
419
- keymap("n", "gr", vim.lsp.buf.references, { desc = "Go to references" })
420
- keymap("n", "gi", vim.lsp.buf.implementation, { desc = "Go to implementation" })
421
- keymap("n", "K", vim.lsp.buf.hover, { desc = "Hover documentation" })
422
- keymap("n", "<leader>ca", vim.lsp.buf.code_action, { desc = "Code action" })
423
- keymap("n", "<leader>rn", vim.lsp.buf.rename, { desc = "Rename" })
424
- keymap("n", "<leader>d", vim.diagnostic.open_float, { desc = "Line diagnostics" })
425
- keymap("n", "[d", vim.diagnostic.goto_prev, { desc = "Previous diagnostic" })
426
- keymap("n", "]d", vim.diagnostic.goto_next, { desc = "Next diagnostic" })
427
-
428
- -- Formatting
429
- keymap("n", "<leader>fm", function()
430
- require("conform").format({ async = true, lsp_fallback = true })
431
- end, { desc = "Format file" })
432
-
433
- -- Git
434
- keymap("n", "<leader>gs", ":Telescope git_status<CR>", { desc = "Git status" })
435
- keymap("n", "<leader>gc", ":Telescope git_commits<CR>", { desc = "Git commits" })
436
- keymap("n", "<leader>gb", ":Telescope git_branches<CR>", { desc = "Git branches" })
437
-
438
- -- Terminal
439
- keymap("n", "<leader>tt", ":ToggleTerm<CR>", { desc = "Toggle terminal" })
440
- keymap("t", "<Esc>", [[<C-\><C-n>]], { desc = "Exit terminal mode" })
441
-
442
- -- Buffers
443
- keymap("n", "<S-h>", ":bprevious<CR>", { desc = "Previous buffer" })
444
- keymap("n", "<S-l>", ":bnext<CR>", { desc = "Next buffer" })
445
- keymap("n", "<leader>bd", ":bdelete<CR>", { desc = "Delete buffer" })
446
-
447
- -- Windows
448
- keymap("n", "<C-h>", "<C-w>h", { desc = "Move to left window" })
449
- keymap("n", "<C-j>", "<C-w>j", { desc = "Move to bottom window" })
450
- keymap("n", "<C-k>", "<C-w>k", { desc = "Move to top window" })
451
- keymap("n", "<C-l>", "<C-w>l", { desc = "Move to right window" })
452
-
453
- -- ProAgents Commands (via terminal)
454
- keymap("n", "<leader>ps", ":TermExec cmd='proagents status'<CR>", { desc = "ProAgents status" })
455
- keymap("n", "<leader>pf", ":TermExec cmd='proagents feature list'<CR>", { desc = "ProAgents features" })
456
- keymap("n", "<leader>pc", ":TermExec cmd='proagents checklist current'<CR>", { desc = "ProAgents checklist" })
457
- ```
458
-
459
- ---
460
-
461
- ## ProAgents Integration
462
-
463
- ### Custom Commands
464
-
465
- Add to your config:
466
-
467
- ```lua
468
- -- ProAgents custom commands
469
- vim.api.nvim_create_user_command("ProAgentsStatus", function()
470
- vim.cmd("TermExec cmd='proagents status'")
471
- end, { desc = "Show ProAgents status" })
472
-
473
- vim.api.nvim_create_user_command("ProAgentsFeature", function(opts)
474
- local cmd = "proagents feature " .. opts.args
475
- vim.cmd("TermExec cmd='" .. cmd .. "'")
476
- end, { nargs = "+", desc = "ProAgents feature command" })
477
-
478
- vim.api.nvim_create_user_command("ProAgentsAnalyze", function()
479
- vim.cmd("TermExec cmd='proagents analyze'")
480
- end, { desc = "Analyze codebase" })
481
-
482
- vim.api.nvim_create_user_command("ProAgentsChecklist", function(opts)
483
- local checklist = opts.args ~= "" and opts.args or "current"
484
- vim.cmd("TermExec cmd='proagents checklist " .. checklist .. "'")
485
- end, { nargs = "?", desc = "Run checklist" })
486
- ```
487
-
488
- ### Telescope Extension for ProAgents
489
-
490
- Create `~/.config/nvim/lua/plugins/proagents.lua`:
491
-
492
- ```lua
493
- -- ProAgents Telescope picker
494
- local pickers = require("telescope.pickers")
495
- local finders = require("telescope.finders")
496
- local conf = require("telescope.config").values
497
- local actions = require("telescope.actions")
498
- local action_state = require("telescope.actions.state")
499
-
500
- local proagents_commands = function(opts)
501
- opts = opts or {}
502
- pickers.new(opts, {
503
- prompt_title = "ProAgents Commands",
504
- finder = finders.new_table({
505
- results = {
506
- { "status", "Show workflow status" },
507
- { "feature list", "List active features" },
508
- { "feature start", "Start new feature" },
509
- { "analyze", "Analyze codebase" },
510
- { "checklist current", "Current phase checklist" },
511
- { "checklist pre-deployment", "Pre-deployment checklist" },
512
- { "doc", "Generate documentation" },
513
- { "test", "Run tests" },
514
- },
515
- entry_maker = function(entry)
516
- return {
517
- value = entry[1],
518
- display = entry[1] .. " - " .. entry[2],
519
- ordinal = entry[1],
520
- }
521
- end,
522
- }),
523
- sorter = conf.generic_sorter(opts),
524
- attach_mappings = function(prompt_bufnr, map)
525
- actions.select_default:replace(function()
526
- actions.close(prompt_bufnr)
527
- local selection = action_state.get_selected_entry()
528
- vim.cmd("TermExec cmd='proagents " .. selection.value .. "'")
529
- end)
530
- return true
531
- end,
532
- }):find()
533
- end
534
-
535
- -- Register command
536
- vim.api.nvim_create_user_command("ProAgents", proagents_commands, {})
537
- vim.keymap.set("n", "<leader>pa", proagents_commands, { desc = "ProAgents commands" })
538
- ```
539
-
540
- ---
541
-
542
- ## Editor Options
543
-
544
- Create `~/.config/nvim/lua/config/options.lua`:
545
-
546
- ```lua
547
- local opt = vim.opt
548
-
549
- -- Line numbers
550
- opt.number = true
551
- opt.relativenumber = true
552
-
553
- -- Tabs & Indentation
554
- opt.tabstop = 2
555
- opt.shiftwidth = 2
556
- opt.softtabstop = 2
557
- opt.expandtab = true
558
- opt.smartindent = true
559
-
560
- -- Line wrapping
561
- opt.wrap = false
562
-
563
- -- Search
564
- opt.ignorecase = true
565
- opt.smartcase = true
566
- opt.hlsearch = true
567
- opt.incsearch = true
568
-
569
- -- Appearance
570
- opt.termguicolors = true
571
- opt.signcolumn = "yes"
572
- opt.cursorline = true
573
- opt.scrolloff = 8
574
- opt.sidescrolloff = 8
575
-
576
- -- Behavior
577
- opt.splitright = true
578
- opt.splitbelow = true
579
- opt.clipboard = "unnamedplus"
580
- opt.undofile = true
581
- opt.updatetime = 250
582
- opt.timeoutlen = 300
583
-
584
- -- File handling
585
- opt.backup = false
586
- opt.swapfile = false
587
- opt.fileencoding = "utf-8"
588
- ```
589
-
590
- ---
591
-
592
- ## Troubleshooting
593
-
594
- ### LSP Not Working
595
-
596
- ```vim
597
- :LspInfo " Check LSP status
598
- :Mason " Check/install LSP servers
599
- :checkhealth lsp " Health check
600
- ```
601
-
602
- ### Treesitter Issues
603
-
604
- ```vim
605
- :TSUpdate " Update parsers
606
- :TSInstall <lang> " Install specific parser
607
- :checkhealth nvim-treesitter
608
- ```
609
-
610
- ### Plugin Issues
611
-
612
- ```vim
613
- :Lazy " Open plugin manager
614
- :Lazy sync " Sync plugins
615
- :Lazy clean " Remove unused plugins
616
- ```
617
-
618
- ### Performance
619
-
620
- ```vim
621
- :checkhealth " Full health check
622
- :StartupTime " Profile startup (with plugin)
623
- ```
624
-
625
- ---
626
-
627
- ## Quick Reference
628
-
629
- | Keybinding | Action |
630
- |------------|--------|
631
- | `<Space>ff` | Find files |
632
- | `<Space>fg` | Live grep |
633
- | `<Space>e` | Toggle file explorer |
634
- | `gd` | Go to definition |
635
- | `gr` | Find references |
636
- | `K` | Hover docs |
637
- | `<Space>ca` | Code actions |
638
- | `<Space>fm` | Format file |
639
- | `<Space>pa` | ProAgents commands |
640
- | `<C-\>` | Toggle terminal |