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,517 +0,0 @@
1
- # Validation Rules Template
2
- # Copy this file to your project and customize the rules
3
-
4
- # Schema version for compatibility checking
5
- schema_version: "1.0"
6
-
7
- # Rule enforcement levels
8
- enforcement:
9
- error: true # Block progress, must fix
10
- warning: true # Show alert, can proceed
11
- info: true # Informational only
12
-
13
- # =============================================================================
14
- # Code Quality Rules
15
- # =============================================================================
16
-
17
- code_quality:
18
- # Complexity limits
19
- - id: max-cyclomatic-complexity
20
- type: complexity
21
- description: "Maximum cyclomatic complexity per function"
22
- threshold: 15
23
- severity: warning
24
- auto_fix: false
25
- message: "Function complexity ({value}) exceeds limit ({threshold})"
26
-
27
- - id: max-cognitive-complexity
28
- type: complexity
29
- description: "Maximum cognitive complexity per function"
30
- threshold: 20
31
- severity: warning
32
- auto_fix: false
33
- message: "Cognitive complexity ({value}) exceeds limit ({threshold})"
34
-
35
- - id: max-function-length
36
- type: length
37
- description: "Maximum lines per function"
38
- threshold: 50
39
- severity: warning
40
- auto_fix: false
41
- message: "Function length ({value} lines) exceeds limit ({threshold})"
42
-
43
- - id: max-file-length
44
- type: length
45
- description: "Maximum lines per file"
46
- threshold: 500
47
- severity: info
48
- auto_fix: false
49
- message: "File length ({value} lines) exceeds recommended limit ({threshold})"
50
-
51
- - id: max-parameters
52
- type: count
53
- description: "Maximum parameters per function"
54
- threshold: 5
55
- severity: warning
56
- auto_fix: false
57
- message: "Too many parameters ({value}), consider using an options object"
58
-
59
- # =============================================================================
60
- # Naming Convention Rules
61
- # =============================================================================
62
-
63
- naming_conventions:
64
- # File naming
65
- - id: component-file-naming
66
- type: naming
67
- description: "React component files must be PascalCase"
68
- pattern: "^[A-Z][a-zA-Z0-9]*\\.(tsx|jsx)$"
69
- applies_to:
70
- - "src/components/**/*"
71
- - "src/app/**/*"
72
- severity: error
73
- message: "Component file '{file}' must use PascalCase naming"
74
-
75
- - id: hook-file-naming
76
- type: naming
77
- description: "Hook files must start with 'use' and be camelCase"
78
- pattern: "^use[A-Z][a-zA-Z0-9]*\\.ts$"
79
- applies_to:
80
- - "src/hooks/**/*"
81
- severity: error
82
- message: "Hook file '{file}' must start with 'use' prefix"
83
-
84
- - id: util-file-naming
85
- type: naming
86
- description: "Utility files must be kebab-case"
87
- pattern: "^[a-z][a-z0-9-]*\\.ts$"
88
- applies_to:
89
- - "src/utils/**/*"
90
- - "src/lib/**/*"
91
- severity: warning
92
- message: "Utility file '{file}' should use kebab-case naming"
93
-
94
- - id: test-file-naming
95
- type: naming
96
- description: "Test files must end with .test or .spec"
97
- pattern: ".*\\.(test|spec)\\.(ts|tsx|js|jsx)$"
98
- applies_to:
99
- - "**/*.test.*"
100
- - "**/*.spec.*"
101
- - "__tests__/**/*"
102
- severity: error
103
- message: "Test file '{file}' must end with .test or .spec"
104
-
105
- # Variable naming
106
- - id: constant-naming
107
- type: naming
108
- description: "Constants must be UPPER_SNAKE_CASE"
109
- pattern: "^[A-Z][A-Z0-9_]*$"
110
- applies_to_code:
111
- - "const declarations at module level"
112
- severity: warning
113
- message: "Constant '{name}' should use UPPER_SNAKE_CASE"
114
-
115
- - id: interface-naming
116
- type: naming
117
- description: "Interfaces must be PascalCase (no I prefix)"
118
- pattern: "^[A-Z][a-zA-Z0-9]*$"
119
- applies_to_code:
120
- - "interface declarations"
121
- severity: warning
122
- message: "Interface '{name}' should use PascalCase without 'I' prefix"
123
-
124
- - id: type-naming
125
- type: naming
126
- description: "Type aliases must be PascalCase"
127
- pattern: "^[A-Z][a-zA-Z0-9]*$"
128
- applies_to_code:
129
- - "type declarations"
130
- severity: warning
131
- message: "Type '{name}' should use PascalCase"
132
-
133
- # =============================================================================
134
- # Architecture Rules
135
- # =============================================================================
136
-
137
- architecture:
138
- # Import restrictions
139
- - id: no-circular-imports
140
- type: import
141
- description: "No circular dependencies between modules"
142
- check: "circular_dependency"
143
- severity: error
144
- message: "Circular dependency detected: {cycle}"
145
-
146
- - id: layer-boundaries
147
- type: import
148
- description: "Enforce layer boundaries"
149
- rules:
150
- - from: "src/components/**"
151
- disallow:
152
- - "src/services/**"
153
- - "src/repositories/**"
154
- message: "Components should not import directly from services or repositories"
155
- - from: "src/hooks/**"
156
- allow:
157
- - "src/services/**"
158
- - "src/types/**"
159
- - "src/utils/**"
160
- message: "Hooks can import from services, types, and utils"
161
- - from: "src/services/**"
162
- disallow:
163
- - "src/components/**"
164
- - "src/hooks/**"
165
- message: "Services should not depend on UI layer"
166
- severity: error
167
-
168
- - id: index-exports
169
- type: structure
170
- description: "Modules should use index files for exports"
171
- check: "has_index_file"
172
- applies_to:
173
- - "src/components/*"
174
- - "src/hooks"
175
- - "src/services"
176
- severity: info
177
- message: "Module '{module}' should have an index.ts for exports"
178
-
179
- # File organization
180
- - id: colocation
181
- type: structure
182
- description: "Related files should be colocated"
183
- rules:
184
- - components:
185
- required:
186
- - "*.tsx"
187
- optional:
188
- - "*.test.tsx"
189
- - "*.module.css"
190
- - "*.types.ts"
191
- message: "Component should have related files colocated"
192
- severity: info
193
-
194
- # =============================================================================
195
- # Security Rules
196
- # =============================================================================
197
-
198
- security:
199
- - id: no-hardcoded-secrets
200
- type: pattern
201
- description: "No hardcoded secrets or credentials"
202
- patterns:
203
- - "password\\s*=\\s*['\"][^'\"]+['\"]"
204
- - "api_key\\s*=\\s*['\"][^'\"]+['\"]"
205
- - "secret\\s*=\\s*['\"][^'\"]+['\"]"
206
- - "token\\s*=\\s*['\"][^'\"]+['\"]"
207
- - "(?i)bearer\\s+[a-zA-Z0-9_-]{20,}"
208
- exclude_patterns:
209
- - "*.test.ts"
210
- - "*.spec.ts"
211
- - "*.example.*"
212
- severity: error
213
- message: "Possible hardcoded secret detected at {location}"
214
-
215
- - id: no-unsafe-innerHTML
216
- type: pattern
217
- description: "Avoid dangerouslySetInnerHTML without sanitization"
218
- patterns:
219
- - "dangerouslySetInnerHTML"
220
- severity: warning
221
- message: "Use of dangerouslySetInnerHTML detected. Ensure content is sanitized."
222
-
223
- - id: no-eval
224
- type: pattern
225
- description: "No use of eval or similar"
226
- patterns:
227
- - "\\beval\\s*\\("
228
- - "new\\s+Function\\s*\\("
229
- severity: error
230
- message: "Use of eval() or Function() constructor is not allowed"
231
-
232
- - id: sql-injection-prevention
233
- type: pattern
234
- description: "Prevent SQL injection via string concatenation"
235
- patterns:
236
- - "query\\s*\\(\\s*[`'\"].*\\$\\{"
237
- - "\\.raw\\s*\\(\\s*[`'\"].*\\$\\{"
238
- severity: error
239
- message: "Potential SQL injection vulnerability. Use parameterized queries."
240
-
241
- - id: validate-user-input
242
- type: custom
243
- description: "User input should be validated"
244
- check: "input_validation"
245
- applies_to:
246
- - "src/api/**"
247
- - "src/pages/api/**"
248
- - "src/app/api/**"
249
- severity: warning
250
- message: "API endpoint should validate user input with schema validation"
251
-
252
- # =============================================================================
253
- # Testing Rules
254
- # =============================================================================
255
-
256
- testing:
257
- - id: minimum-test-coverage
258
- type: coverage
259
- description: "Minimum test coverage requirements"
260
- thresholds:
261
- lines: 80
262
- branches: 70
263
- functions: 80
264
- statements: 80
265
- applies_to:
266
- - "src/**/*.ts"
267
- - "src/**/*.tsx"
268
- exclude:
269
- - "src/**/*.d.ts"
270
- - "src/**/*.test.*"
271
- - "src/**/*.spec.*"
272
- severity: warning
273
- message: "Test coverage ({value}%) is below minimum ({threshold}%)"
274
-
275
- - id: critical-path-coverage
276
- type: coverage
277
- description: "Critical paths require higher coverage"
278
- thresholds:
279
- lines: 95
280
- branches: 90
281
- applies_to:
282
- - "src/services/auth/**"
283
- - "src/services/payment/**"
284
- - "src/api/auth/**"
285
- severity: error
286
- message: "Critical path coverage ({value}%) must be at least {threshold}%"
287
-
288
- - id: test-file-required
289
- type: structure
290
- description: "Source files should have corresponding test files"
291
- check: "has_test_file"
292
- applies_to:
293
- - "src/components/**/*.tsx"
294
- - "src/hooks/**/*.ts"
295
- - "src/services/**/*.ts"
296
- exclude:
297
- - "**/*.d.ts"
298
- - "**/index.ts"
299
- - "**/types.ts"
300
- severity: info
301
- message: "File '{file}' should have a corresponding test file"
302
-
303
- - id: no-skipped-tests
304
- type: pattern
305
- description: "No skipped tests in main branch"
306
- patterns:
307
- - "\\bit\\.skip\\s*\\("
308
- - "\\bdescribe\\.skip\\s*\\("
309
- - "\\btest\\.skip\\s*\\("
310
- - "\\bxit\\s*\\("
311
- - "\\bxdescribe\\s*\\("
312
- severity: warning
313
- on_branch:
314
- - "main"
315
- - "master"
316
- message: "Skipped tests found. Remove .skip before merging."
317
-
318
- # =============================================================================
319
- # Performance Rules
320
- # =============================================================================
321
-
322
- performance:
323
- - id: no-sync-operations
324
- type: pattern
325
- description: "Avoid synchronous file operations"
326
- patterns:
327
- - "readFileSync"
328
- - "writeFileSync"
329
- - "existsSync"
330
- - "mkdirSync"
331
- exclude:
332
- - "scripts/**"
333
- - "*.config.*"
334
- severity: warning
335
- message: "Use async file operations instead of sync methods"
336
-
337
- - id: bundle-size-limit
338
- type: bundle
339
- description: "Maximum bundle size limits"
340
- limits:
341
- main: "250kb"
342
- chunk: "100kb"
343
- total: "1mb"
344
- severity: warning
345
- message: "Bundle size ({size}) exceeds limit ({limit})"
346
-
347
- - id: no-large-dependencies
348
- type: dependency
349
- description: "Avoid large dependencies when lighter alternatives exist"
350
- check:
351
- - package: "moment"
352
- alternative: "date-fns or dayjs"
353
- max_size: "50kb"
354
- - package: "lodash"
355
- alternative: "lodash-es or native methods"
356
- max_size: "25kb"
357
- severity: info
358
- message: "Consider using {alternative} instead of {package}"
359
-
360
- - id: image-optimization
361
- type: assets
362
- description: "Images should be optimized"
363
- rules:
364
- max_size: "500kb"
365
- formats:
366
- - "webp"
367
- - "avif"
368
- - "svg"
369
- exclude:
370
- - "png"
371
- - "jpg"
372
- applies_to:
373
- - "public/images/**"
374
- - "src/assets/**"
375
- severity: info
376
- message: "Image '{file}' should be optimized (current: {size})"
377
-
378
- # =============================================================================
379
- # Accessibility Rules
380
- # =============================================================================
381
-
382
- accessibility:
383
- - id: require-alt-text
384
- type: pattern
385
- description: "Images must have alt text"
386
- check: "img_alt_attribute"
387
- applies_to:
388
- - "**/*.tsx"
389
- - "**/*.jsx"
390
- severity: error
391
- message: "Image element must have alt attribute"
392
-
393
- - id: require-button-type
394
- type: pattern
395
- description: "Buttons should have explicit type"
396
- check: "button_type_attribute"
397
- applies_to:
398
- - "**/*.tsx"
399
- - "**/*.jsx"
400
- severity: warning
401
- message: "Button element should have explicit type attribute"
402
-
403
- - id: require-label-for-input
404
- type: pattern
405
- description: "Form inputs must have associated labels"
406
- check: "input_label_association"
407
- applies_to:
408
- - "**/*.tsx"
409
- - "**/*.jsx"
410
- severity: error
411
- message: "Input element must have an associated label"
412
-
413
- - id: color-contrast
414
- type: custom
415
- description: "Ensure sufficient color contrast"
416
- check: "wcag_color_contrast"
417
- level: "AA"
418
- severity: warning
419
- message: "Color contrast ratio ({ratio}) does not meet WCAG {level} requirements"
420
-
421
- # =============================================================================
422
- # Documentation Rules
423
- # =============================================================================
424
-
425
- documentation:
426
- - id: require-jsdoc-public
427
- type: documentation
428
- description: "Public functions must have JSDoc comments"
429
- check: "has_jsdoc"
430
- applies_to:
431
- - "exported functions"
432
- - "exported classes"
433
- exclude:
434
- - "**/*.test.*"
435
- - "**/*.spec.*"
436
- severity: info
437
- message: "Public function '{name}' should have JSDoc documentation"
438
-
439
- - id: require-readme
440
- type: structure
441
- description: "Modules should have README files"
442
- check: "has_readme"
443
- applies_to:
444
- - "src/components/*"
445
- - "src/services/*"
446
- - "packages/*"
447
- severity: info
448
- message: "Module '{module}' should have a README.md"
449
-
450
- # =============================================================================
451
- # Custom Project Rules
452
- # =============================================================================
453
-
454
- custom:
455
- # Add your project-specific rules here
456
- # Example:
457
- # - id: require-analytics-tracking
458
- # type: custom
459
- # description: "User actions should include analytics tracking"
460
- # check: "analytics_tracking"
461
- # applies_to:
462
- # - "src/components/Button/**"
463
- # - "src/components/Form/**"
464
- # severity: info
465
- # message: "Component should include analytics tracking for user actions"
466
-
467
- # =============================================================================
468
- # Rule Overrides
469
- # =============================================================================
470
-
471
- overrides:
472
- # Override rules for specific paths
473
- - path: "src/legacy/**"
474
- rules:
475
- max-cyclomatic-complexity:
476
- threshold: 25
477
- severity: info
478
- max-function-length:
479
- enabled: false
480
-
481
- - path: "scripts/**"
482
- rules:
483
- no-sync-operations:
484
- enabled: false
485
-
486
- - path: "**/*.test.*"
487
- rules:
488
- max-function-length:
489
- threshold: 100
490
-
491
- # =============================================================================
492
- # Global Settings
493
- # =============================================================================
494
-
495
- settings:
496
- # Files/patterns to always ignore
497
- ignore:
498
- - "node_modules/**"
499
- - "dist/**"
500
- - "build/**"
501
- - ".next/**"
502
- - "coverage/**"
503
- - "*.min.js"
504
- - "*.bundle.js"
505
- - "*.generated.*"
506
-
507
- # Run rules in parallel for better performance
508
- parallel: true
509
-
510
- # Cache validation results
511
- cache: true
512
- cache_location: ".proagents/validation-cache"
513
-
514
- # Report format
515
- report:
516
- format: "stylish" # stylish, json, html
517
- output: ".proagents/validation-report"