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,604 @@
1
+ # Complete Conversation: Next.js Settings Feature
2
+
3
+ A full walkthrough of building a settings page with API in a Next.js application.
4
+
5
+ ---
6
+
7
+ ## Feature Request
8
+
9
+ **User:** I need to add a user settings page where users can update their profile, change notification preferences, and manage their account. It should have an API backend.
10
+
11
+ ---
12
+
13
+ ## Phase 0: Initialization
14
+
15
+ **AI:** I'll help you build a comprehensive settings feature. Let me start by analyzing your existing codebase.
16
+
17
+ ```
18
+ Starting ProAgents workflow...
19
+ Mode: Full Workflow
20
+ Feature: User Settings Page with API
21
+ Branch: feature/user-settings
22
+ ```
23
+
24
+ ---
25
+
26
+ ## Phase 1: Codebase Analysis
27
+
28
+ **AI:** I've analyzed your Next.js project. Here's what I found:
29
+
30
+ ### Project Structure
31
+ ```
32
+ app/
33
+ ├── (auth)/
34
+ │ ├── dashboard/
35
+ │ │ └── page.tsx
36
+ │ └── layout.tsx
37
+ ├── api/
38
+ │ └── users/
39
+ │ └── route.ts
40
+ ├── layout.tsx
41
+ └── page.tsx
42
+ lib/
43
+ ├── db.ts # Prisma client
44
+ ├── auth.ts # NextAuth config
45
+ └── validations/
46
+ └── user.ts # Zod schemas
47
+ components/
48
+ ├── ui/ # shadcn/ui components
49
+ └── forms/
50
+ prisma/
51
+ └── schema.prisma
52
+ ```
53
+
54
+ ### Patterns Detected
55
+ - **Framework:** Next.js 14 with App Router
56
+ - **Database:** Prisma with PostgreSQL
57
+ - **Auth:** NextAuth.js with JWT strategy
58
+ - **UI:** shadcn/ui components with Tailwind
59
+ - **Validation:** Zod schemas
60
+ - **State:** React Query for server state
61
+
62
+ ### Existing Conventions
63
+ - API routes use typed request/response
64
+ - Forms use react-hook-form with Zod
65
+ - All routes under `(auth)` require authentication
66
+
67
+ **Checkpoint: Analysis Complete**
68
+ Do you want to proceed with these patterns? [Yes/Modify]
69
+
70
+ **User:** Yes, proceed.
71
+
72
+ ---
73
+
74
+ ## Phase 2: Requirements
75
+
76
+ **AI:** Let me clarify the requirements for the settings feature.
77
+
78
+ ### Feature Requirements
79
+
80
+ **1. Profile Settings**
81
+ - Update display name
82
+ - Update avatar (upload)
83
+ - Update bio/description
84
+
85
+ **2. Notification Preferences**
86
+ - Email notifications toggle
87
+ - Push notifications toggle
88
+ - Notification frequency (immediate/daily/weekly)
89
+
90
+ **3. Account Settings**
91
+ - Change email (with verification)
92
+ - Change password
93
+ - Delete account (with confirmation)
94
+
95
+ ### Technical Requirements
96
+ - All operations require authentication
97
+ - Form validation with Zod
98
+ - Optimistic updates where appropriate
99
+ - Proper error handling
100
+
101
+ **User:** Looks good, but also add a timezone selector in profile settings.
102
+
103
+ **AI:** Added timezone selector to profile settings.
104
+
105
+ ---
106
+
107
+ ## Phase 3: Design
108
+
109
+ **AI:** Based on your existing UI patterns, here's the design specification:
110
+
111
+ ### Page Layout
112
+ ```
113
+ /settings
114
+ ├── /settings/profile # Profile settings
115
+ ├── /settings/notifications # Notification preferences
116
+ └── /settings/account # Account management
117
+ ```
118
+
119
+ ### Component Structure
120
+ ```tsx
121
+ // Settings layout with sidebar navigation
122
+ <SettingsLayout>
123
+ <SettingsSidebar />
124
+ <SettingsContent>
125
+ {children}
126
+ </SettingsContent>
127
+ </SettingsLayout>
128
+ ```
129
+
130
+ ### UI Components (using existing shadcn/ui)
131
+ - Card for each settings section
132
+ - Form with Input, Select, Switch components
133
+ - Button for actions
134
+ - AlertDialog for destructive actions
135
+ - Toast for feedback
136
+
137
+ **Checkpoint: Design Complete**
138
+ Ready to proceed with implementation? [Yes/Modify]
139
+
140
+ **User:** Yes.
141
+
142
+ ---
143
+
144
+ ## Phase 4: Implementation Plan
145
+
146
+ **AI:** Here's the implementation plan:
147
+
148
+ ### Database Changes
149
+ ```prisma
150
+ // Add to schema.prisma
151
+ model UserSettings {
152
+ id String @id @default(cuid())
153
+ userId String @unique
154
+ user User @relation(fields: [userId], references: [id])
155
+ timezone String @default("UTC")
156
+ emailNotifications Boolean @default(true)
157
+ pushNotifications Boolean @default(false)
158
+ notificationFrequency String @default("immediate")
159
+ createdAt DateTime @default(now())
160
+ updatedAt DateTime @updatedAt
161
+ }
162
+ ```
163
+
164
+ ### Files to Create
165
+ 1. `prisma/migrations/xxx_add_user_settings.sql`
166
+ 2. `lib/validations/settings.ts` - Zod schemas
167
+ 3. `app/api/settings/route.ts` - GET/PATCH settings
168
+ 4. `app/api/settings/password/route.ts` - Change password
169
+ 5. `app/api/settings/account/route.ts` - Delete account
170
+ 6. `app/(auth)/settings/layout.tsx` - Settings layout
171
+ 7. `app/(auth)/settings/page.tsx` - Redirect to profile
172
+ 8. `app/(auth)/settings/profile/page.tsx`
173
+ 9. `app/(auth)/settings/notifications/page.tsx`
174
+ 10. `app/(auth)/settings/account/page.tsx`
175
+ 11. `components/settings/SettingsSidebar.tsx`
176
+ 12. `components/settings/ProfileForm.tsx`
177
+ 13. `components/settings/NotificationsForm.tsx`
178
+ 14. `components/settings/AccountSettings.tsx`
179
+
180
+ ### Implementation Order
181
+ 1. Database schema + migration
182
+ 2. Validation schemas
183
+ 3. API routes
184
+ 4. Layout and navigation
185
+ 5. Individual settings pages
186
+ 6. Forms and components
187
+
188
+ ---
189
+
190
+ ## Phase 5: Implementation
191
+
192
+ **AI:** Starting implementation. Creating branch `feature/user-settings`.
193
+
194
+ ### Step 1: Database Schema
195
+
196
+ ```prisma
197
+ // prisma/schema.prisma - additions
198
+ model UserSettings {
199
+ id String @id @default(cuid())
200
+ userId String @unique
201
+ user User @relation(fields: [userId], references: [id], onDelete: Cascade)
202
+ timezone String @default("UTC")
203
+ emailNotifications Boolean @default(true)
204
+ pushNotifications Boolean @default(false)
205
+ notificationFrequency String @default("immediate")
206
+ createdAt DateTime @default(now())
207
+ updatedAt DateTime @updatedAt
208
+ }
209
+ ```
210
+
211
+ ```bash
212
+ npx prisma migrate dev --name add_user_settings
213
+ ```
214
+
215
+ ### Step 2: Validation Schemas
216
+
217
+ ```typescript
218
+ // lib/validations/settings.ts
219
+ import { z } from 'zod';
220
+
221
+ export const profileSchema = z.object({
222
+ name: z.string().min(2).max(50),
223
+ bio: z.string().max(500).optional(),
224
+ timezone: z.string(),
225
+ });
226
+
227
+ export const notificationsSchema = z.object({
228
+ emailNotifications: z.boolean(),
229
+ pushNotifications: z.boolean(),
230
+ notificationFrequency: z.enum(['immediate', 'daily', 'weekly']),
231
+ });
232
+
233
+ export const passwordSchema = z.object({
234
+ currentPassword: z.string().min(8),
235
+ newPassword: z.string().min(8),
236
+ confirmPassword: z.string().min(8),
237
+ }).refine((data) => data.newPassword === data.confirmPassword, {
238
+ message: "Passwords don't match",
239
+ path: ["confirmPassword"],
240
+ });
241
+
242
+ export const deleteAccountSchema = z.object({
243
+ confirmation: z.literal('DELETE'),
244
+ });
245
+ ```
246
+
247
+ ### Step 3: API Routes
248
+
249
+ ```typescript
250
+ // app/api/settings/route.ts
251
+ import { NextRequest, NextResponse } from 'next/server';
252
+ import { getServerSession } from 'next-auth';
253
+ import { authOptions } from '@/lib/auth';
254
+ import { db } from '@/lib/db';
255
+ import { profileSchema, notificationsSchema } from '@/lib/validations/settings';
256
+
257
+ export async function GET(req: NextRequest) {
258
+ try {
259
+ const session = await getServerSession(authOptions);
260
+ if (!session?.user?.id) {
261
+ return NextResponse.json({ error: 'Unauthorized' }, { status: 401 });
262
+ }
263
+
264
+ const settings = await db.userSettings.findUnique({
265
+ where: { userId: session.user.id },
266
+ });
267
+
268
+ // Create default settings if none exist
269
+ if (!settings) {
270
+ const newSettings = await db.userSettings.create({
271
+ data: { userId: session.user.id },
272
+ });
273
+ return NextResponse.json({ data: newSettings });
274
+ }
275
+
276
+ return NextResponse.json({ data: settings });
277
+ } catch (error) {
278
+ return NextResponse.json({ error: 'Failed to fetch settings' }, { status: 500 });
279
+ }
280
+ }
281
+
282
+ export async function PATCH(req: NextRequest) {
283
+ try {
284
+ const session = await getServerSession(authOptions);
285
+ if (!session?.user?.id) {
286
+ return NextResponse.json({ error: 'Unauthorized' }, { status: 401 });
287
+ }
288
+
289
+ const body = await req.json();
290
+ const { type, ...data } = body;
291
+
292
+ let validatedData;
293
+ if (type === 'profile') {
294
+ validatedData = profileSchema.parse(data);
295
+ await db.user.update({
296
+ where: { id: session.user.id },
297
+ data: { name: validatedData.name },
298
+ });
299
+ } else if (type === 'notifications') {
300
+ validatedData = notificationsSchema.parse(data);
301
+ }
302
+
303
+ const settings = await db.userSettings.upsert({
304
+ where: { userId: session.user.id },
305
+ update: validatedData,
306
+ create: { userId: session.user.id, ...validatedData },
307
+ });
308
+
309
+ return NextResponse.json({ data: settings });
310
+ } catch (error) {
311
+ if (error instanceof z.ZodError) {
312
+ return NextResponse.json({ error: error.errors }, { status: 400 });
313
+ }
314
+ return NextResponse.json({ error: 'Failed to update settings' }, { status: 500 });
315
+ }
316
+ }
317
+ ```
318
+
319
+ ### Step 4: Settings Layout
320
+
321
+ ```tsx
322
+ // app/(auth)/settings/layout.tsx
323
+ import { SettingsSidebar } from '@/components/settings/SettingsSidebar';
324
+
325
+ export default function SettingsLayout({
326
+ children,
327
+ }: {
328
+ children: React.ReactNode;
329
+ }) {
330
+ return (
331
+ <div className="container max-w-6xl py-8">
332
+ <h1 className="text-3xl font-bold mb-8">Settings</h1>
333
+ <div className="flex gap-8">
334
+ <SettingsSidebar />
335
+ <div className="flex-1">{children}</div>
336
+ </div>
337
+ </div>
338
+ );
339
+ }
340
+ ```
341
+
342
+ ### Step 5: Profile Page
343
+
344
+ ```tsx
345
+ // app/(auth)/settings/profile/page.tsx
346
+ import { ProfileForm } from '@/components/settings/ProfileForm';
347
+ import { getServerSession } from 'next-auth';
348
+ import { authOptions } from '@/lib/auth';
349
+ import { db } from '@/lib/db';
350
+
351
+ export default async function ProfileSettingsPage() {
352
+ const session = await getServerSession(authOptions);
353
+ const user = await db.user.findUnique({
354
+ where: { id: session?.user?.id },
355
+ include: { settings: true },
356
+ });
357
+
358
+ return (
359
+ <div className="space-y-6">
360
+ <div>
361
+ <h2 className="text-xl font-semibold">Profile</h2>
362
+ <p className="text-muted-foreground">
363
+ Manage your public profile information.
364
+ </p>
365
+ </div>
366
+ <ProfileForm user={user} />
367
+ </div>
368
+ );
369
+ }
370
+ ```
371
+
372
+ [Implementation continues for all components...]
373
+
374
+ ---
375
+
376
+ ## Phase 6: Testing
377
+
378
+ **AI:** Creating tests for the settings feature.
379
+
380
+ ### API Route Tests
381
+
382
+ ```typescript
383
+ // __tests__/api/settings.test.ts
384
+ import { describe, it, expect, beforeEach, vi } from 'vitest';
385
+ import { GET, PATCH } from '@/app/api/settings/route';
386
+ import { NextRequest } from 'next/server';
387
+
388
+ vi.mock('next-auth', () => ({
389
+ getServerSession: vi.fn(),
390
+ }));
391
+
392
+ vi.mock('@/lib/db', () => ({
393
+ db: {
394
+ userSettings: {
395
+ findUnique: vi.fn(),
396
+ create: vi.fn(),
397
+ upsert: vi.fn(),
398
+ },
399
+ user: {
400
+ update: vi.fn(),
401
+ },
402
+ },
403
+ }));
404
+
405
+ describe('Settings API', () => {
406
+ describe('GET /api/settings', () => {
407
+ it('returns 401 when not authenticated', async () => {
408
+ const { getServerSession } = await import('next-auth');
409
+ vi.mocked(getServerSession).mockResolvedValue(null);
410
+
411
+ const req = new NextRequest('http://localhost/api/settings');
412
+ const res = await GET(req);
413
+
414
+ expect(res.status).toBe(401);
415
+ });
416
+
417
+ it('returns user settings when authenticated', async () => {
418
+ const { getServerSession } = await import('next-auth');
419
+ vi.mocked(getServerSession).mockResolvedValue({
420
+ user: { id: 'user-1' },
421
+ });
422
+
423
+ const { db } = await import('@/lib/db');
424
+ vi.mocked(db.userSettings.findUnique).mockResolvedValue({
425
+ id: 'settings-1',
426
+ userId: 'user-1',
427
+ timezone: 'America/New_York',
428
+ emailNotifications: true,
429
+ pushNotifications: false,
430
+ notificationFrequency: 'daily',
431
+ });
432
+
433
+ const req = new NextRequest('http://localhost/api/settings');
434
+ const res = await GET(req);
435
+ const data = await res.json();
436
+
437
+ expect(res.status).toBe(200);
438
+ expect(data.data.timezone).toBe('America/New_York');
439
+ });
440
+ });
441
+
442
+ describe('PATCH /api/settings', () => {
443
+ it('validates notification settings', async () => {
444
+ const { getServerSession } = await import('next-auth');
445
+ vi.mocked(getServerSession).mockResolvedValue({
446
+ user: { id: 'user-1' },
447
+ });
448
+
449
+ const req = new NextRequest('http://localhost/api/settings', {
450
+ method: 'PATCH',
451
+ body: JSON.stringify({
452
+ type: 'notifications',
453
+ emailNotifications: 'invalid', // Should be boolean
454
+ }),
455
+ });
456
+
457
+ const res = await PATCH(req);
458
+ expect(res.status).toBe(400);
459
+ });
460
+ });
461
+ });
462
+ ```
463
+
464
+ ### Component Tests
465
+
466
+ ```typescript
467
+ // __tests__/components/ProfileForm.test.tsx
468
+ import { describe, it, expect } from 'vitest';
469
+ import { render, screen } from '@testing-library/react';
470
+ import userEvent from '@testing-library/user-event';
471
+ import { ProfileForm } from '@/components/settings/ProfileForm';
472
+
473
+ describe('ProfileForm', () => {
474
+ const mockUser = {
475
+ id: 'user-1',
476
+ name: 'John Doe',
477
+ email: 'john@example.com',
478
+ settings: {
479
+ timezone: 'UTC',
480
+ },
481
+ };
482
+
483
+ it('renders with user data', () => {
484
+ render(<ProfileForm user={mockUser} />);
485
+
486
+ expect(screen.getByDisplayValue('John Doe')).toBeInTheDocument();
487
+ expect(screen.getByDisplayValue('UTC')).toBeInTheDocument();
488
+ });
489
+
490
+ it('validates required fields', async () => {
491
+ render(<ProfileForm user={mockUser} />);
492
+
493
+ const nameInput = screen.getByLabelText(/name/i);
494
+ await userEvent.clear(nameInput);
495
+ await userEvent.click(screen.getByRole('button', { name: /save/i }));
496
+
497
+ expect(screen.getByText(/name is required/i)).toBeInTheDocument();
498
+ });
499
+ });
500
+ ```
501
+
502
+ ### E2E Tests
503
+
504
+ ```typescript
505
+ // e2e/settings.spec.ts
506
+ import { test, expect } from '@playwright/test';
507
+
508
+ test.describe('Settings Page', () => {
509
+ test.beforeEach(async ({ page }) => {
510
+ // Login before each test
511
+ await page.goto('/login');
512
+ await page.fill('[name="email"]', 'test@example.com');
513
+ await page.fill('[name="password"]', 'password123');
514
+ await page.click('button[type="submit"]');
515
+ await page.waitForURL('/dashboard');
516
+ });
517
+
518
+ test('can update profile settings', async ({ page }) => {
519
+ await page.goto('/settings/profile');
520
+
521
+ await page.fill('[name="name"]', 'Updated Name');
522
+ await page.click('button:has-text("Save")');
523
+
524
+ await expect(page.locator('.toast')).toContainText('Settings saved');
525
+ });
526
+
527
+ test('can toggle notification preferences', async ({ page }) => {
528
+ await page.goto('/settings/notifications');
529
+
530
+ const emailToggle = page.locator('[name="emailNotifications"]');
531
+ await emailToggle.click();
532
+ await page.click('button:has-text("Save")');
533
+
534
+ await expect(page.locator('.toast')).toContainText('Settings saved');
535
+ });
536
+ });
537
+ ```
538
+
539
+ **Test Results:**
540
+ ```
541
+ ✓ API tests: 12 passed
542
+ ✓ Component tests: 8 passed
543
+ ✓ E2E tests: 5 passed
544
+ Coverage: 87%
545
+ ```
546
+
547
+ ---
548
+
549
+ ## Phase 7: Documentation
550
+
551
+ **AI:** Creating documentation for the settings feature.
552
+
553
+ ### API Documentation
554
+
555
+ ```markdown
556
+ ## Settings API
557
+
558
+ ### GET /api/settings
559
+ Returns the current user's settings.
560
+
561
+ **Response:**
562
+ - 200: Settings object
563
+ - 401: Unauthorized
564
+
565
+ ### PATCH /api/settings
566
+ Updates user settings.
567
+
568
+ **Body:**
569
+ - type: "profile" | "notifications"
570
+ - ...fields based on type
571
+
572
+ **Response:**
573
+ - 200: Updated settings
574
+ - 400: Validation error
575
+ - 401: Unauthorized
576
+ ```
577
+
578
+ ---
579
+
580
+ ## Phase 8: Deployment Preparation
581
+
582
+ **AI:** Pre-deployment checklist:
583
+
584
+ - [x] All tests passing
585
+ - [x] Database migration ready
586
+ - [x] Environment variables documented
587
+ - [x] No hardcoded secrets
588
+ - [x] Error handling complete
589
+ - [x] Loading states implemented
590
+ - [x] Mobile responsive
591
+
592
+ **Ready for deployment.**
593
+
594
+ ---
595
+
596
+ ## Summary
597
+
598
+ **Feature Complete:** User Settings Page with API
599
+
600
+ **Files Created:** 15
601
+ **Tests Added:** 25
602
+ **Coverage:** 87%
603
+
604
+ **PR Ready:** `feature/user-settings` → `main`