proagents 1.6.20 → 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 (121) hide show
  1. package/.proagents/custom-commands.yaml +0 -1
  2. package/.proagents/docs/command-details.md +1 -2
  3. package/.proagents/getting-started/ai-training-setup.md +0 -1
  4. package/.proagents/performance/README.md +59 -0
  5. package/.proagents/performance/bundle-analysis.md +375 -0
  6. package/.proagents/performance/load-testing.md +563 -0
  7. package/.proagents/performance/runtime-metrics.md +489 -0
  8. package/.proagents/performance/web-vitals.md +425 -0
  9. package/.proagents/proagents.config.yaml +0 -1
  10. package/.proagents/workflow-modes/entry-modes.md +1 -6
  11. package/lib/commands/init.js +57 -8
  12. package/package.json +1 -1
  13. package/.proagents/api-versioning/README.md +0 -257
  14. package/.proagents/api-versioning/changelog-template.md +0 -225
  15. package/.proagents/api-versioning/deprecation-workflow.md +0 -470
  16. package/.proagents/api-versioning/versioning-strategy.md +0 -291
  17. package/.proagents/automation/README.md +0 -38
  18. package/.proagents/automation/ai-behavior-rules.md +0 -339
  19. package/.proagents/automation/ai-prompt-injection.md +0 -331
  20. package/.proagents/automation/auto-decisions.md +0 -535
  21. package/.proagents/automation/decision-defaults.yaml +0 -317
  22. package/.proagents/cache/README.md +0 -110
  23. package/.proagents/cache/analysis-metadata.json +0 -76
  24. package/.proagents/cache/conventions.json +0 -125
  25. package/.proagents/cache/dependencies.json +0 -85
  26. package/.proagents/cache/features.json +0 -115
  27. package/.proagents/cache/patterns.json +0 -105
  28. package/.proagents/cache/schemas/conventions-schema.json +0 -138
  29. package/.proagents/cache/schemas/dependencies-schema.json +0 -95
  30. package/.proagents/cache/schemas/features-schema.json +0 -104
  31. package/.proagents/cache/schemas/metadata-schema.json +0 -83
  32. package/.proagents/cache/schemas/patterns-schema.json +0 -136
  33. package/.proagents/cache/schemas/structure-schema.json +0 -72
  34. package/.proagents/cache/structure.json +0 -109
  35. package/.proagents/checklists/README.md +0 -261
  36. package/.proagents/checklists/code-quality.md +0 -137
  37. package/.proagents/checklists/code-review.md +0 -148
  38. package/.proagents/checklists/pr-checklist.md +0 -78
  39. package/.proagents/checklists/pre-deployment.md +0 -132
  40. package/.proagents/checklists/pre-implementation.md +0 -80
  41. package/.proagents/checklists/testing.md +0 -120
  42. package/.proagents/checkpoints.json +0 -13
  43. package/.proagents/cicd/README.md +0 -338
  44. package/.proagents/cicd/azure-devops.md +0 -267
  45. package/.proagents/cicd/github-actions.md +0 -375
  46. package/.proagents/cicd/gitlab-ci.md +0 -278
  47. package/.proagents/cicd/jenkins.md +0 -317
  48. package/.proagents/collaboration/README.md +0 -143
  49. package/.proagents/collaboration/roles.md +0 -248
  50. package/.proagents/collaboration/sessions.md +0 -390
  51. package/.proagents/collaboration/sync.md +0 -358
  52. package/.proagents/cost/README.md +0 -48
  53. package/.proagents/cost/cost-template.md +0 -283
  54. package/.proagents/cost/estimation-framework.md +0 -287
  55. package/.proagents/database/README.md +0 -72
  56. package/.proagents/database/examples/001-create-users.sql +0 -129
  57. package/.proagents/database/examples/002-add-preferences.sql +0 -94
  58. package/.proagents/database/examples/003-add-index.sql +0 -105
  59. package/.proagents/database/examples/004-rename-column.sql +0 -122
  60. package/.proagents/database/examples/005-add-foreign-key.sql +0 -142
  61. package/.proagents/database/examples/006-data-migration.sql +0 -196
  62. package/.proagents/database/examples/007-drop-column.sql +0 -163
  63. package/.proagents/database/examples/README.md +0 -89
  64. package/.proagents/database/migration-workflow.md +0 -478
  65. package/.proagents/database/rollback-scripts.md +0 -487
  66. package/.proagents/database/safety-checks.md +0 -447
  67. package/.proagents/git/README.md +0 -68
  68. package/.proagents/git/branch-strategy.md +0 -164
  69. package/.proagents/git/commit-conventions.md +0 -241
  70. package/.proagents/git/pr-workflow.md +0 -286
  71. package/.proagents/git/rollback-procedures.md +0 -416
  72. package/.proagents/ide-integration/README.md +0 -124
  73. package/.proagents/ide-integration/cline-config.md +0 -429
  74. package/.proagents/ide-integration/continue-config.md +0 -380
  75. package/.proagents/ide-integration/cursor-rules.md +0 -280
  76. package/.proagents/ide-integration/github-copilot.md +0 -384
  77. package/.proagents/ide-integration/windsurf-rules.md +0 -314
  78. package/.proagents/integrations/README.md +0 -97
  79. package/.proagents/integrations/pm/README.md +0 -344
  80. package/.proagents/learning/README.md +0 -136
  81. package/.proagents/learning/adaptation.md +0 -305
  82. package/.proagents/learning/data-collection.md +0 -283
  83. package/.proagents/learning/implementation-guide.md +0 -865
  84. package/.proagents/learning/reports.md +0 -306
  85. package/.proagents/mcp/README.md +0 -133
  86. package/.proagents/mcp/context-providers.md +0 -442
  87. package/.proagents/mcp/server-config.md +0 -306
  88. package/.proagents/mcp/tools-definition.md +0 -513
  89. package/.proagents/pm-integration/README.md +0 -151
  90. package/.proagents/pm-integration/asana.md +0 -346
  91. package/.proagents/pm-integration/github-issues.md +0 -308
  92. package/.proagents/pm-integration/gitlab-issues.md +0 -482
  93. package/.proagents/pm-integration/jira.md +0 -364
  94. package/.proagents/pm-integration/linear.md +0 -409
  95. package/.proagents/pm-integration/notion.md +0 -275
  96. package/.proagents/pm-integration/sync-config.md +0 -533
  97. package/.proagents/pm-integration/trello.md +0 -159
  98. package/.proagents/rules/README.md +0 -179
  99. package/.proagents/rules/custom-rules-template.yaml +0 -286
  100. package/.proagents/rules/custom-rules.md +0 -754
  101. package/.proagents/rules/validation-rules-template.yaml +0 -517
  102. package/.proagents/runbooks/README.md +0 -219
  103. package/.proagents/runbooks/dependency-vulnerability.md +0 -505
  104. package/.proagents/runbooks/incident-response.md +0 -451
  105. package/.proagents/runbooks/performance-degradation.md +0 -584
  106. package/.proagents/runbooks/production-debugging.md +0 -489
  107. package/.proagents/sprints/README.md +0 -58
  108. package/.proagents/team/README.md +0 -256
  109. package/.proagents/team/code-ownership.md +0 -306
  110. package/.proagents/team/communication-templates.md +0 -441
  111. package/.proagents/team/handoff-protocol.md +0 -380
  112. package/.proagents/team/ide-setup/README.md +0 -103
  113. package/.proagents/team/ide-setup/cursor.md +0 -276
  114. package/.proagents/team/ide-setup/jetbrains.md +0 -330
  115. package/.proagents/team/ide-setup/neovim.md +0 -640
  116. package/.proagents/team/ide-setup/vscode.md +0 -348
  117. package/.proagents/team/onboarding.md +0 -278
  118. package/.proagents/time-tracking.json +0 -19
  119. package/.proagents/troubleshooting/README.md +0 -730
  120. package/.proagents/troubleshooting/ai-issues.md +0 -601
  121. 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/**"