proagents 1.0.0

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 (444) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +170 -0
  3. package/bin/proagents.js +90 -0
  4. package/lib/commands/feature.js +125 -0
  5. package/lib/commands/fix.js +60 -0
  6. package/lib/commands/help.js +76 -0
  7. package/lib/commands/init.js +64 -0
  8. package/lib/commands/status.js +91 -0
  9. package/lib/index.js +28 -0
  10. package/package.json +52 -0
  11. package/proagents/.learning/global/common-patterns.json +77 -0
  12. package/proagents/.learning/global/user-preferences.json +76 -0
  13. package/proagents/.learning/projects/example-project/corrections.json +99 -0
  14. package/proagents/.learning/projects/example-project/feedback.json +109 -0
  15. package/proagents/.learning/projects/example-project/metrics.json +101 -0
  16. package/proagents/.learning/projects/example-project/patterns.json +102 -0
  17. package/proagents/.learning/schemas/README.md +48 -0
  18. package/proagents/.learning/schemas/corrections-schema.json +100 -0
  19. package/proagents/.learning/schemas/feedback-schema.json +144 -0
  20. package/proagents/.learning/schemas/metrics-schema.json +96 -0
  21. package/proagents/.learning/schemas/patterns-schema.json +82 -0
  22. package/proagents/.learning/schemas/project-patterns-schema.json +125 -0
  23. package/proagents/.learning/schemas/user-preferences-schema.json +136 -0
  24. package/proagents/GETTING-STARTED-STORY.md +708 -0
  25. package/proagents/README.md +99 -0
  26. package/proagents/WORKFLOW.md +1234 -0
  27. package/proagents/active-features/.gitkeep +0 -0
  28. package/proagents/active-features/README.md +176 -0
  29. package/proagents/active-features/_index.json +74 -0
  30. package/proagents/active-features/feature-user-auth/dependencies.json +81 -0
  31. package/proagents/active-features/feature-user-auth/files-modified.json +126 -0
  32. package/proagents/active-features/feature-user-auth/status.json +122 -0
  33. package/proagents/active-features/schemas/dependencies-schema.json +119 -0
  34. package/proagents/active-features/schemas/feature-schema.json +132 -0
  35. package/proagents/active-features/schemas/files-schema.json +100 -0
  36. package/proagents/active-features/schemas/index-schema.json +95 -0
  37. package/proagents/adr/README.md +302 -0
  38. package/proagents/adr/examples/api-versioning.md +297 -0
  39. package/proagents/adr/examples/database-choice.md +264 -0
  40. package/proagents/adr/template.md +273 -0
  41. package/proagents/ai-models/README.md +141 -0
  42. package/proagents/ai-models/cost-management.md +362 -0
  43. package/proagents/ai-models/fallbacks.md +342 -0
  44. package/proagents/ai-models/model-config.md +318 -0
  45. package/proagents/ai-models/task-routing.md +503 -0
  46. package/proagents/ai-training/README.md +155 -0
  47. package/proagents/ai-training/continuous-learning.md +413 -0
  48. package/proagents/ai-training/domain-knowledge.md +378 -0
  49. package/proagents/ai-training/pattern-learning.md +455 -0
  50. package/proagents/ai-training/training-data.md +337 -0
  51. package/proagents/ai-training/user-preferences.md +346 -0
  52. package/proagents/api-versioning/README.md +257 -0
  53. package/proagents/api-versioning/changelog-template.md +225 -0
  54. package/proagents/api-versioning/deprecation-workflow.md +470 -0
  55. package/proagents/api-versioning/versioning-strategy.md +291 -0
  56. package/proagents/approval-workflows/README.md +146 -0
  57. package/proagents/approval-workflows/approval-config.md +332 -0
  58. package/proagents/approval-workflows/approval-stages.md +503 -0
  59. package/proagents/approval-workflows/emergency-bypass.md +351 -0
  60. package/proagents/approval-workflows/examples.md +859 -0
  61. package/proagents/approval-workflows/notifications.md +320 -0
  62. package/proagents/automation/README.md +38 -0
  63. package/proagents/automation/ai-behavior-rules.md +339 -0
  64. package/proagents/automation/ai-prompt-injection.md +331 -0
  65. package/proagents/automation/auto-decisions.md +535 -0
  66. package/proagents/automation/decision-defaults.yaml +317 -0
  67. package/proagents/cache/README.md +110 -0
  68. package/proagents/cache/analysis-metadata.json +76 -0
  69. package/proagents/cache/conventions.json +125 -0
  70. package/proagents/cache/dependencies.json +85 -0
  71. package/proagents/cache/features.json +115 -0
  72. package/proagents/cache/patterns.json +105 -0
  73. package/proagents/cache/schemas/conventions-schema.json +138 -0
  74. package/proagents/cache/schemas/dependencies-schema.json +95 -0
  75. package/proagents/cache/schemas/features-schema.json +104 -0
  76. package/proagents/cache/schemas/metadata-schema.json +83 -0
  77. package/proagents/cache/schemas/patterns-schema.json +136 -0
  78. package/proagents/cache/schemas/structure-schema.json +72 -0
  79. package/proagents/cache/structure.json +109 -0
  80. package/proagents/changelog/2024/01/2024-01-10-api-url-config.md +41 -0
  81. package/proagents/changelog/2024/01/2024-01-12-login-bug-fix.md +69 -0
  82. package/proagents/changelog/2024/01/2024-01-15-user-auth-feature.md +99 -0
  83. package/proagents/changelog/CHANGELOG.md +82 -0
  84. package/proagents/changelog/README.md +327 -0
  85. package/proagents/changelog/entry-template.md +283 -0
  86. package/proagents/checklists/README.md +261 -0
  87. package/proagents/checklists/code-quality.md +137 -0
  88. package/proagents/checklists/code-review.md +148 -0
  89. package/proagents/checklists/pr-checklist.md +78 -0
  90. package/proagents/checklists/pre-deployment.md +132 -0
  91. package/proagents/checklists/pre-implementation.md +80 -0
  92. package/proagents/checklists/testing.md +120 -0
  93. package/proagents/cicd/README.md +338 -0
  94. package/proagents/cicd/azure-devops.md +267 -0
  95. package/proagents/cicd/github-actions.md +375 -0
  96. package/proagents/cicd/gitlab-ci.md +278 -0
  97. package/proagents/cicd/jenkins.md +317 -0
  98. package/proagents/cli/README.md +392 -0
  99. package/proagents/cli/commands-reference.md +893 -0
  100. package/proagents/cli/ide-integration.md +584 -0
  101. package/proagents/cli/shortcuts.md +394 -0
  102. package/proagents/cli/slash-commands.md +507 -0
  103. package/proagents/collaboration/README.md +143 -0
  104. package/proagents/collaboration/roles.md +248 -0
  105. package/proagents/collaboration/sessions.md +390 -0
  106. package/proagents/collaboration/sync.md +358 -0
  107. package/proagents/compliance/README.md +206 -0
  108. package/proagents/compliance/access-control.md +310 -0
  109. package/proagents/compliance/audit-logging.md +444 -0
  110. package/proagents/compliance/compliance-frameworks.md +429 -0
  111. package/proagents/compliance/reports.md +491 -0
  112. package/proagents/compliance/retention-policies.md +454 -0
  113. package/proagents/config/README.md +181 -0
  114. package/proagents/config/integrations/README.md +68 -0
  115. package/proagents/config/integrations/github.yaml +211 -0
  116. package/proagents/config/integrations/jira.yaml +144 -0
  117. package/proagents/config/integrations/linear.yaml +157 -0
  118. package/proagents/config/integrations/notion.yaml +203 -0
  119. package/proagents/config/integrations/slack.yaml +230 -0
  120. package/proagents/config/rules/README.md +73 -0
  121. package/proagents/config/rules/custom-rules.template.yaml +188 -0
  122. package/proagents/config/rules/validation-rules.template.yaml +177 -0
  123. package/proagents/config/standards/README.md +58 -0
  124. package/proagents/config/standards/architecture-rules.template.md +124 -0
  125. package/proagents/config/standards/coding-standards.template.md +107 -0
  126. package/proagents/config/standards/naming-conventions.template.md +114 -0
  127. package/proagents/config/standards/testing-standards.template.md +213 -0
  128. package/proagents/config/templates/README.md +74 -0
  129. package/proagents/config/templates/api-route.template.ts +142 -0
  130. package/proagents/config/templates/component.template.tsx +55 -0
  131. package/proagents/config/templates/hook.template.ts +93 -0
  132. package/proagents/config/templates/test.template.ts +171 -0
  133. package/proagents/config-versioning/README.md +120 -0
  134. package/proagents/config-versioning/changelog.md +300 -0
  135. package/proagents/config-versioning/rollback.md +283 -0
  136. package/proagents/config-versioning/versioning.md +330 -0
  137. package/proagents/contract-testing/README.md +223 -0
  138. package/proagents/contract-testing/contract-testing.md +614 -0
  139. package/proagents/contract-testing/pact-integration.md +507 -0
  140. package/proagents/contract-testing/schema-validation.md +565 -0
  141. package/proagents/cost/README.md +48 -0
  142. package/proagents/cost/cost-template.md +283 -0
  143. package/proagents/cost/estimation-framework.md +287 -0
  144. package/proagents/database/README.md +72 -0
  145. package/proagents/database/examples/001-create-users.sql +129 -0
  146. package/proagents/database/examples/002-add-preferences.sql +94 -0
  147. package/proagents/database/examples/003-add-index.sql +105 -0
  148. package/proagents/database/examples/004-rename-column.sql +122 -0
  149. package/proagents/database/examples/005-add-foreign-key.sql +142 -0
  150. package/proagents/database/examples/006-data-migration.sql +196 -0
  151. package/proagents/database/examples/007-drop-column.sql +163 -0
  152. package/proagents/database/examples/README.md +89 -0
  153. package/proagents/database/migration-workflow.md +478 -0
  154. package/proagents/database/rollback-scripts.md +487 -0
  155. package/proagents/database/safety-checks.md +447 -0
  156. package/proagents/dependency-management/README.md +140 -0
  157. package/proagents/dependency-management/automation.md +363 -0
  158. package/proagents/dependency-management/compatibility.md +319 -0
  159. package/proagents/dependency-management/security-scanning.md +413 -0
  160. package/proagents/dependency-management/update-policies.md +374 -0
  161. package/proagents/disaster-recovery/README.md +247 -0
  162. package/proagents/disaster-recovery/automation.md +366 -0
  163. package/proagents/disaster-recovery/backup-recovery.md +571 -0
  164. package/proagents/disaster-recovery/incident-response.md +565 -0
  165. package/proagents/disaster-recovery/rollback-procedures.md +499 -0
  166. package/proagents/disaster-recovery/runbooks.md +603 -0
  167. package/proagents/disaster-recovery/scenarios.md +892 -0
  168. package/proagents/disaster-recovery/testing.md +438 -0
  169. package/proagents/environments/README.md +244 -0
  170. package/proagents/environments/configuration.md +437 -0
  171. package/proagents/environments/promotion.md +434 -0
  172. package/proagents/environments/setup.md +420 -0
  173. package/proagents/examples/README.md +55 -0
  174. package/proagents/examples/backend-nodejs/README.md +188 -0
  175. package/proagents/examples/backend-nodejs/complete-conversation.md +601 -0
  176. package/proagents/examples/backend-nodejs/proagents.config.yaml +415 -0
  177. package/proagents/examples/backend-nodejs/workflow-example.md +909 -0
  178. package/proagents/examples/fullstack-nextjs/README.md +155 -0
  179. package/proagents/examples/fullstack-nextjs/complete-conversation.md +604 -0
  180. package/proagents/examples/fullstack-nextjs/proagents.config.yaml +287 -0
  181. package/proagents/examples/fullstack-nextjs/workflow-example.md +553 -0
  182. package/proagents/examples/mobile-react-native/README.md +171 -0
  183. package/proagents/examples/mobile-react-native/complete-conversation.md +825 -0
  184. package/proagents/examples/mobile-react-native/proagents.config.yaml +330 -0
  185. package/proagents/examples/mobile-react-native/workflow-example.md +723 -0
  186. package/proagents/examples/web-frontend-react/README.md +125 -0
  187. package/proagents/examples/web-frontend-react/complete-conversation.md +556 -0
  188. package/proagents/examples/web-frontend-react/proagents.config.yaml +183 -0
  189. package/proagents/examples/web-frontend-react/workflow-example.md +603 -0
  190. package/proagents/existing-projects/README.md +65 -0
  191. package/proagents/existing-projects/challenges.md +861 -0
  192. package/proagents/existing-projects/coexistence-mode.md +483 -0
  193. package/proagents/existing-projects/compatibility-assessment.md +541 -0
  194. package/proagents/existing-projects/gradual-adoption.md +515 -0
  195. package/proagents/existing-projects/migration-strategies.md +788 -0
  196. package/proagents/existing-projects/pattern-reconciliation.md +489 -0
  197. package/proagents/existing-projects/team-onboarding.md +617 -0
  198. package/proagents/existing-projects/technical-debt-handling.md +644 -0
  199. package/proagents/feature-flags/README.md +263 -0
  200. package/proagents/feature-flags/ab-testing.md +413 -0
  201. package/proagents/feature-flags/configuration.md +420 -0
  202. package/proagents/feature-flags/kill-switches.md +444 -0
  203. package/proagents/feature-flags/rollout-strategies.md +392 -0
  204. package/proagents/getting-started/README.md +60 -0
  205. package/proagents/getting-started/ai-training-setup.md +380 -0
  206. package/proagents/getting-started/ide-setup.md +195 -0
  207. package/proagents/getting-started/mcp-setup.md +239 -0
  208. package/proagents/getting-started/pm-integration.md +336 -0
  209. package/proagents/getting-started/prompt-engineering.md +478 -0
  210. package/proagents/getting-started/team-onboarding.md +236 -0
  211. package/proagents/git/README.md +68 -0
  212. package/proagents/git/branch-strategy.md +164 -0
  213. package/proagents/git/commit-conventions.md +241 -0
  214. package/proagents/git/pr-workflow.md +286 -0
  215. package/proagents/git/rollback-procedures.md +416 -0
  216. package/proagents/i18n/README.md +133 -0
  217. package/proagents/i18n/extraction.md +433 -0
  218. package/proagents/i18n/tms-integration.md +332 -0
  219. package/proagents/i18n/translation-workflow.md +413 -0
  220. package/proagents/i18n/validation.md +355 -0
  221. package/proagents/ide-integration/README.md +124 -0
  222. package/proagents/ide-integration/cline-config.md +429 -0
  223. package/proagents/ide-integration/continue-config.md +380 -0
  224. package/proagents/ide-integration/cursor-rules.md +280 -0
  225. package/proagents/ide-integration/github-copilot.md +384 -0
  226. package/proagents/ide-integration/windsurf-rules.md +314 -0
  227. package/proagents/integrations/README.md +97 -0
  228. package/proagents/integrations/pm/README.md +344 -0
  229. package/proagents/learning/README.md +136 -0
  230. package/proagents/learning/adaptation.md +305 -0
  231. package/proagents/learning/data-collection.md +283 -0
  232. package/proagents/learning/implementation-guide.md +865 -0
  233. package/proagents/learning/reports.md +306 -0
  234. package/proagents/logging/README.md +276 -0
  235. package/proagents/logging/aggregation.md +475 -0
  236. package/proagents/logging/log-levels.md +376 -0
  237. package/proagents/logging/sensitive-data.md +423 -0
  238. package/proagents/logging/structured-logging.md +406 -0
  239. package/proagents/mcp/README.md +133 -0
  240. package/proagents/mcp/context-providers.md +442 -0
  241. package/proagents/mcp/server-config.md +306 -0
  242. package/proagents/mcp/tools-definition.md +513 -0
  243. package/proagents/metrics/README.md +174 -0
  244. package/proagents/metrics/code-quality-kpis.md +461 -0
  245. package/proagents/metrics/deployment-metrics.md +517 -0
  246. package/proagents/metrics/developer-productivity.md +368 -0
  247. package/proagents/metrics/learning-effectiveness.md +478 -0
  248. package/proagents/migrations/README.md +77 -0
  249. package/proagents/migrations/from-claude-projects.md +312 -0
  250. package/proagents/migrations/from-cursor-rules.md +345 -0
  251. package/proagents/migrations/from-custom-workflows.md +410 -0
  252. package/proagents/monitoring/README.md +308 -0
  253. package/proagents/monitoring/alerting.md +449 -0
  254. package/proagents/monitoring/dashboards.md +454 -0
  255. package/proagents/monitoring/health-checks.md +436 -0
  256. package/proagents/monitoring/metrics.md +434 -0
  257. package/proagents/multi-project/README.md +170 -0
  258. package/proagents/multi-project/coordinated-deploy.md +510 -0
  259. package/proagents/multi-project/cross-project-deps.md +395 -0
  260. package/proagents/multi-project/unified-changelog.md +477 -0
  261. package/proagents/multi-project/walkthroughs/monorepo-setup.md +787 -0
  262. package/proagents/multi-project/workspace-config.md +408 -0
  263. package/proagents/notifications/README.md +151 -0
  264. package/proagents/notifications/channels.md +457 -0
  265. package/proagents/notifications/preferences.md +415 -0
  266. package/proagents/notifications/routing.md +449 -0
  267. package/proagents/notifications/scheduling.md +425 -0
  268. package/proagents/notifications/templates.md +446 -0
  269. package/proagents/offline-mode/README.md +145 -0
  270. package/proagents/offline-mode/caching.md +344 -0
  271. package/proagents/offline-mode/offline-operations.md +312 -0
  272. package/proagents/offline-mode/queue-specifications.md +679 -0
  273. package/proagents/offline-mode/sync.md +475 -0
  274. package/proagents/parallel-features/README.md +85 -0
  275. package/proagents/parallel-features/conflict-detection.md +226 -0
  276. package/proagents/parallel-features/dependency-management.md +392 -0
  277. package/proagents/parallel-features/merge-coordination.md +506 -0
  278. package/proagents/parallel-features/tracking-system.md +416 -0
  279. package/proagents/patterns/README.md +305 -0
  280. package/proagents/patterns/api-errors.md +453 -0
  281. package/proagents/patterns/async-errors.md +521 -0
  282. package/proagents/patterns/error-types.md +437 -0
  283. package/proagents/patterns/ui-errors.md +595 -0
  284. package/proagents/performance/README.md +59 -0
  285. package/proagents/performance/bundle-analysis.md +375 -0
  286. package/proagents/performance/load-testing.md +563 -0
  287. package/proagents/performance/runtime-metrics.md +489 -0
  288. package/proagents/performance/web-vitals.md +425 -0
  289. package/proagents/plugins/README.md +139 -0
  290. package/proagents/plugins/creating-plugins.md +504 -0
  291. package/proagents/plugins/plugin-api.md +467 -0
  292. package/proagents/plugins/plugin-registry.md +276 -0
  293. package/proagents/pm-integration/README.md +151 -0
  294. package/proagents/pm-integration/asana.md +346 -0
  295. package/proagents/pm-integration/github-issues.md +308 -0
  296. package/proagents/pm-integration/gitlab-issues.md +482 -0
  297. package/proagents/pm-integration/jira.md +364 -0
  298. package/proagents/pm-integration/linear.md +409 -0
  299. package/proagents/pm-integration/notion.md +275 -0
  300. package/proagents/pm-integration/sync-config.md +533 -0
  301. package/proagents/pm-integration/trello.md +159 -0
  302. package/proagents/proagents.config.yaml +213 -0
  303. package/proagents/prompts/00-init-wizard.md +426 -0
  304. package/proagents/prompts/00-init.md +219 -0
  305. package/proagents/prompts/01-analysis.md +244 -0
  306. package/proagents/prompts/02-requirements.md +399 -0
  307. package/proagents/prompts/03-ui-design.md +493 -0
  308. package/proagents/prompts/04-planning.md +505 -0
  309. package/proagents/prompts/05-implementation.md +518 -0
  310. package/proagents/prompts/06-testing.md +620 -0
  311. package/proagents/prompts/06.5-code-review.md +512 -0
  312. package/proagents/prompts/07-documentation.md +673 -0
  313. package/proagents/prompts/08-deployment.md +539 -0
  314. package/proagents/prompts/09-rollback.md +554 -0
  315. package/proagents/prompts/README.md +51 -0
  316. package/proagents/prompts/accessibility/README.md +146 -0
  317. package/proagents/prompts/accessibility/aria.md +276 -0
  318. package/proagents/prompts/accessibility/audit.md +233 -0
  319. package/proagents/prompts/accessibility/keyboard.md +392 -0
  320. package/proagents/prompts/accessibility/wcag.md +189 -0
  321. package/proagents/prompts/debugging/README.md +51 -0
  322. package/proagents/prompts/debugging/error-analysis.md +385 -0
  323. package/proagents/prompts/debugging/performance-debug.md +381 -0
  324. package/proagents/prompts/debugging/systematic.md +270 -0
  325. package/proagents/prompts/performance/README.md +47 -0
  326. package/proagents/prompts/performance/analyze.md +265 -0
  327. package/proagents/prompts/performance/optimize.md +347 -0
  328. package/proagents/prompts/refactoring/README.md +51 -0
  329. package/proagents/prompts/refactoring/architecture.md +531 -0
  330. package/proagents/prompts/refactoring/code-smells.md +174 -0
  331. package/proagents/prompts/refactoring/patterns.md +516 -0
  332. package/proagents/prompts/security-audit/README.md +197 -0
  333. package/proagents/prompts/security-audit/code-review.md +260 -0
  334. package/proagents/prompts/security-audit/vulnerability-scan.md +288 -0
  335. package/proagents/reporting/README.md +158 -0
  336. package/proagents/reporting/dashboards.md +366 -0
  337. package/proagents/reporting/exports.md +524 -0
  338. package/proagents/reporting/quality-metrics.md +385 -0
  339. package/proagents/reporting/templates/README.md +56 -0
  340. package/proagents/reporting/templates/dashboard-config.json +187 -0
  341. package/proagents/reporting/templates/metrics-queries.md +427 -0
  342. package/proagents/reporting/templates/react-dashboard.tsx +544 -0
  343. package/proagents/reporting/templates/widgets.md +451 -0
  344. package/proagents/reporting/velocity-metrics.md +340 -0
  345. package/proagents/reverse-engineering/README.md +151 -0
  346. package/proagents/reverse-engineering/architecture-extraction.md +325 -0
  347. package/proagents/reverse-engineering/code-analysis.md +377 -0
  348. package/proagents/reverse-engineering/dependency-mapping.md +567 -0
  349. package/proagents/reverse-engineering/diagram-generation.md +586 -0
  350. package/proagents/reverse-engineering/documentation-generation.md +468 -0
  351. package/proagents/reverse-engineering/pattern-detection.md +569 -0
  352. package/proagents/reverse-engineering/quality-assessment.md +733 -0
  353. package/proagents/rules/README.md +179 -0
  354. package/proagents/rules/custom-rules-template.yaml +286 -0
  355. package/proagents/rules/custom-rules.md +754 -0
  356. package/proagents/rules/validation-rules-template.yaml +517 -0
  357. package/proagents/runbooks/README.md +219 -0
  358. package/proagents/runbooks/dependency-vulnerability.md +505 -0
  359. package/proagents/runbooks/incident-response.md +451 -0
  360. package/proagents/runbooks/performance-degradation.md +584 -0
  361. package/proagents/runbooks/production-debugging.md +489 -0
  362. package/proagents/scaffolding/README.md +64 -0
  363. package/proagents/scaffolding/nextjs/README.md +578 -0
  364. package/proagents/scaffolding/nextjs/templates/api-route.ts.template +185 -0
  365. package/proagents/scaffolding/nextjs/templates/page.tsx.template +109 -0
  366. package/proagents/scaffolding/nextjs/templates/server-action.ts.template +204 -0
  367. package/proagents/scaffolding/nodejs/README.md +558 -0
  368. package/proagents/scaffolding/nodejs/templates/controller.ts.template +167 -0
  369. package/proagents/scaffolding/nodejs/templates/repository.ts.template +155 -0
  370. package/proagents/scaffolding/nodejs/templates/service.ts.template +207 -0
  371. package/proagents/scaffolding/project-types.md +401 -0
  372. package/proagents/scaffolding/react/README.md +399 -0
  373. package/proagents/scaffolding/react/templates/component.tsx.template +88 -0
  374. package/proagents/scaffolding/react/templates/hook.ts.template +127 -0
  375. package/proagents/scaffolding/react/templates/service.ts.template +155 -0
  376. package/proagents/scaffolding/react/templates/test.tsx.template +149 -0
  377. package/proagents/scaffolding/react-native/README.md +476 -0
  378. package/proagents/scaffolding/react-native/templates/hook.ts.template +226 -0
  379. package/proagents/scaffolding/react-native/templates/screen.tsx.template +247 -0
  380. package/proagents/secrets/README.md +278 -0
  381. package/proagents/secrets/access-control.md +443 -0
  382. package/proagents/secrets/rotation.md +403 -0
  383. package/proagents/secrets/scanning.md +487 -0
  384. package/proagents/secrets/storage.md +394 -0
  385. package/proagents/security/README.md +71 -0
  386. package/proagents/security/owasp-checklist.md +390 -0
  387. package/proagents/security/sast-guide.md +473 -0
  388. package/proagents/security/security-report-template.md +343 -0
  389. package/proagents/security/vulnerability-scanning.md +329 -0
  390. package/proagents/slash-commands.json +161 -0
  391. package/proagents/standards/README.md +120 -0
  392. package/proagents/standards/architecture-patterns.md +728 -0
  393. package/proagents/standards/architecture-rules-template.md +489 -0
  394. package/proagents/standards/coding-standards-template.md +489 -0
  395. package/proagents/standards/examples/README.md +61 -0
  396. package/proagents/standards/examples/nodejs-api.md +560 -0
  397. package/proagents/standards/examples/react-nextjs.md +428 -0
  398. package/proagents/standards/naming-conventions-template.md +526 -0
  399. package/proagents/standards/override-system.md +717 -0
  400. package/proagents/standards/testing-standards-template.md +220 -0
  401. package/proagents/team/README.md +256 -0
  402. package/proagents/team/code-ownership.md +306 -0
  403. package/proagents/team/communication-templates.md +441 -0
  404. package/proagents/team/handoff-protocol.md +380 -0
  405. package/proagents/team/ide-setup/README.md +103 -0
  406. package/proagents/team/ide-setup/cursor.md +276 -0
  407. package/proagents/team/ide-setup/jetbrains.md +330 -0
  408. package/proagents/team/ide-setup/neovim.md +640 -0
  409. package/proagents/team/ide-setup/vscode.md +348 -0
  410. package/proagents/team/onboarding.md +278 -0
  411. package/proagents/templates/README.md +57 -0
  412. package/proagents/templates/code-review-report.md +255 -0
  413. package/proagents/templates/codebase-analysis-report.md +315 -0
  414. package/proagents/templates/deployment-checklist.md +277 -0
  415. package/proagents/templates/feature-requirements.md +142 -0
  416. package/proagents/templates/feature-status.md +231 -0
  417. package/proagents/templates/implementation-plan.md +373 -0
  418. package/proagents/templates/rollback-plan.md +331 -0
  419. package/proagents/templates/test-plan.md +336 -0
  420. package/proagents/templates/ui-specification.md +431 -0
  421. package/proagents/testing-standards/README.md +229 -0
  422. package/proagents/testing-standards/coverage-requirements.md +198 -0
  423. package/proagents/testing-standards/mocking-guidelines.md +478 -0
  424. package/proagents/testing-standards/test-naming.md +485 -0
  425. package/proagents/testing-standards/test-patterns.md +488 -0
  426. package/proagents/troubleshooting/README.md +730 -0
  427. package/proagents/troubleshooting/ai-issues.md +601 -0
  428. package/proagents/troubleshooting/workflow-issues.md +571 -0
  429. package/proagents/ui-integration/README.md +77 -0
  430. package/proagents/ui-integration/figma-guide.md +217 -0
  431. package/proagents/ui-integration/manual-export-guide.md +358 -0
  432. package/proagents/ui-integration/sketch-interpretation.md +471 -0
  433. package/proagents/webhooks/README.md +126 -0
  434. package/proagents/webhooks/endpoints.md +298 -0
  435. package/proagents/webhooks/events.md +316 -0
  436. package/proagents/webhooks/payloads.md +325 -0
  437. package/proagents/webhooks/reliability.md +363 -0
  438. package/proagents/webhooks/security.md +380 -0
  439. package/proagents/workflow-modes/README.md +136 -0
  440. package/proagents/workflow-modes/deferred-tracking.md +405 -0
  441. package/proagents/workflow-modes/entry-modes.md +397 -0
  442. package/proagents/workflow-modes/guardrails.md +405 -0
  443. package/proagents/workflow-modes/mode-detection.md +358 -0
  444. package/proagents/workflow-modes/mode-switching.md +372 -0
