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,560 @@
1
+ # Node.js API Project Standards
2
+
3
+ Complete standards example for Node.js backend/API projects.
4
+
5
+ ---
6
+
7
+ ## Naming Conventions
8
+
9
+ ### Files and Folders
10
+
11
+ | Type | Convention | Example |
12
+ |------|-----------|---------|
13
+ | Controllers | camelCase + `.controller` | `user.controller.ts` |
14
+ | Services | camelCase + `.service` | `user.service.ts` |
15
+ | Models | camelCase + `.model` | `user.model.ts` |
16
+ | Repositories | camelCase + `.repository` | `user.repository.ts` |
17
+ | Middleware | camelCase + `.middleware` | `auth.middleware.ts` |
18
+ | Routes | camelCase + `.routes` | `user.routes.ts` |
19
+ | Tests | Same + `.test` or `.spec` | `user.service.test.ts` |
20
+ | Types | camelCase + `.types` | `user.types.ts` |
21
+
22
+ ### Code Elements
23
+
24
+ ```typescript
25
+ // Classes - PascalCase
26
+ class UserService {}
27
+ class AuthMiddleware {}
28
+
29
+ // Functions - camelCase
30
+ function validateEmail() {}
31
+ const createUser = async () => {}
32
+
33
+ // Constants - UPPER_SNAKE_CASE
34
+ const MAX_LOGIN_ATTEMPTS = 5;
35
+ const DEFAULT_PAGE_SIZE = 20;
36
+
37
+ // Environment variables - UPPER_SNAKE_CASE
38
+ process.env.DATABASE_URL
39
+ process.env.JWT_SECRET
40
+
41
+ // Interfaces/Types - PascalCase
42
+ interface UserCreateDTO {}
43
+ type HttpMethod = 'GET' | 'POST' | 'PUT' | 'DELETE';
44
+
45
+ // Route parameters - camelCase
46
+ req.params.userId
47
+ req.query.pageSize
48
+ ```
49
+
50
+ ---
51
+
52
+ ## Directory Structure
53
+
54
+ ```
55
+ src/
56
+ ├── index.ts # Application entry point
57
+ ├── app.ts # Express app setup
58
+ ├── server.ts # Server startup
59
+
60
+ ├── config/ # Configuration
61
+ │ ├── index.ts
62
+ │ ├── database.ts
63
+ │ ├── auth.ts
64
+ │ └── env.ts
65
+
66
+ ├── modules/ # Feature modules
67
+ │ ├── users/
68
+ │ │ ├── user.controller.ts
69
+ │ │ ├── user.service.ts
70
+ │ │ ├── user.repository.ts
71
+ │ │ ├── user.model.ts
72
+ │ │ ├── user.routes.ts
73
+ │ │ ├── user.types.ts
74
+ │ │ ├── user.validation.ts
75
+ │ │ ├── __tests__/
76
+ │ │ │ ├── user.service.test.ts
77
+ │ │ │ └── user.controller.test.ts
78
+ │ │ └── index.ts
79
+ │ │
80
+ │ ├── auth/
81
+ │ │ ├── auth.controller.ts
82
+ │ │ ├── auth.service.ts
83
+ │ │ ├── auth.middleware.ts
84
+ │ │ └── ...
85
+ │ │
86
+ │ └── orders/
87
+ │ └── ...
88
+
89
+ ├── shared/ # Shared utilities
90
+ │ ├── middleware/
91
+ │ │ ├── error.middleware.ts
92
+ │ │ ├── logging.middleware.ts
93
+ │ │ └── validation.middleware.ts
94
+ │ ├── utils/
95
+ │ │ ├── errors.ts
96
+ │ │ ├── logger.ts
97
+ │ │ └── helpers.ts
98
+ │ └── types/
99
+ │ ├── express.d.ts
100
+ │ └── common.ts
101
+
102
+ ├── database/ # Database
103
+ │ ├── prisma/
104
+ │ │ ├── schema.prisma
105
+ │ │ └── migrations/
106
+ │ └── seeds/
107
+
108
+ └── tests/ # Integration tests
109
+ ├── setup.ts
110
+ └── integration/
111
+ ```
112
+
113
+ ---
114
+
115
+ ## Controller Pattern
116
+
117
+ ```typescript
118
+ // user.controller.ts
119
+ import { Request, Response, NextFunction } from 'express';
120
+ import { UserService } from './user.service';
121
+ import { CreateUserDTO, UpdateUserDTO } from './user.types';
122
+ import { HttpStatus } from '@/shared/constants';
123
+
124
+ export class UserController {
125
+ constructor(private readonly userService: UserService) {}
126
+
127
+ async getAll(req: Request, res: Response, next: NextFunction) {
128
+ try {
129
+ const { page = 1, limit = 20 } = req.query;
130
+ const users = await this.userService.findAll({
131
+ page: Number(page),
132
+ limit: Number(limit),
133
+ });
134
+ res.json(users);
135
+ } catch (error) {
136
+ next(error);
137
+ }
138
+ }
139
+
140
+ async getById(req: Request, res: Response, next: NextFunction) {
141
+ try {
142
+ const user = await this.userService.findById(req.params.id);
143
+ if (!user) {
144
+ return res.status(HttpStatus.NOT_FOUND).json({
145
+ error: 'User not found',
146
+ });
147
+ }
148
+ res.json(user);
149
+ } catch (error) {
150
+ next(error);
151
+ }
152
+ }
153
+
154
+ async create(req: Request, res: Response, next: NextFunction) {
155
+ try {
156
+ const dto: CreateUserDTO = req.body;
157
+ const user = await this.userService.create(dto);
158
+ res.status(HttpStatus.CREATED).json(user);
159
+ } catch (error) {
160
+ next(error);
161
+ }
162
+ }
163
+
164
+ async update(req: Request, res: Response, next: NextFunction) {
165
+ try {
166
+ const dto: UpdateUserDTO = req.body;
167
+ const user = await this.userService.update(req.params.id, dto);
168
+ res.json(user);
169
+ } catch (error) {
170
+ next(error);
171
+ }
172
+ }
173
+
174
+ async delete(req: Request, res: Response, next: NextFunction) {
175
+ try {
176
+ await this.userService.delete(req.params.id);
177
+ res.status(HttpStatus.NO_CONTENT).send();
178
+ } catch (error) {
179
+ next(error);
180
+ }
181
+ }
182
+ }
183
+ ```
184
+
185
+ ---
186
+
187
+ ## Service Pattern
188
+
189
+ ```typescript
190
+ // user.service.ts
191
+ import { UserRepository } from './user.repository';
192
+ import { CreateUserDTO, UpdateUserDTO, User, PaginatedResult } from './user.types';
193
+ import { NotFoundError, ConflictError } from '@/shared/errors';
194
+ import { hashPassword } from '@/shared/utils';
195
+
196
+ export class UserService {
197
+ constructor(private readonly userRepository: UserRepository) {}
198
+
199
+ async findAll(options: PaginationOptions): Promise<PaginatedResult<User>> {
200
+ return this.userRepository.findAll(options);
201
+ }
202
+
203
+ async findById(id: string): Promise<User | null> {
204
+ return this.userRepository.findById(id);
205
+ }
206
+
207
+ async findByEmail(email: string): Promise<User | null> {
208
+ return this.userRepository.findByEmail(email);
209
+ }
210
+
211
+ async create(dto: CreateUserDTO): Promise<User> {
212
+ // Check for existing user
213
+ const existing = await this.findByEmail(dto.email);
214
+ if (existing) {
215
+ throw new ConflictError('Email already registered');
216
+ }
217
+
218
+ // Hash password
219
+ const hashedPassword = await hashPassword(dto.password);
220
+
221
+ return this.userRepository.create({
222
+ ...dto,
223
+ password: hashedPassword,
224
+ });
225
+ }
226
+
227
+ async update(id: string, dto: UpdateUserDTO): Promise<User> {
228
+ const user = await this.findById(id);
229
+ if (!user) {
230
+ throw new NotFoundError('User not found');
231
+ }
232
+
233
+ return this.userRepository.update(id, dto);
234
+ }
235
+
236
+ async delete(id: string): Promise<void> {
237
+ const user = await this.findById(id);
238
+ if (!user) {
239
+ throw new NotFoundError('User not found');
240
+ }
241
+
242
+ await this.userRepository.delete(id);
243
+ }
244
+ }
245
+ ```
246
+
247
+ ---
248
+
249
+ ## Repository Pattern
250
+
251
+ ```typescript
252
+ // user.repository.ts
253
+ import { PrismaClient } from '@prisma/client';
254
+ import { User, CreateUserDTO, UpdateUserDTO, PaginatedResult } from './user.types';
255
+
256
+ export class UserRepository {
257
+ constructor(private readonly prisma: PrismaClient) {}
258
+
259
+ async findAll(options: PaginationOptions): Promise<PaginatedResult<User>> {
260
+ const { page, limit } = options;
261
+ const skip = (page - 1) * limit;
262
+
263
+ const [users, total] = await Promise.all([
264
+ this.prisma.user.findMany({
265
+ skip,
266
+ take: limit,
267
+ orderBy: { createdAt: 'desc' },
268
+ }),
269
+ this.prisma.user.count(),
270
+ ]);
271
+
272
+ return {
273
+ data: users,
274
+ meta: {
275
+ total,
276
+ page,
277
+ limit,
278
+ totalPages: Math.ceil(total / limit),
279
+ },
280
+ };
281
+ }
282
+
283
+ async findById(id: string): Promise<User | null> {
284
+ return this.prisma.user.findUnique({ where: { id } });
285
+ }
286
+
287
+ async findByEmail(email: string): Promise<User | null> {
288
+ return this.prisma.user.findUnique({ where: { email } });
289
+ }
290
+
291
+ async create(data: CreateUserDTO): Promise<User> {
292
+ return this.prisma.user.create({ data });
293
+ }
294
+
295
+ async update(id: string, data: UpdateUserDTO): Promise<User> {
296
+ return this.prisma.user.update({ where: { id }, data });
297
+ }
298
+
299
+ async delete(id: string): Promise<void> {
300
+ await this.prisma.user.delete({ where: { id } });
301
+ }
302
+ }
303
+ ```
304
+
305
+ ---
306
+
307
+ ## Routes Pattern
308
+
309
+ ```typescript
310
+ // user.routes.ts
311
+ import { Router } from 'express';
312
+ import { UserController } from './user.controller';
313
+ import { UserService } from './user.service';
314
+ import { UserRepository } from './user.repository';
315
+ import { prisma } from '@/database';
316
+ import { authenticate, authorize } from '@/shared/middleware';
317
+ import { validate } from '@/shared/middleware/validation';
318
+ import { createUserSchema, updateUserSchema } from './user.validation';
319
+
320
+ const router = Router();
321
+
322
+ // Dependency injection
323
+ const userRepository = new UserRepository(prisma);
324
+ const userService = new UserService(userRepository);
325
+ const userController = new UserController(userService);
326
+
327
+ // Routes
328
+ router.get('/', authenticate, userController.getAll.bind(userController));
329
+
330
+ router.get('/:id', authenticate, userController.getById.bind(userController));
331
+
332
+ router.post(
333
+ '/',
334
+ authenticate,
335
+ authorize('admin'),
336
+ validate(createUserSchema),
337
+ userController.create.bind(userController)
338
+ );
339
+
340
+ router.put(
341
+ '/:id',
342
+ authenticate,
343
+ validate(updateUserSchema),
344
+ userController.update.bind(userController)
345
+ );
346
+
347
+ router.delete(
348
+ '/:id',
349
+ authenticate,
350
+ authorize('admin'),
351
+ userController.delete.bind(userController)
352
+ );
353
+
354
+ export { router as userRoutes };
355
+ ```
356
+
357
+ ---
358
+
359
+ ## Error Handling
360
+
361
+ ```typescript
362
+ // shared/errors.ts
363
+ export class AppError extends Error {
364
+ constructor(
365
+ public message: string,
366
+ public statusCode: number = 500,
367
+ public code: string = 'INTERNAL_ERROR'
368
+ ) {
369
+ super(message);
370
+ this.name = this.constructor.name;
371
+ Error.captureStackTrace(this, this.constructor);
372
+ }
373
+ }
374
+
375
+ export class NotFoundError extends AppError {
376
+ constructor(message: string = 'Resource not found') {
377
+ super(message, 404, 'NOT_FOUND');
378
+ }
379
+ }
380
+
381
+ export class ConflictError extends AppError {
382
+ constructor(message: string = 'Resource already exists') {
383
+ super(message, 409, 'CONFLICT');
384
+ }
385
+ }
386
+
387
+ export class UnauthorizedError extends AppError {
388
+ constructor(message: string = 'Unauthorized') {
389
+ super(message, 401, 'UNAUTHORIZED');
390
+ }
391
+ }
392
+
393
+ export class ValidationError extends AppError {
394
+ constructor(
395
+ message: string = 'Validation failed',
396
+ public errors: Record<string, string[]> = {}
397
+ ) {
398
+ super(message, 400, 'VALIDATION_ERROR');
399
+ }
400
+ }
401
+ ```
402
+
403
+ ```typescript
404
+ // shared/middleware/error.middleware.ts
405
+ import { Request, Response, NextFunction } from 'express';
406
+ import { AppError } from '@/shared/errors';
407
+ import { logger } from '@/shared/utils/logger';
408
+
409
+ export function errorHandler(
410
+ error: Error,
411
+ req: Request,
412
+ res: Response,
413
+ next: NextFunction
414
+ ) {
415
+ logger.error('Error:', error);
416
+
417
+ if (error instanceof AppError) {
418
+ return res.status(error.statusCode).json({
419
+ error: {
420
+ code: error.code,
421
+ message: error.message,
422
+ ...(error instanceof ValidationError && { errors: error.errors }),
423
+ },
424
+ });
425
+ }
426
+
427
+ // Unexpected error
428
+ res.status(500).json({
429
+ error: {
430
+ code: 'INTERNAL_ERROR',
431
+ message: 'An unexpected error occurred',
432
+ },
433
+ });
434
+ }
435
+ ```
436
+
437
+ ---
438
+
439
+ ## Validation (Zod)
440
+
441
+ ```typescript
442
+ // user.validation.ts
443
+ import { z } from 'zod';
444
+
445
+ export const createUserSchema = z.object({
446
+ body: z.object({
447
+ email: z.string().email('Invalid email format'),
448
+ password: z
449
+ .string()
450
+ .min(8, 'Password must be at least 8 characters')
451
+ .regex(/[A-Z]/, 'Password must contain an uppercase letter')
452
+ .regex(/[0-9]/, 'Password must contain a number'),
453
+ name: z.string().min(2, 'Name must be at least 2 characters'),
454
+ role: z.enum(['user', 'admin']).optional().default('user'),
455
+ }),
456
+ });
457
+
458
+ export const updateUserSchema = z.object({
459
+ params: z.object({
460
+ id: z.string().uuid('Invalid user ID'),
461
+ }),
462
+ body: z.object({
463
+ name: z.string().min(2).optional(),
464
+ email: z.string().email().optional(),
465
+ }),
466
+ });
467
+
468
+ export type CreateUserDTO = z.infer<typeof createUserSchema>['body'];
469
+ export type UpdateUserDTO = z.infer<typeof updateUserSchema>['body'];
470
+ ```
471
+
472
+ ---
473
+
474
+ ## Testing Pattern
475
+
476
+ ```typescript
477
+ // user.service.test.ts
478
+ import { UserService } from '../user.service';
479
+ import { UserRepository } from '../user.repository';
480
+ import { ConflictError, NotFoundError } from '@/shared/errors';
481
+
482
+ describe('UserService', () => {
483
+ let userService: UserService;
484
+ let mockRepository: jest.Mocked<UserRepository>;
485
+
486
+ beforeEach(() => {
487
+ mockRepository = {
488
+ findAll: jest.fn(),
489
+ findById: jest.fn(),
490
+ findByEmail: jest.fn(),
491
+ create: jest.fn(),
492
+ update: jest.fn(),
493
+ delete: jest.fn(),
494
+ } as any;
495
+
496
+ userService = new UserService(mockRepository);
497
+ });
498
+
499
+ describe('create', () => {
500
+ it('should create a new user', async () => {
501
+ const dto = { email: 'test@example.com', password: 'Password123', name: 'Test' };
502
+ mockRepository.findByEmail.mockResolvedValue(null);
503
+ mockRepository.create.mockResolvedValue({ id: '1', ...dto });
504
+
505
+ const result = await userService.create(dto);
506
+
507
+ expect(result).toHaveProperty('id');
508
+ expect(mockRepository.create).toHaveBeenCalled();
509
+ });
510
+
511
+ it('should throw ConflictError if email exists', async () => {
512
+ const dto = { email: 'existing@example.com', password: 'Password123', name: 'Test' };
513
+ mockRepository.findByEmail.mockResolvedValue({ id: '1', email: dto.email });
514
+
515
+ await expect(userService.create(dto)).rejects.toThrow(ConflictError);
516
+ });
517
+ });
518
+
519
+ describe('findById', () => {
520
+ it('should return user if found', async () => {
521
+ const user = { id: '1', email: 'test@example.com', name: 'Test' };
522
+ mockRepository.findById.mockResolvedValue(user);
523
+
524
+ const result = await userService.findById('1');
525
+
526
+ expect(result).toEqual(user);
527
+ });
528
+
529
+ it('should return null if not found', async () => {
530
+ mockRepository.findById.mockResolvedValue(null);
531
+
532
+ const result = await userService.findById('nonexistent');
533
+
534
+ expect(result).toBeNull();
535
+ });
536
+ });
537
+ });
538
+ ```
539
+
540
+ ---
541
+
542
+ ## Environment Configuration
543
+
544
+ ```typescript
545
+ // config/env.ts
546
+ import { z } from 'zod';
547
+
548
+ const envSchema = z.object({
549
+ NODE_ENV: z.enum(['development', 'production', 'test']).default('development'),
550
+ PORT: z.string().transform(Number).default('3000'),
551
+ DATABASE_URL: z.string().url(),
552
+ JWT_SECRET: z.string().min(32),
553
+ JWT_EXPIRES_IN: z.string().default('7d'),
554
+ CORS_ORIGIN: z.string().default('*'),
555
+ LOG_LEVEL: z.enum(['error', 'warn', 'info', 'debug']).default('info'),
556
+ });
557
+
558
+ export const env = envSchema.parse(process.env);
559
+ export type Env = z.infer<typeof envSchema>;
560
+ ```