proagents 1.6.20 → 1.6.22

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 (136) hide show
  1. package/.claude/settings.local.json +3 -1
  2. package/.proagents/.cursorrules +1 -1
  3. package/.proagents/.windsurfrules +1 -1
  4. package/.proagents/AGENTS.md +1 -1
  5. package/.proagents/AI_INSTRUCTIONS.md +29 -1
  6. package/.proagents/BOLT.md +1 -1
  7. package/.proagents/CLAUDE.md +1 -1
  8. package/.proagents/GEMINI.md +1 -1
  9. package/.proagents/KIRO.md +1 -1
  10. package/.proagents/LOVABLE.md +1 -1
  11. package/.proagents/REPLIT.md +1 -1
  12. package/.proagents/custom-commands.yaml +1 -2
  13. package/.proagents/docs/command-details.md +1 -2
  14. package/.proagents/getting-started/ai-training-setup.md +0 -1
  15. package/.proagents/performance/README.md +59 -0
  16. package/.proagents/performance/bundle-analysis.md +375 -0
  17. package/.proagents/performance/load-testing.md +563 -0
  18. package/.proagents/performance/runtime-metrics.md +489 -0
  19. package/.proagents/performance/web-vitals.md +425 -0
  20. package/.proagents/proagents.config.yaml +55 -1
  21. package/.proagents/prompts/11-session-tracking.md +100 -0
  22. package/.proagents/prompts/13-commit.md +426 -0
  23. package/.proagents/workflow-modes/entry-modes.md +1 -6
  24. package/COMMANDS.md +19 -0
  25. package/lib/commands/init.js +62 -11
  26. package/package.json +1 -1
  27. package/.proagents/api-versioning/README.md +0 -257
  28. package/.proagents/api-versioning/changelog-template.md +0 -225
  29. package/.proagents/api-versioning/deprecation-workflow.md +0 -470
  30. package/.proagents/api-versioning/versioning-strategy.md +0 -291
  31. package/.proagents/automation/README.md +0 -38
  32. package/.proagents/automation/ai-behavior-rules.md +0 -339
  33. package/.proagents/automation/ai-prompt-injection.md +0 -331
  34. package/.proagents/automation/auto-decisions.md +0 -535
  35. package/.proagents/automation/decision-defaults.yaml +0 -317
  36. package/.proagents/cache/README.md +0 -110
  37. package/.proagents/cache/analysis-metadata.json +0 -76
  38. package/.proagents/cache/conventions.json +0 -125
  39. package/.proagents/cache/dependencies.json +0 -85
  40. package/.proagents/cache/features.json +0 -115
  41. package/.proagents/cache/patterns.json +0 -105
  42. package/.proagents/cache/schemas/conventions-schema.json +0 -138
  43. package/.proagents/cache/schemas/dependencies-schema.json +0 -95
  44. package/.proagents/cache/schemas/features-schema.json +0 -104
  45. package/.proagents/cache/schemas/metadata-schema.json +0 -83
  46. package/.proagents/cache/schemas/patterns-schema.json +0 -136
  47. package/.proagents/cache/schemas/structure-schema.json +0 -72
  48. package/.proagents/cache/structure.json +0 -109
  49. package/.proagents/checklists/README.md +0 -261
  50. package/.proagents/checklists/code-quality.md +0 -137
  51. package/.proagents/checklists/code-review.md +0 -148
  52. package/.proagents/checklists/pr-checklist.md +0 -78
  53. package/.proagents/checklists/pre-deployment.md +0 -132
  54. package/.proagents/checklists/pre-implementation.md +0 -80
  55. package/.proagents/checklists/testing.md +0 -120
  56. package/.proagents/checkpoints.json +0 -13
  57. package/.proagents/cicd/README.md +0 -338
  58. package/.proagents/cicd/azure-devops.md +0 -267
  59. package/.proagents/cicd/github-actions.md +0 -375
  60. package/.proagents/cicd/gitlab-ci.md +0 -278
  61. package/.proagents/cicd/jenkins.md +0 -317
  62. package/.proagents/collaboration/README.md +0 -143
  63. package/.proagents/collaboration/roles.md +0 -248
  64. package/.proagents/collaboration/sessions.md +0 -390
  65. package/.proagents/collaboration/sync.md +0 -358
  66. package/.proagents/cost/README.md +0 -48
  67. package/.proagents/cost/cost-template.md +0 -283
  68. package/.proagents/cost/estimation-framework.md +0 -287
  69. package/.proagents/database/README.md +0 -72
  70. package/.proagents/database/examples/001-create-users.sql +0 -129
  71. package/.proagents/database/examples/002-add-preferences.sql +0 -94
  72. package/.proagents/database/examples/003-add-index.sql +0 -105
  73. package/.proagents/database/examples/004-rename-column.sql +0 -122
  74. package/.proagents/database/examples/005-add-foreign-key.sql +0 -142
  75. package/.proagents/database/examples/006-data-migration.sql +0 -196
  76. package/.proagents/database/examples/007-drop-column.sql +0 -163
  77. package/.proagents/database/examples/README.md +0 -89
  78. package/.proagents/database/migration-workflow.md +0 -478
  79. package/.proagents/database/rollback-scripts.md +0 -487
  80. package/.proagents/database/safety-checks.md +0 -447
  81. package/.proagents/git/README.md +0 -68
  82. package/.proagents/git/branch-strategy.md +0 -164
  83. package/.proagents/git/commit-conventions.md +0 -241
  84. package/.proagents/git/pr-workflow.md +0 -286
  85. package/.proagents/git/rollback-procedures.md +0 -416
  86. package/.proagents/ide-integration/README.md +0 -124
  87. package/.proagents/ide-integration/cline-config.md +0 -429
  88. package/.proagents/ide-integration/continue-config.md +0 -380
  89. package/.proagents/ide-integration/cursor-rules.md +0 -280
  90. package/.proagents/ide-integration/github-copilot.md +0 -384
  91. package/.proagents/ide-integration/windsurf-rules.md +0 -314
  92. package/.proagents/integrations/README.md +0 -97
  93. package/.proagents/integrations/pm/README.md +0 -344
  94. package/.proagents/learning/README.md +0 -136
  95. package/.proagents/learning/adaptation.md +0 -305
  96. package/.proagents/learning/data-collection.md +0 -283
  97. package/.proagents/learning/implementation-guide.md +0 -865
  98. package/.proagents/learning/reports.md +0 -306
  99. package/.proagents/mcp/README.md +0 -133
  100. package/.proagents/mcp/context-providers.md +0 -442
  101. package/.proagents/mcp/server-config.md +0 -306
  102. package/.proagents/mcp/tools-definition.md +0 -513
  103. package/.proagents/pm-integration/README.md +0 -151
  104. package/.proagents/pm-integration/asana.md +0 -346
  105. package/.proagents/pm-integration/github-issues.md +0 -308
  106. package/.proagents/pm-integration/gitlab-issues.md +0 -482
  107. package/.proagents/pm-integration/jira.md +0 -364
  108. package/.proagents/pm-integration/linear.md +0 -409
  109. package/.proagents/pm-integration/notion.md +0 -275
  110. package/.proagents/pm-integration/sync-config.md +0 -533
  111. package/.proagents/pm-integration/trello.md +0 -159
  112. package/.proagents/rules/README.md +0 -179
  113. package/.proagents/rules/custom-rules-template.yaml +0 -286
  114. package/.proagents/rules/custom-rules.md +0 -754
  115. package/.proagents/rules/validation-rules-template.yaml +0 -517
  116. package/.proagents/runbooks/README.md +0 -219
  117. package/.proagents/runbooks/dependency-vulnerability.md +0 -505
  118. package/.proagents/runbooks/incident-response.md +0 -451
  119. package/.proagents/runbooks/performance-degradation.md +0 -584
  120. package/.proagents/runbooks/production-debugging.md +0 -489
  121. package/.proagents/sessions/README.md +0 -5
  122. package/.proagents/sprints/README.md +0 -58
  123. package/.proagents/team/README.md +0 -256
  124. package/.proagents/team/code-ownership.md +0 -306
  125. package/.proagents/team/communication-templates.md +0 -441
  126. package/.proagents/team/handoff-protocol.md +0 -380
  127. package/.proagents/team/ide-setup/README.md +0 -103
  128. package/.proagents/team/ide-setup/cursor.md +0 -276
  129. package/.proagents/team/ide-setup/jetbrains.md +0 -330
  130. package/.proagents/team/ide-setup/neovim.md +0 -640
  131. package/.proagents/team/ide-setup/vscode.md +0 -348
  132. package/.proagents/team/onboarding.md +0 -278
  133. package/.proagents/time-tracking.json +0 -19
  134. package/.proagents/troubleshooting/README.md +0 -730
  135. package/.proagents/troubleshooting/ai-issues.md +0 -601
  136. package/.proagents/troubleshooting/workflow-issues.md +0 -571