@@ -0,0 +1,754 @@
1
+ # Custom Rules Engine
2
+
3
+ Define comprehensive custom rules to enforce project-specific standards.
4
+
5
+ ---
6
+
7
+ ## Overview
8
+
9
+ The custom rules engine allows you to:
10
+ - Define any validation rules for your project
11
+ - Override ProAgents defaults completely
12
+ - Create framework-specific rules
13
+ - Enforce team conventions automatically
14
+ - Block non-compliant code from merging
15
+
16
+ ---
17
+
18
+ ## Rule Definition Structure
19
+
20
+ ### Complete Rule Schema
21
+
22
+ ```yaml
23
+ # proagents/rules/custom-rules.yaml
24
+
25
+ rules:
26
+ - id: "unique-rule-id"
27
+ name: "Human Readable Name"
28
+ description: "What this rule enforces"
29
+ type: "naming | structure | pattern | security | testing | custom"
30
+
31
+ # What to check
32
+ pattern: "regex pattern" # For pattern-based rules
33
+ condition: "condition expression" # For conditional rules
34
+
35
+ # Where to apply
36
+ applies_to:
37
+ files: ["**/*.tsx", "**/*.ts"] # Glob patterns
38
+ directories: ["src/components"] # Specific directories
39
+ exclude: ["**/*.test.ts"] # Exclusions
40
+
41
+ # Behavior
42
+ severity: "error | warning | info | off"
43
+ auto_fix: true # Can be auto-fixed?
44
+ fix_template: "replacement template" # How to fix
45
+
46
+ # Messaging
47
+ message: "Error message to display"
48
+ documentation: "link or detailed explanation"
49
+
50
+ # Dependencies
51
+ requires: ["other-rule-id"] # Must pass first
52
+ conflicts_with: ["conflicting-rule"] # Cannot be used together
53
+ ```
54
+
55
+ ---
56
+
57
+ ## Rule Categories
58
+
59
+ ### 1. Naming Rules
60
+
61
+ Enforce naming conventions across your codebase.
62
+
63
+ ```yaml
64
+ naming_rules:
65
+ # Component naming
66
+ - id: "component-pascal-case"
67
+ name: "Component PascalCase"
68
+ type: "naming"
69
+ pattern: "^[A-Z][a-zA-Z0-9]*$"
70
+ applies_to:
71
+ files: ["**/components/**/*.tsx"]
72
+ target: "filename" # filename | export | variable | function
73
+ message: "Component files must be PascalCase (e.g., UserProfile.tsx)"
74
+ severity: "error"
75
+
76
+ # Hook naming
77
+ - id: "hook-use-prefix"
78
+ name: "Hook use Prefix"
79
+ type: "naming"
80
+ pattern: "^use[A-Z][a-zA-Z0-9]*$"
81
+ applies_to:
82
+ files: ["**/hooks/**/*.ts"]
83
+ target: "export"
84
+ message: "Hooks must start with 'use' (e.g., useAuth, useUserData)"
85
+ severity: "error"
86
+
87
+ # Service naming
88
+ - id: "service-suffix"
89
+ name: "Service Suffix"
90
+ type: "naming"
91
+ pattern: ".*Service$"
92
+ applies_to:
93
+ files: ["**/services/**/*.ts"]
94
+ target: "export"
95
+ message: "Services must end with 'Service' (e.g., AuthService)"
96
+ severity: "warning"
97
+
98
+ # Constant naming
99
+ - id: "constants-upper-snake"
100
+ name: "Constants UPPER_SNAKE_CASE"
101
+ type: "naming"
102
+ pattern: "^[A-Z][A-Z0-9_]*$"
103
+ context: "const declaration at module level"
104
+ message: "Module-level constants must be UPPER_SNAKE_CASE"
105
+ severity: "warning"
106
+
107
+ # Type/Interface naming
108
+ - id: "type-prefix"
109
+ name: "Type Naming Convention"
110
+ type: "naming"
111
+ pattern: "^(I[A-Z]|T[A-Z]|[A-Z])"
112
+ applies_to:
113
+ files: ["**/*.ts", "**/*.tsx"]
114
+ target: "type_declaration"
115
+ message: "Types should be PascalCase, optionally prefixed with I or T"
116
+ severity: "info"
117
+ ```
118
+
119
+ ### 2. Structure Rules
120
+
121
+ Enforce file organization and import patterns.
122
+
123
+ ```yaml
124
+ structure_rules:
125
+ # Prevent deep nesting
126
+ - id: "max-directory-depth"
127
+ name: "Maximum Directory Depth"
128
+ type: "structure"
129
+ rule: "directory_depth"
130
+ max_depth: 5
131
+ applies_to:
132
+ directories: ["src"]
133
+ message: "Directory nesting should not exceed 5 levels"
134
+ severity: "warning"
135
+
136
+ # Enforce import boundaries
137
+ - id: "no-cross-feature-imports"
138
+ name: "No Cross-Feature Imports"
139
+ type: "structure"
140
+ rule: "import_boundary"
141
+ boundaries:
142
+ - from: "src/features/auth"
143
+ cannot_import_from: ["src/features/payments", "src/features/admin"]
144
+ - from: "src/features/*"
145
+ can_only_import_from: ["src/shared", "src/lib", "same_feature"]
146
+ message: "Features should not import from other features directly"
147
+ severity: "error"
148
+
149
+ # Enforce barrel exports
150
+ - id: "barrel-exports"
151
+ name: "Use Barrel Exports"
152
+ type: "structure"
153
+ rule: "barrel_exports"
154
+ applies_to:
155
+ directories: ["src/components", "src/hooks"]
156
+ require_index: true
157
+ message: "Directories must have index.ts barrel export"
158
+ severity: "warning"
159
+
160
+ # Prevent circular dependencies
161
+ - id: "no-circular-deps"
162
+ name: "No Circular Dependencies"
163
+ type: "structure"
164
+ rule: "circular_dependency"
165
+ applies_to:
166
+ files: ["src/**/*.ts"]
167
+ message: "Circular dependencies are not allowed"
168
+ severity: "error"
169
+
170
+ # Component file structure
171
+ - id: "component-structure"
172
+ name: "Component File Structure"
173
+ type: "structure"
174
+ rule: "file_structure"
175
+ applies_to:
176
+ directories: ["src/components/*"]
177
+ required_files:
178
+ - "{ComponentName}.tsx"
179
+ - "{ComponentName}.test.tsx"
180
+ - "index.ts"
181
+ optional_files:
182
+ - "{ComponentName}.module.css"
183
+ - "{ComponentName}.types.ts"
184
+ message: "Components must have required files"
185
+ severity: "warning"
186
+ ```
187
+
188
+ ### 3. Code Pattern Rules
189
+
190
+ Detect, require, or forbid specific code patterns.
191
+
192
+ ```yaml
193
+ pattern_rules:
194
+ # Forbidden patterns
195
+ - id: "no-console-log"
196
+ name: "No Console.log"
197
+ type: "pattern"
198
+ pattern: "console\\.log\\("
199
+ action: "forbid"
200
+ applies_to:
201
+ files: ["src/**/*.ts", "src/**/*.tsx"]
202
+ exclude: ["**/*.test.ts", "**/*.spec.ts"]
203
+ message: "Remove console.log statements before committing"
204
+ severity: "warning"
205
+ auto_fix: true
206
+ fix_template: "" # Remove the line
207
+
208
+ - id: "no-any-type"
209
+ name: "No Any Type"
210
+ type: "pattern"
211
+ pattern: ":\\s*any\\b"
212
+ action: "forbid"
213
+ applies_to:
214
+ files: ["src/**/*.ts"]
215
+ exclude: ["src/types/vendor.d.ts"]
216
+ message: "Avoid using 'any' type. Use proper typing or 'unknown'"
217
+ severity: "warning"
218
+
219
+ - id: "no-hardcoded-strings"
220
+ name: "No Hardcoded UI Strings"
221
+ type: "pattern"
222
+ pattern: ">['\"][^{][^'\"]+['\"]<"
223
+ action: "forbid"
224
+ applies_to:
225
+ files: ["src/components/**/*.tsx"]
226
+ message: "Use i18n for UI strings instead of hardcoding"
227
+ severity: "warning"
228
+
229
+ # Required patterns
230
+ - id: "require-error-boundary"
231
+ name: "Require Error Boundary"
232
+ type: "pattern"
233
+ pattern: "<ErrorBoundary>"
234
+ action: "require"
235
+ applies_to:
236
+ files: ["src/pages/**/*.tsx"]
237
+ message: "Page components must be wrapped in ErrorBoundary"
238
+ severity: "error"
239
+
240
+ - id: "require-memo-large-components"
241
+ name: "Memo Large Components"
242
+ type: "pattern"
243
+ condition: "component_lines > 100"
244
+ pattern: "memo\\("
245
+ action: "require"
246
+ message: "Large components (>100 lines) should use memo()"
247
+ severity: "info"
248
+
249
+ # Pattern with context
250
+ - id: "async-error-handling"
251
+ name: "Async Error Handling"
252
+ type: "pattern"
253
+ pattern: "await\\s+[^;]+;"
254
+ requires_nearby: "try|catch|.catch"
255
+ applies_to:
256
+ files: ["src/**/*.ts"]
257
+ message: "Async operations should have error handling"
258
+ severity: "warning"
259
+ ```
260
+
261
+ ### 4. Security Rules
262
+
263
+ Enforce security best practices.
264
+
265
+ ```yaml
266
+ security_rules:
267
+ # Dangerous functions
268
+ - id: "no-eval"
269
+ name: "No Eval"
270
+ type: "security"
271
+ pattern: "\\beval\\s*\\("
272
+ severity: "error"
273
+ message: "eval() is a security risk. Use safer alternatives."
274
+ owasp: "A03:2021-Injection"
275
+
276
+ - id: "no-innerhtml"
277
+ name: "No innerHTML"
278
+ type: "security"
279
+ pattern: "\\.innerHTML\\s*="
280
+ severity: "error"
281
+ message: "innerHTML can lead to XSS. Use textContent or sanitize input."
282
+ owasp: "A03:2021-Injection"
283
+
284
+ - id: "no-dangerously-set-html"
285
+ name: "No dangerouslySetInnerHTML"
286
+ type: "security"
287
+ pattern: "dangerouslySetInnerHTML"
288
+ severity: "warning"
289
+ message: "dangerouslySetInnerHTML can lead to XSS. Ensure content is sanitized."
290
+ documentation: "https://react.dev/reference/react-dom/components/common#dangerously-setting-the-inner-html"
291
+
292
+ # Secrets detection
293
+ - id: "no-hardcoded-secrets"
294
+ name: "No Hardcoded Secrets"
295
+ type: "security"
296
+ patterns:
297
+ - "api[_-]?key\\s*[:=]\\s*['\"][^'\"]+['\"]"
298
+ - "password\\s*[:=]\\s*['\"][^'\"]+['\"]"
299
+ - "secret\\s*[:=]\\s*['\"][^'\"]+['\"]"
300
+ - "token\\s*[:=]\\s*['\"][^'\"]+['\"]"
301
+ case_insensitive: true
302
+ severity: "error"
303
+ message: "Never hardcode secrets. Use environment variables."
304
+
305
+ # SQL injection
306
+ - id: "no-string-sql"
307
+ name: "No String Concatenation in SQL"
308
+ type: "security"
309
+ pattern: "(query|execute)\\s*\\([^)]*\\+[^)]*\\)"
310
+ severity: "error"
311
+ message: "Use parameterized queries to prevent SQL injection"
312
+ owasp: "A03:2021-Injection"
313
+
314
+ # URL validation
315
+ - id: "validate-urls"
316
+ name: "Validate External URLs"
317
+ type: "security"
318
+ pattern: "window\\.location\\s*=|location\\.href\\s*="
319
+ severity: "warning"
320
+ message: "Validate URLs before redirecting to prevent open redirect vulnerabilities"
321
+ ```
322
+
323
+ ### 5. Testing Rules
324
+
325
+ Ensure adequate testing practices.
326
+
327
+ ```yaml
328
+ testing_rules:
329
+ # Coverage requirements
330
+ - id: "min-coverage"
331
+ name: "Minimum Test Coverage"
332
+ type: "testing"
333
+ rule: "coverage"
334
+ thresholds:
335
+ statements: 80
336
+ branches: 75
337
+ functions: 80
338
+ lines: 80
339
+ applies_to:
340
+ files: ["src/**/*.ts"]
341
+ exclude: ["src/**/*.d.ts", "src/**/*.test.ts"]
342
+ severity: "error"
343
+ message: "Test coverage must meet minimum thresholds"
344
+
345
+ # Test file existence
346
+ - id: "require-tests"
347
+ name: "Require Test Files"
348
+ type: "testing"
349
+ rule: "test_existence"
350
+ applies_to:
351
+ files: ["src/components/**/*.tsx", "src/services/**/*.ts"]
352
+ test_pattern: "{filename}.test.{ext}"
353
+ message: "Each component/service must have a corresponding test file"
354
+ severity: "warning"
355
+
356
+ # Test structure
357
+ - id: "test-describe-blocks"
358
+ name: "Test Describe Blocks"
359
+ type: "testing"
360
+ pattern: "describe\\s*\\(['\"]"
361
+ action: "require"
362
+ applies_to:
363
+ files: ["**/*.test.ts", "**/*.spec.ts"]
364
+ message: "Tests should be organized in describe blocks"
365
+ severity: "info"
366
+
367
+ # Assertion requirements
368
+ - id: "meaningful-assertions"
369
+ name: "Meaningful Assertions"
370
+ type: "testing"
371
+ rule: "assertion_count"
372
+ minimum_assertions_per_test: 1
373
+ message: "Each test must have at least one assertion"
374
+ severity: "error"
375
+ ```
376
+
377
+ ### 6. Custom Domain Rules
378
+
379
+ Create rules specific to your domain.
380
+
381
+ ```yaml
382
+ custom_rules:
383
+ # E-commerce example
384
+ - id: "price-formatting"
385
+ name: "Price Formatting"
386
+ type: "custom"
387
+ condition: "variable_name contains 'price' or 'cost' or 'amount'"
388
+ requires_function: "formatCurrency"
389
+ message: "Monetary values must use formatCurrency() for display"
390
+ severity: "warning"
391
+
392
+ # API response handling
393
+ - id: "api-error-handling"
394
+ name: "API Error Handling"
395
+ type: "custom"
396
+ pattern: "fetch\\(|axios\\."
397
+ requires_pattern: "\\.catch\\(|try\\s*\\{|handleError"
398
+ message: "API calls must have error handling"
399
+ severity: "error"
400
+
401
+ # Analytics tracking
402
+ - id: "button-analytics"
403
+ name: "Button Analytics Tracking"
404
+ type: "custom"
405
+ condition: "<Button onClick"
406
+ requires_pattern: "track(Click|Event)|analytics\\."
407
+ applies_to:
408
+ files: ["src/components/**/*.tsx"]
409
+ message: "Button clicks should be tracked for analytics"
410
+ severity: "info"
411
+
412
+ # Accessibility
413
+ - id: "img-alt-text"
414
+ name: "Image Alt Text"
415
+ type: "custom"
416
+ pattern: "<img\\s+(?![^>]*alt=)"
417
+ severity: "error"
418
+ message: "Images must have alt text for accessibility"
419
+
420
+ - id: "form-labels"
421
+ name: "Form Input Labels"
422
+ type: "custom"
423
+ pattern: "<input(?![^>]*(aria-label|aria-labelledby|id=['\"][^'\"]+['\"][^>]*<label[^>]*for))"
424
+ severity: "error"
425
+ message: "Form inputs must have associated labels"
426
+ ```
427
+
428
+ ---
429
+
430
+ ## Override System
431
+
432
+ ### Override Hierarchy
433
+
434
+ ```
435
+ Priority (highest to lowest):
436
+ 1. Inline comments (// @proagents-ignore rule-id)
437
+ 2. File-level overrides
438
+ 3. Directory-level overrides
439
+ 4. Project configuration
440
+ 5. ProAgents defaults
441
+ ```
442
+
443
+ ### Inline Overrides
444
+
445
+ ```typescript
446
+ // Ignore next line
447
+ // @proagents-ignore no-console-log
448
+ console.log("Debugging");
449
+
450
+ // Ignore specific rule for block
451
+ /* @proagents-disable no-any-type */
452
+ const data: any = externalLibrary.getData();
453
+ /* @proagents-enable no-any-type */
454
+
455
+ // Ignore with reason (recommended)
456
+ // @proagents-ignore no-hardcoded-strings -- Legacy code, will be fixed in TICKET-123
457
+ ```
458
+
459
+ ### File-Level Overrides
460
+
461
+ ```yaml
462
+ # At top of file: proagents.yaml
463
+ rules:
464
+ no-console-log: "off"
465
+ min-coverage:
466
+ threshold: 50 # Lower for this file
467
+ ```
468
+
469
+ Or in the file itself:
470
+ ```typescript
471
+ /* @proagents-file-config
472
+ rules:
473
+ no-any-type: warning
474
+ */
475
+ ```
476
+
477
+ ### Directory-Level Overrides
478
+
479
+ ```yaml
480
+ # proagents/rules/overrides.yaml
481
+
482
+ directory_overrides:
483
+ - path: "src/legacy/**"
484
+ rules:
485
+ no-any-type: "off"
486
+ min-coverage: "off"
487
+ component-pascal-case: "warning"
488
+ reason: "Legacy code, gradual migration"
489
+
490
+ - path: "src/generated/**"
491
+ rules:
492
+ all: "off"
493
+ reason: "Auto-generated code"
494
+
495
+ - path: "src/vendor/**"
496
+ rules:
497
+ all: "off"
498
+ reason: "Third-party code"
499
+
500
+ - path: "**/*.test.ts"
501
+ rules:
502
+ no-console-log: "off"
503
+ no-any-type: "warning"
504
+ ```
505
+
506
+ ### Project-Level Configuration
507
+
508
+ ```yaml
509
+ # proagents.config.yaml
510
+
511
+ rules:
512
+ enabled: true
513
+ config_file: "proagents/rules/custom-rules.yaml"
514
+
515
+ # Override default severity
516
+ severity_overrides:
517
+ no-any-type: "error" # Make stricter
518
+ no-console-log: "warning" # Make lenient
519
+
520
+ # Completely disable rules
521
+ disabled_rules:
522
+ - "some-rule-id"
523
+
524
+ # Add additional rules
525
+ additional_rules:
526
+ - "./team-rules.yaml"
527
+ - "@company/shared-rules"
528
+ ```
529
+
530
+ ---
531
+
532
+ ## Conditional Rules
533
+
534
+ ### Based on File Context
535
+
536
+ ```yaml
537
+ conditional_rules:
538
+ - id: "strict-in-core"
539
+ name: "Strict Rules in Core"
540
+ base_rule: "no-any-type"
541
+ conditions:
542
+ - when:
543
+ path_matches: "src/core/**"
544
+ then:
545
+ severity: "error"
546
+ - when:
547
+ path_matches: "src/features/**"
548
+ then:
549
+ severity: "warning"
550
+ - when:
551
+ path_matches: "src/experimental/**"
552
+ then:
553
+ severity: "off"
554
+ ```
555
+
556
+ ### Based on Git Context
557
+
558
+ ```yaml
559
+ conditional_rules:
560
+ - id: "stricter-on-main"
561
+ conditions:
562
+ - when:
563
+ branch: "main"
564
+ then:
565
+ fail_on_warning: true
566
+ - when:
567
+ branch: "feature/*"
568
+ then:
569
+ fail_on_warning: false
570
+ ```
571
+
572
+ ### Based on Environment
573
+
574
+ ```yaml
575
+ conditional_rules:
576
+ - id: "ci-strictness"
577
+ conditions:
578
+ - when:
579
+ environment: "ci"
580
+ then:
581
+ all_warnings_as_errors: true
582
+ - when:
583
+ environment: "local"
584
+ then:
585
+ all_warnings_as_errors: false
586
+ ```
587
+
588
+ ---
589
+
590
+ ## Rule Composition
591
+
592
+ ### Combining Rules
593
+
594
+ ```yaml
595
+ composed_rules:
596
+ - id: "strict-component-rules"
597
+ name: "Strict Component Rules"
598
+ compose:
599
+ - component-pascal-case
600
+ - require-error-boundary
601
+ - component-structure
602
+ - require-tests
603
+ applies_to:
604
+ directories: ["src/components"]
605
+ severity: "error"
606
+
607
+ - id: "lenient-utility-rules"
608
+ name: "Lenient Utility Rules"
609
+ compose:
610
+ - no-any-type
611
+ - no-console-log
612
+ severity: "warning"
613
+ applies_to:
614
+ directories: ["src/utils"]
615
+ ```
616
+
617
+ ### Rule Groups
618
+
619
+ ```yaml
620
+ rule_groups:
621
+ security:
622
+ description: "All security-related rules"
623
+ rules:
624
+ - no-eval
625
+ - no-innerhtml
626
+ - no-hardcoded-secrets
627
+ - no-string-sql
628
+ enable_all: true
629
+ severity: "error"
630
+
631
+ performance:
632
+ description: "Performance optimization rules"
633
+ rules:
634
+ - require-memo-large-components
635
+ - no-inline-styles
636
+ - lazy-load-images
637
+ enable_all: true
638
+ severity: "warning"
639
+
640
+ accessibility:
641
+ description: "Accessibility rules"
642
+ rules:
643
+ - img-alt-text
644
+ - form-labels
645
+ - aria-attributes
646
+ enable_all: true
647
+ severity: "error"
648
+ ```
649
+
650
+ ---
651
+
652
+ ## Custom Rule Functions
653
+
654
+ For complex validation, define custom functions:
655
+
656
+ ```yaml
657
+ custom_functions:
658
+ - id: "validate-api-response"
659
+ name: "Validate API Response Typing"
660
+ type: "function"
661
+ language: "javascript"
662
+ code: |
663
+ function validate(fileContent, ast) {
664
+ const apiCalls = ast.findAll('CallExpression', {
665
+ callee: /fetch|axios/
666
+ });
667
+
668
+ const issues = [];
669
+ for (const call of apiCalls) {
670
+ if (!hasTypeAssertion(call)) {
671
+ issues.push({
672
+ line: call.loc.start.line,
673
+ message: 'API response should be typed'
674
+ });
675
+ }
676
+ }
677
+ return issues;
678
+ }
679
+ severity: "warning"
680
+ ```
681
+
682
+ ---
683
+
684
+ ## Integration
685
+
686
+ ### Pre-commit Hook
687
+
688
+ ```yaml
689
+ # .husky/pre-commit
690
+ proagents rules-check --staged-only --fail-on-error
691
+ ```
692
+
693
+ ### CI/CD
694
+
695
+ ```yaml
696
+ # .github/workflows/rules.yml
697
+ - name: Run ProAgents Rules
698
+ run: proagents rules-check --ci --report-format=github
699
+ ```
700
+
701
+ ### IDE Integration
702
+
703
+ ```yaml
704
+ # .vscode/settings.json
705
+ {
706
+ "proagents.rules.enabled": true,
707
+ "proagents.rules.showInlineWarnings": true,
708
+ "proagents.rules.autoFix": true
709
+ }
710
+ ```
711
+
712
+ ---
713
+
714
+ ## Reporting
715
+
716
+ ### Rule Violations Report
717
+
718
+ ```
719
+ ┌─────────────────────────────────────────────────────────────┐
720
+ │ Rule Violations Report │
721
+ ├─────────────────────────────────────────────────────────────┤
722
+ │ │
723
+ │ Total Violations: 45 │
724
+ │ ├── Errors: 12 (must fix) │
725
+ │ ├── Warnings: 28 (should fix) │
726
+ │ └── Info: 5 (consider) │
727
+ │ │
728
+ │ By Rule: │
729
+ │ ├── no-any-type: 15 │
730
+ │ ├── component-pascal-case: 8 │
731
+ │ ├── require-tests: 7 │
732
+ │ └── other: 15 │
733
+ │ │
734
+ │ Files with most violations: │
735
+ │ ├── src/legacy/OldComponent.tsx: 12 │
736
+ │ ├── src/utils/helpers.ts: 8 │
737
+ │ └── src/services/api.ts: 5 │
738
+ │ │
739
+ └─────────────────────────────────────────────────────────────┘
740
+ ```
741
+
742
+ ---
743
+
744
+ ## Slash Commands
745
+
746
+ | Command | Description |
747
+ |---------|-------------|
748
+ | `/rules-check` | Run all rule validations |
749
+ | `/rules-check --fix` | Auto-fix violations |
750
+ | `/rules-list` | List all active rules |
751
+ | `/rules-add` | Interactive rule creation |
752
+ | `/rules-disable [id]` | Disable a rule |
753
+ | `/rules-explain [id]` | Explain what a rule does |
754
+ | `/rules-report` | Generate violations report |