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,485 @@
1
+ # Test Naming Conventions
2
+
3
+ Consistent naming patterns for tests, files, and test suites.
4
+
5
+ ---
6
+
7
+ ## File Naming
8
+
9
+ ### Test File Patterns
10
+
11
+ | Pattern | Usage | Example |
12
+ |---------|-------|---------|
13
+ | `*.test.ts` | Unit tests | `userService.test.ts` |
14
+ | `*.spec.ts` | Unit/integration tests | `userService.spec.ts` |
15
+ | `*.integration.test.ts` | Integration tests | `database.integration.test.ts` |
16
+ | `*.e2e.test.ts` | End-to-end tests | `checkout.e2e.test.ts` |
17
+
18
+ ### Configuration
19
+
20
+ ```yaml
21
+ # proagents.config.yaml
22
+ testing:
23
+ naming:
24
+ # File patterns
25
+ files:
26
+ unit: "{name}.test.ts"
27
+ integration: "{name}.integration.test.ts"
28
+ e2e: "{name}.e2e.test.ts"
29
+
30
+ # Test directory structure
31
+ structure:
32
+ colocated: false # Tests next to source files
33
+ separate: true # Tests in __tests__ directory
34
+
35
+ # Describe blocks
36
+ describe:
37
+ style: "PascalCase" # Match class/component names
38
+
39
+ # It blocks
40
+ it:
41
+ prefix: "should"
42
+ style: "sentence"
43
+ ```
44
+
45
+ ---
46
+
47
+ ## Test Suite Naming
48
+
49
+ ### Describe Block Patterns
50
+
51
+ ```typescript
52
+ // For classes: Use class name
53
+ describe('UserService', () => {
54
+ // Tests here
55
+ });
56
+
57
+ // For functions: Use function name
58
+ describe('validateEmail', () => {
59
+ // Tests here
60
+ });
61
+
62
+ // For components: Use component name
63
+ describe('UserProfileCard', () => {
64
+ // Tests here
65
+ });
66
+
67
+ // For modules: Use module path
68
+ describe('services/auth', () => {
69
+ // Tests here
70
+ });
71
+ ```
72
+
73
+ ### Nested Describe Patterns
74
+
75
+ ```typescript
76
+ // Method grouping
77
+ describe('UserService', () => {
78
+ describe('createUser', () => {
79
+ // Tests for createUser
80
+ });
81
+
82
+ describe('deleteUser', () => {
83
+ // Tests for deleteUser
84
+ });
85
+ });
86
+
87
+ // Context grouping (Given-When-Then style)
88
+ describe('OrderService', () => {
89
+ describe('calculateTotal', () => {
90
+ describe('given valid items', () => {
91
+ describe('when calculating with tax', () => {
92
+ it('should include tax in total', () => {
93
+ // Test
94
+ });
95
+ });
96
+ });
97
+
98
+ describe('given empty cart', () => {
99
+ it('should return zero', () => {
100
+ // Test
101
+ });
102
+ });
103
+ });
104
+ });
105
+
106
+ // State grouping
107
+ describe('ShoppingCart', () => {
108
+ describe('when empty', () => {
109
+ it('should have zero items', () => {});
110
+ it('should have zero total', () => {});
111
+ });
112
+
113
+ describe('when has items', () => {
114
+ it('should calculate correct total', () => {});
115
+ it('should allow item removal', () => {});
116
+ });
117
+ });
118
+ ```
119
+
120
+ ---
121
+
122
+ ## Test Case Naming
123
+
124
+ ### The "should" Pattern
125
+
126
+ ```typescript
127
+ // ✅ Good: Describes expected behavior
128
+ it('should return user when valid ID provided', () => {});
129
+ it('should throw NotFoundError when user does not exist', () => {});
130
+ it('should hash password before saving', () => {});
131
+
132
+ // ❌ Bad: Vague or implementation-focused
133
+ it('test user', () => {});
134
+ it('works correctly', () => {});
135
+ it('calls the database', () => {});
136
+ ```
137
+
138
+ ### Naming Formula
139
+
140
+ ```
141
+ it('should [expected behavior] when [condition/context]')
142
+
143
+ Examples:
144
+ - 'should return null when user not found'
145
+ - 'should throw ValidationError when email is invalid'
146
+ - 'should emit event when order is placed'
147
+ - 'should redirect to login when session expires'
148
+ ```
149
+
150
+ ### Action-Based Naming
151
+
152
+ ```typescript
153
+ // For actions/mutations
154
+ it('should create user with hashed password', () => {});
155
+ it('should update order status to shipped', () => {});
156
+ it('should delete all related records', () => {});
157
+
158
+ // For queries/reads
159
+ it('should return all active users', () => {});
160
+ it('should find order by tracking number', () => {});
161
+ it('should calculate correct discount amount', () => {});
162
+
163
+ // For side effects
164
+ it('should send welcome email after registration', () => {});
165
+ it('should log error when payment fails', () => {});
166
+ it('should invalidate cache after update', () => {});
167
+ ```
168
+
169
+ ---
170
+
171
+ ## Edge Case Naming
172
+
173
+ ### Error Cases
174
+
175
+ ```typescript
176
+ describe('UserService', () => {
177
+ describe('getUser', () => {
178
+ // Happy path
179
+ it('should return user when valid ID provided', () => {});
180
+
181
+ // Error cases - explicit about the error
182
+ it('should throw NotFoundError when user does not exist', () => {});
183
+ it('should throw ValidationError when ID is invalid format', () => {});
184
+ it('should throw AuthorizationError when user lacks permission', () => {});
185
+ });
186
+ });
187
+ ```
188
+
189
+ ### Boundary Cases
190
+
191
+ ```typescript
192
+ describe('validateAge', () => {
193
+ // Boundaries named explicitly
194
+ it('should reject age below minimum (0)', () => {});
195
+ it('should accept minimum valid age (1)', () => {});
196
+ it('should accept maximum valid age (120)', () => {});
197
+ it('should reject age above maximum (121)', () => {});
198
+
199
+ // Edge values
200
+ it('should handle null input', () => {});
201
+ it('should handle undefined input', () => {});
202
+ it('should handle negative numbers', () => {});
203
+ });
204
+ ```
205
+
206
+ ### Special Cases
207
+
208
+ ```typescript
209
+ describe('formatCurrency', () => {
210
+ it('should format positive amounts with currency symbol', () => {});
211
+ it('should format negative amounts with minus sign', () => {});
212
+ it('should format zero as $0.00', () => {});
213
+ it('should round to two decimal places', () => {});
214
+ it('should handle very large numbers', () => {});
215
+ it('should handle very small decimals', () => {});
216
+ });
217
+ ```
218
+
219
+ ---
220
+
221
+ ## Integration Test Naming
222
+
223
+ ### API Tests
224
+
225
+ ```typescript
226
+ describe('POST /api/users', () => {
227
+ it('should create user and return 201', () => {});
228
+ it('should return 400 when email is missing', () => {});
229
+ it('should return 409 when email already exists', () => {});
230
+ it('should return 401 when not authenticated', () => {});
231
+ });
232
+
233
+ describe('GET /api/users/:id', () => {
234
+ it('should return user when exists', () => {});
235
+ it('should return 404 when user not found', () => {});
236
+ });
237
+ ```
238
+
239
+ ### Database Tests
240
+
241
+ ```typescript
242
+ describe('UserRepository', () => {
243
+ describe('with PostgreSQL', () => {
244
+ it('should persist user to database', () => {});
245
+ it('should retrieve user by email', () => {});
246
+ it('should update user fields', () => {});
247
+ it('should handle concurrent updates', () => {});
248
+ });
249
+ });
250
+ ```
251
+
252
+ ---
253
+
254
+ ## E2E Test Naming
255
+
256
+ ### User Journey Pattern
257
+
258
+ ```typescript
259
+ describe('User Registration Flow', () => {
260
+ it('should complete registration with valid data', () => {});
261
+ it('should show validation errors for invalid email', () => {});
262
+ it('should redirect to dashboard after successful registration', () => {});
263
+ });
264
+
265
+ describe('Checkout Flow', () => {
266
+ it('should complete purchase with credit card', () => {});
267
+ it('should apply discount code correctly', () => {});
268
+ it('should show order confirmation after payment', () => {});
269
+ });
270
+ ```
271
+
272
+ ### Feature-Based Pattern
273
+
274
+ ```typescript
275
+ describe('Feature: User Authentication', () => {
276
+ describe('Scenario: Successful login', () => {
277
+ it('should allow login with valid credentials', () => {});
278
+ it('should display user dashboard after login', () => {});
279
+ });
280
+
281
+ describe('Scenario: Failed login', () => {
282
+ it('should show error for invalid password', () => {});
283
+ it('should lock account after 5 failed attempts', () => {});
284
+ });
285
+ });
286
+ ```
287
+
288
+ ---
289
+
290
+ ## Component Test Naming
291
+
292
+ ### React Component Tests
293
+
294
+ ```typescript
295
+ describe('LoginForm', () => {
296
+ // Rendering
297
+ it('should render email and password inputs', () => {});
298
+ it('should render submit button', () => {});
299
+
300
+ // User interactions
301
+ it('should update email field on input', () => {});
302
+ it('should call onSubmit with credentials when form submitted', () => {});
303
+
304
+ // States
305
+ it('should disable submit button when loading', () => {});
306
+ it('should display error message when login fails', () => {});
307
+
308
+ // Accessibility
309
+ it('should have accessible form labels', () => {});
310
+ it('should focus first input on mount', () => {});
311
+ });
312
+ ```
313
+
314
+ ### Snapshot Tests
315
+
316
+ ```typescript
317
+ describe('Button', () => {
318
+ it('should match snapshot for primary variant', () => {});
319
+ it('should match snapshot for secondary variant', () => {});
320
+ it('should match snapshot for disabled state', () => {});
321
+ });
322
+ ```
323
+
324
+ ---
325
+
326
+ ## Anti-Patterns
327
+
328
+ ### Names to Avoid
329
+
330
+ ```typescript
331
+ // ❌ Too vague
332
+ it('works', () => {});
333
+ it('test 1', () => {});
334
+ it('should work correctly', () => {});
335
+
336
+ // ❌ Implementation-focused (not behavior)
337
+ it('calls fetchUser function', () => {});
338
+ it('sets state to loading', () => {});
339
+ it('uses the cache', () => {});
340
+
341
+ // ❌ Negative phrasing (confusing)
342
+ it('should not not fail', () => {});
343
+ it('should not throw when valid', () => {}); // Better: 'should succeed when valid'
344
+
345
+ // ❌ Multiple behaviors in one name
346
+ it('should validate, save, and send email', () => {});
347
+
348
+ // ❌ Copy-paste artifacts
349
+ it('should create user (copy)', () => {});
350
+ it('should create user 2', () => {});
351
+ ```
352
+
353
+ ### Better Alternatives
354
+
355
+ ```typescript
356
+ // ✅ Clear and specific
357
+ it('should return user data when valid ID provided', () => {});
358
+
359
+ // ✅ Behavior-focused
360
+ it('should hash password before saving to database', () => {});
361
+
362
+ // ✅ Positive phrasing
363
+ it('should succeed when input is valid', () => {});
364
+
365
+ // ✅ Single behavior per test
366
+ it('should validate email format', () => {});
367
+ it('should save user to database', () => {});
368
+ it('should send welcome email', () => {});
369
+ ```
370
+
371
+ ---
372
+
373
+ ## Parameterized Test Naming
374
+
375
+ ### Table-Driven Tests
376
+
377
+ ```typescript
378
+ describe('validateEmail', () => {
379
+ // Use descriptive table headers
380
+ it.each([
381
+ ['user@example.com', true, 'standard email'],
382
+ ['user.name@example.co.uk', true, 'email with subdomain'],
383
+ ['invalid', false, 'missing @ symbol'],
384
+ ['user@', false, 'missing domain'],
385
+ ])(
386
+ 'should return %s for %s (%s)',
387
+ (email, expected, description) => {
388
+ expect(validateEmail(email)).toBe(expected);
389
+ }
390
+ );
391
+ });
392
+
393
+ // Alternative: descriptive name in test
394
+ describe('calculateDiscount', () => {
395
+ it.each([
396
+ { orderTotal: 100, expected: 0, description: 'no discount for small orders' },
397
+ { orderTotal: 500, expected: 25, description: '5% discount for medium orders' },
398
+ { orderTotal: 1000, expected: 100, description: '10% discount for large orders' },
399
+ ])(
400
+ 'should apply $description ($orderTotal -> $expected)',
401
+ ({ orderTotal, expected }) => {
402
+ expect(calculateDiscount(orderTotal)).toBe(expected);
403
+ }
404
+ );
405
+ });
406
+ ```
407
+
408
+ ---
409
+
410
+ ## Commands
411
+
412
+ ```bash
413
+ # Check test naming conventions
414
+ proagents test lint --check-naming
415
+
416
+ # Auto-fix naming issues
417
+ proagents test lint --fix-naming
418
+
419
+ # Generate test file with correct naming
420
+ proagents test scaffold UserService
421
+
422
+ # Validate all test names
423
+ proagents test validate --naming-only
424
+ ```
425
+
426
+ ---
427
+
428
+ ## Configuration Examples
429
+
430
+ ### Jest Configuration
431
+
432
+ ```javascript
433
+ // jest.config.js
434
+ module.exports = {
435
+ testMatch: [
436
+ '**/__tests__/**/*.test.ts',
437
+ '**/*.spec.ts',
438
+ ],
439
+ testPathIgnorePatterns: [
440
+ '/node_modules/',
441
+ ],
442
+ };
443
+ ```
444
+
445
+ ### ESLint Rules
446
+
447
+ ```javascript
448
+ // .eslintrc.js
449
+ module.exports = {
450
+ plugins: ['jest'],
451
+ rules: {
452
+ 'jest/valid-title': [
453
+ 'error',
454
+ {
455
+ mustMatch: {
456
+ it: '^should ',
457
+ test: '^should ',
458
+ },
459
+ mustNotMatch: {
460
+ it: ['\\.$', 'Ends with period'],
461
+ },
462
+ },
463
+ ],
464
+ 'jest/lowercase-name': [
465
+ 'error',
466
+ {
467
+ ignore: ['describe'],
468
+ },
469
+ ],
470
+ },
471
+ };
472
+ ```
473
+
474
+ ---
475
+
476
+ ## Best Practices
477
+
478
+ 1. **Be Descriptive**: Names should explain what is being tested without reading the code
479
+ 2. **Use "should"**: Start test names with "should" for consistent, readable tests
480
+ 3. **Include Context**: Mention the condition or scenario being tested
481
+ 4. **One Behavior Per Test**: Each test should verify a single behavior
482
+ 5. **Avoid Implementation Details**: Focus on behavior, not internal implementation
483
+ 6. **Match File to Source**: Test file names should match source file names
484
+ 7. **Group Related Tests**: Use nested describe blocks for logical grouping
485
+ 8. **Be Consistent**: Follow the same naming patterns across the entire project