@@ -1,179 +0,0 @@
1
- # Custom Rules System
2
-
3
- Define and enforce project-specific rules.
4
-
5
- ---
6
-
7
- ## Overview
8
-
9
- The rules system allows you to define custom validation rules that are enforced during development. Rules can check:
10
-
11
- - Naming conventions
12
- - File structure
13
- - Code patterns
14
- - Security practices
15
- - Testing requirements
16
- - Performance best practices
17
- - Accessibility standards
18
-
19
- ---
20
-
21
- ## Quick Start
22
-
23
- ### 1. Create Rules File
24
-
25
- Create `proagents/rules/custom-rules.yaml`:
26
-
27
- ```yaml
28
- naming_rules:
29
- - id: "component-naming"
30
- pattern: "^[A-Z][a-zA-Z]*$"
31
- applies_to: "**/*.tsx"
32
- message: "Components must be PascalCase"
33
- severity: "error"
34
- ```
35
-
36
- ### 2. Enable Rules
37
-
38
- In `proagents.config.yaml`:
39
-
40
- ```yaml
41
- rules:
42
- enabled: true
43
- config_file: ".proagents/rules/custom-rules.yaml"
44
- fail_on_error: true
45
- ```
46
-
47
- ### 3. Run Validation
48
-
49
- ```bash
50
- pa:rules-check # Check all rules
51
- pa:rules-check --fix # Auto-fix where possible
52
- ```
53
-
54
- ---
55
-
56
- ## Rule Types
57
-
58
- ### Naming Rules
59
- Enforce naming conventions for files, variables, and functions.
60
-
61
- ```yaml
62
- naming_rules:
63
- - id: "hook-prefix"
64
- type: "naming"
65
- pattern: "^use[A-Z]"
66
- applies_to: "**/hooks/**/*.ts"
67
- message: "Hooks must start with 'use'"
68
- ```
69
-
70
- ### Structure Rules
71
- Enforce file organization and imports.
72
-
73
- ```yaml
74
- structure_rules:
75
- - id: "no-deep-imports"
76
- type: "structure"
77
- rule: "No imports from more than 2 levels deep"
78
- pattern: "from ['\"]\\.\\..*\\.\\."
79
- message: "Use path aliases for deep imports"
80
- ```
81
-
82
- ### Pattern Rules
83
- Detect or require specific code patterns.
84
-
85
- ```yaml
86
- pattern_rules:
87
- - id: "no-console"
88
- type: "pattern"
89
- pattern: "console\\.log"
90
- applies_to: "src/**/*.ts"
91
- exclude: ["**/*.test.ts"]
92
- message: "Remove console.log statements"
93
- ```
94
-
95
- ### Security Rules
96
- Enforce security best practices.
97
-
98
- ```yaml
99
- security_rules:
100
- - id: "no-eval"
101
- type: "security"
102
- pattern: "\\beval\\("
103
- message: "eval() is a security risk"
104
- severity: "error"
105
- ```
106
-
107
- ### Testing Rules
108
- Ensure adequate test coverage.
109
-
110
- ```yaml
111
- testing_rules:
112
- - id: "test-coverage"
113
- type: "coverage"
114
- minimum: 80
115
- applies_to: "src/**/*.ts"
116
- message: "Coverage must be at least 80%"
117
- ```
118
-
119
- ---
120
-
121
- ## Severity Levels
122
-
123
- | Level | Behavior |
124
- |-------|----------|
125
- | `error` | Blocks commits/builds |
126
- | `warning` | Shows warning, allows proceed |
127
- | `info` | Informational only |
128
- | `off` | Rule disabled |
129
-
130
- ---
131
-
132
- ## Configuration Options
133
-
134
- ```yaml
135
- configuration:
136
- global:
137
- fail_on_error: true
138
- fail_on_warning: false
139
- auto_fix_enabled: true
140
-
141
- overrides:
142
- - path: "src/legacy/**"
143
- rules:
144
- some-rule: "off"
145
-
146
- ignore:
147
- - "node_modules/**"
148
- - "dist/**"
149
- ```
150
-
151
- ---
152
-
153
- ## Files
154
-
155
- | File | Description |
156
- |------|-------------|
157
- | `README.md` | This file |
158
- | `custom-rules.md` | Complete custom rules documentation |
159
- | `custom-rules-template.yaml` | Full template with all rule types |
160
-
161
- ---
162
-
163
- ## Related Documentation
164
-
165
- | File | Description |
166
- |------|-------------|
167
- | `../standards/override-system.md` | Override hierarchy and configuration |
168
- | `../standards/architecture-patterns.md` | Architecture pattern definitions |
169
-
170
- ---
171
-
172
- ## Commands
173
-
174
- | Command | Description |
175
- |---------|-------------|
176
- | `pa:rules-check` | Run rule validation |
177
- | `pa:rules-list` | List all active rules |
178
- | `pa:rules-add` | Add new rule |
179
- | `pa:rules-disable [id]` | Disable a rule |
@@ -1,286 +0,0 @@
1
- # Custom Rules Template
2
- # Define project-specific rules for code validation and enforcement
3
-
4
- # =============================================================================
5
- # NAMING RULES
6
- # =============================================================================
7
- naming_rules:
8
- # Component naming
9
- - id: "component-naming"
10
- type: "naming"
11
- pattern: "^[A-Z][a-zA-Z]*$"
12
- applies_to: "**/*.tsx"
13
- exclude: ["**/*.test.tsx", "**/index.tsx"]
14
- message: "Component names must be PascalCase"
15
- severity: "error" # error | warning | info
16
-
17
- # Hook naming
18
- - id: "hook-naming"
19
- type: "naming"
20
- pattern: "^use[A-Z][a-zA-Z]*$"
21
- applies_to: "**/hooks/**/*.ts"
22
- message: "Hooks must start with 'use' prefix"
23
- severity: "error"
24
-
25
- # Service naming
26
- - id: "service-naming"
27
- type: "naming"
28
- pattern: "^[a-z][a-zA-Z]*Service$"
29
- applies_to: "**/services/**/*.ts"
30
- message: "Services should end with 'Service' suffix"
31
- severity: "warning"
32
-
33
- # Constant naming
34
- - id: "constant-naming"
35
- type: "naming"
36
- pattern: "^[A-Z][A-Z0-9_]*$"
37
- applies_to: "**/constants/**/*.ts"
38
- message: "Constants must be UPPER_SNAKE_CASE"
39
- severity: "warning"
40
-
41
- # =============================================================================
42
- # FILE STRUCTURE RULES
43
- # =============================================================================
44
- structure_rules:
45
- # Components must be in components folder
46
- - id: "component-location"
47
- type: "structure"
48
- rule: "Components (*.tsx with JSX) must be in src/components/ or src/pages/"
49
- applies_to: "**/*.tsx"
50
- allowed_paths:
51
- - "src/components/**"
52
- - "src/pages/**"
53
- - "src/features/**/components/**"
54
- message: "React components should be in designated component directories"
55
- severity: "warning"
56
-
57
- # Services must be in services folder
58
- - id: "service-location"
59
- type: "structure"
60
- rule: "Service files must be in src/services/"
61
- applies_to: "**/*Service.ts"
62
- allowed_paths:
63
- - "src/services/**"
64
- message: "Service files should be in src/services/"
65
- severity: "warning"
66
-
67
- # No business logic in components
68
- - id: "no-logic-in-components"
69
- type: "structure"
70
- rule: "Components should not import directly from services"
71
- pattern: "import.*from.*services"
72
- applies_to: "src/components/**/*.tsx"
73
- message: "Use hooks to access services, not direct imports"
74
- severity: "warning"
75
- suggestion: "Create a custom hook that wraps the service call"
76
-
77
- # =============================================================================
78
- # CODE PATTERN RULES
79
- # =============================================================================
80
- pattern_rules:
81
- # Require error boundary for pages
82
- - id: "page-error-boundary"
83
- type: "pattern"
84
- condition: "file in src/pages/**/*.tsx"
85
- requires: "ErrorBoundary wrapper or error.tsx file"
86
- message: "Page components should have error handling"
87
- severity: "warning"
88
-
89
- # No console.log in production code
90
- - id: "no-console-log"
91
- type: "pattern"
92
- pattern: "console\\.(log|debug|info)"
93
- applies_to: "src/**/*.{ts,tsx}"
94
- exclude: ["**/*.test.ts", "**/*.test.tsx"]
95
- message: "Remove console statements before committing"
96
- severity: "warning"
97
- auto_fix: false
98
-
99
- # Require loading states
100
- - id: "require-loading-state"
101
- type: "pattern"
102
- condition: "component uses useQuery or useMutation"
103
- requires: "isLoading or isPending handling"
104
- message: "Async operations should handle loading states"
105
- severity: "warning"
106
-
107
- # Require error handling for async
108
- - id: "require-error-handling"
109
- type: "pattern"
110
- condition: "async function or Promise"
111
- requires: "try-catch or .catch()"
112
- message: "Async operations should have error handling"
113
- severity: "warning"
114
-
115
- # =============================================================================
116
- # TESTING RULES
117
- # =============================================================================
118
- testing_rules:
119
- # Components must have tests
120
- - id: "component-test-required"
121
- type: "testing"
122
- rule: "Every component must have a corresponding test file"
123
- applies_to: "src/components/**/*.tsx"
124
- requires: "{filename}.test.tsx"
125
- message: "Component is missing test file"
126
- severity: "warning"
127
-
128
- # Minimum test coverage
129
- - id: "min-coverage"
130
- type: "coverage"
131
- minimum: 80
132
- applies_to: "src/**/*.{ts,tsx}"
133
- exclude: ["**/*.d.ts", "**/types/**"]
134
- message: "Code coverage must be at least 80%"
135
- severity: "error"
136
-
137
- # Test naming convention
138
- - id: "test-naming"
139
- type: "testing"
140
- rule: "Test descriptions should be descriptive"
141
- pattern: "^(should|when|given|it)"
142
- applies_to: "**/*.test.{ts,tsx}"
143
- message: "Test descriptions should start with 'should', 'when', 'given', or 'it'"
144
- severity: "info"
145
-
146
- # =============================================================================
147
- # SECURITY RULES
148
- # =============================================================================
149
- security_rules:
150
- # No hardcoded secrets
151
- - id: "no-hardcoded-secrets"
152
- type: "security"
153
- patterns:
154
- - "api[_-]?key\\s*[:=]\\s*['\"][^'\"]+['\"]"
155
- - "password\\s*[:=]\\s*['\"][^'\"]+['\"]"
156
- - "secret\\s*[:=]\\s*['\"][^'\"]+['\"]"
157
- - "token\\s*[:=]\\s*['\"][^'\"]+['\"]"
158
- applies_to: "**/*.{ts,tsx,js,jsx}"
159
- exclude: ["**/*.test.*", "**/*.example.*"]
160
- message: "Potential hardcoded secret detected"
161
- severity: "error"
162
-
163
- # No innerHTML
164
- - id: "no-innerhtml"
165
- type: "security"
166
- pattern: "innerHTML|dangerouslySetInnerHTML"
167
- applies_to: "**/*.{tsx,jsx}"
168
- message: "Avoid innerHTML to prevent XSS vulnerabilities"
169
- severity: "warning"
170
- suggestion: "Use safe alternatives or sanitize input with DOMPurify"
171
-
172
- # Validate user input
173
- - id: "validate-user-input"
174
- type: "security"
175
- condition: "handling user input (forms, URL params)"
176
- requires: "input validation (zod, yup, or manual)"
177
- message: "User input should be validated"
178
- severity: "warning"
179
-
180
- # =============================================================================
181
- # PERFORMANCE RULES
182
- # =============================================================================
183
- performance_rules:
184
- # No unnecessary re-renders
185
- - id: "use-memo-for-expensive"
186
- type: "performance"
187
- condition: "expensive computation in render"
188
- requires: "useMemo wrapper"
189
- message: "Expensive computations should be memoized"
190
- severity: "info"
191
-
192
- # Lazy load routes
193
- - id: "lazy-load-routes"
194
- type: "performance"
195
- condition: "route component import"
196
- requires: "React.lazy() wrapper"
197
- applies_to: "**/router/**/*.tsx"
198
- message: "Route components should be lazy loaded"
199
- severity: "info"
200
-
201
- # Image optimization
202
- - id: "optimized-images"
203
- type: "performance"
204
- condition: "using <img> tag"
205
- requires: "next/image or optimized image component"
206
- message: "Use optimized image components"
207
- severity: "info"
208
-
209
- # =============================================================================
210
- # ACCESSIBILITY RULES
211
- # =============================================================================
212
- accessibility_rules:
213
- # Images need alt text
214
- - id: "img-alt-required"
215
- type: "accessibility"
216
- pattern: "<img(?![^>]*alt=)"
217
- applies_to: "**/*.{tsx,jsx}"
218
- message: "Images must have alt text"
219
- severity: "warning"
220
-
221
- # Buttons need accessible names
222
- - id: "button-accessible-name"
223
- type: "accessibility"
224
- condition: "<button> or Button component"
225
- requires: "text content or aria-label"
226
- message: "Buttons must have accessible names"
227
- severity: "warning"
228
-
229
- # Form inputs need labels
230
- - id: "input-label-required"
231
- type: "accessibility"
232
- condition: "<input> element"
233
- requires: "associated <label> or aria-label"
234
- message: "Form inputs must have labels"
235
- severity: "warning"
236
-
237
- # =============================================================================
238
- # CUSTOM PROJECT RULES
239
- # =============================================================================
240
- custom_rules:
241
- # Example: Require analytics on button clicks
242
- - id: "analytics-on-buttons"
243
- type: "custom"
244
- condition: "Button component with onClick"
245
- requires: "analytics.track() call"
246
- message: "Button clicks should be tracked"
247
- severity: "info"
248
- enabled: false # Enable if using analytics
249
-
250
- # Example: Require feature flags for new features
251
- - id: "feature-flag-required"
252
- type: "custom"
253
- condition: "new feature component"
254
- requires: "feature flag wrapper"
255
- message: "New features should be behind feature flags"
256
- severity: "info"
257
- enabled: false # Enable if using feature flags
258
-
259
- # =============================================================================
260
- # RULE CONFIGURATION
261
- # =============================================================================
262
- configuration:
263
- # Global settings
264
- global:
265
- fail_on_error: true
266
- fail_on_warning: false
267
- auto_fix_enabled: true
268
-
269
- # Rule overrides by path
270
- overrides:
271
- - path: "src/legacy/**"
272
- rules:
273
- component-naming: "off"
274
- no-console-log: "warning"
275
-
276
- - path: "scripts/**"
277
- rules:
278
- no-console-log: "off"
279
-
280
- # Ignore patterns
281
- ignore:
282
- - "node_modules/**"
283
- - "dist/**"
284
- - "build/**"
285
- - ".next/**"
286
- - "coverage/**"