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,565 @@
1
+ # Schema Validation
2
+
3
+ Validate API contracts using JSON Schema and OpenAPI specifications.
4
+
5
+ ---
6
+
7
+ ## Overview
8
+
9
+ Schema validation ensures API requests and responses conform to defined schemas, providing contract assurance without full contract testing infrastructure.
10
+
11
+ ---
12
+
13
+ ## JSON Schema Validation
14
+
15
+ ### Define Schema
16
+
17
+ ```json
18
+ {
19
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
20
+ "$id": "https://api.example.com/schemas/user.json",
21
+ "title": "User",
22
+ "type": "object",
23
+ "required": ["id", "name", "email"],
24
+ "properties": {
25
+ "id": {
26
+ "type": "string",
27
+ "format": "uuid",
28
+ "description": "Unique user identifier"
29
+ },
30
+ "name": {
31
+ "type": "string",
32
+ "minLength": 1,
33
+ "maxLength": 100
34
+ },
35
+ "email": {
36
+ "type": "string",
37
+ "format": "email"
38
+ },
39
+ "role": {
40
+ "type": "string",
41
+ "enum": ["admin", "user", "guest"],
42
+ "default": "user"
43
+ },
44
+ "createdAt": {
45
+ "type": "string",
46
+ "format": "date-time"
47
+ }
48
+ },
49
+ "additionalProperties": false
50
+ }
51
+ ```
52
+
53
+ ### Validate in Tests
54
+
55
+ ```typescript
56
+ import Ajv from 'ajv';
57
+ import addFormats from 'ajv-formats';
58
+ import userSchema from './schemas/user.json';
59
+
60
+ const ajv = new Ajv({ allErrors: true });
61
+ addFormats(ajv);
62
+
63
+ const validate = ajv.compile(userSchema);
64
+
65
+ describe('User API', () => {
66
+ it('returns valid user schema', async () => {
67
+ const response = await fetch('/api/users/123');
68
+ const user = await response.json();
69
+
70
+ const valid = validate(user);
71
+
72
+ if (!valid) {
73
+ console.error('Validation errors:', validate.errors);
74
+ }
75
+
76
+ expect(valid).toBe(true);
77
+ });
78
+ });
79
+ ```
80
+
81
+ ### Runtime Validation
82
+
83
+ ```typescript
84
+ import Ajv from 'ajv';
85
+ import addFormats from 'ajv-formats';
86
+
87
+ const ajv = new Ajv({ allErrors: true, removeAdditional: true });
88
+ addFormats(ajv);
89
+
90
+ // Compile schemas
91
+ const schemas = {
92
+ user: ajv.compile(require('./schemas/user.json')),
93
+ createUser: ajv.compile(require('./schemas/create-user.json')),
94
+ };
95
+
96
+ // Validation middleware
97
+ function validateBody(schemaName: string) {
98
+ return (req: Request, res: Response, next: NextFunction) => {
99
+ const validate = schemas[schemaName];
100
+
101
+ if (!validate) {
102
+ return res.status(500).json({ error: 'Unknown schema' });
103
+ }
104
+
105
+ if (!validate(req.body)) {
106
+ return res.status(400).json({
107
+ error: 'Validation failed',
108
+ details: validate.errors,
109
+ });
110
+ }
111
+
112
+ next();
113
+ };
114
+ }
115
+
116
+ // Usage
117
+ app.post('/api/users', validateBody('createUser'), createUser);
118
+ ```
119
+
120
+ ---
121
+
122
+ ## OpenAPI Validation
123
+
124
+ ### Define OpenAPI Spec
125
+
126
+ ```yaml
127
+ # openapi.yaml
128
+ openapi: 3.0.3
129
+ info:
130
+ title: User API
131
+ version: 1.0.0
132
+
133
+ paths:
134
+ /users/{id}:
135
+ get:
136
+ summary: Get user by ID
137
+ parameters:
138
+ - name: id
139
+ in: path
140
+ required: true
141
+ schema:
142
+ type: string
143
+ format: uuid
144
+ responses:
145
+ '200':
146
+ description: User found
147
+ content:
148
+ application/json:
149
+ schema:
150
+ $ref: '#/components/schemas/User'
151
+ '404':
152
+ description: User not found
153
+ content:
154
+ application/json:
155
+ schema:
156
+ $ref: '#/components/schemas/Error'
157
+
158
+ /users:
159
+ post:
160
+ summary: Create user
161
+ requestBody:
162
+ required: true
163
+ content:
164
+ application/json:
165
+ schema:
166
+ $ref: '#/components/schemas/CreateUser'
167
+ responses:
168
+ '201':
169
+ description: User created
170
+ content:
171
+ application/json:
172
+ schema:
173
+ $ref: '#/components/schemas/User'
174
+
175
+ components:
176
+ schemas:
177
+ User:
178
+ type: object
179
+ required:
180
+ - id
181
+ - name
182
+ - email
183
+ properties:
184
+ id:
185
+ type: string
186
+ format: uuid
187
+ name:
188
+ type: string
189
+ email:
190
+ type: string
191
+ format: email
192
+ role:
193
+ type: string
194
+ enum: [admin, user, guest]
195
+ createdAt:
196
+ type: string
197
+ format: date-time
198
+
199
+ CreateUser:
200
+ type: object
201
+ required:
202
+ - name
203
+ - email
204
+ properties:
205
+ name:
206
+ type: string
207
+ minLength: 1
208
+ maxLength: 100
209
+ email:
210
+ type: string
211
+ format: email
212
+ role:
213
+ type: string
214
+ enum: [admin, user, guest]
215
+ default: user
216
+
217
+ Error:
218
+ type: object
219
+ required:
220
+ - error
221
+ - code
222
+ properties:
223
+ error:
224
+ type: string
225
+ code:
226
+ type: string
227
+ ```
228
+
229
+ ### Validate with OpenAPI
230
+
231
+ ```typescript
232
+ import OpenAPIValidator from 'express-openapi-validator';
233
+
234
+ // Add validation middleware
235
+ app.use(
236
+ OpenAPIValidator.middleware({
237
+ apiSpec: './openapi.yaml',
238
+ validateRequests: true,
239
+ validateResponses: true,
240
+ })
241
+ );
242
+
243
+ // Error handler for validation errors
244
+ app.use((err, req, res, next) => {
245
+ if (err.status === 400) {
246
+ return res.status(400).json({
247
+ error: 'Validation error',
248
+ details: err.errors,
249
+ });
250
+ }
251
+ next(err);
252
+ });
253
+ ```
254
+
255
+ ### Test Against OpenAPI
256
+
257
+ ```typescript
258
+ import { OpenAPIV3 } from 'openapi-types';
259
+ import SwaggerParser from '@apidevtools/swagger-parser';
260
+ import { createClient } from 'openapi-fetch';
261
+
262
+ describe('API Contract Tests', () => {
263
+ let api: OpenAPIV3.Document;
264
+
265
+ beforeAll(async () => {
266
+ api = await SwaggerParser.validate('./openapi.yaml') as OpenAPIV3.Document;
267
+ });
268
+
269
+ it('GET /users/{id} matches spec', async () => {
270
+ const response = await fetch('/api/users/123');
271
+ const body = await response.json();
272
+
273
+ // Validate response matches schema
274
+ const schema = api.paths['/users/{id}']
275
+ .get
276
+ .responses['200']
277
+ .content['application/json']
278
+ .schema;
279
+
280
+ const ajv = new Ajv();
281
+ const validate = ajv.compile(schema);
282
+
283
+ expect(validate(body)).toBe(true);
284
+ });
285
+ });
286
+ ```
287
+
288
+ ---
289
+
290
+ ## Schema Testing Strategies
291
+
292
+ ### 1. Snapshot Testing
293
+
294
+ ```typescript
295
+ describe('API Schemas', () => {
296
+ it('user schema matches snapshot', () => {
297
+ const userSchema = require('./schemas/user.json');
298
+ expect(userSchema).toMatchSnapshot();
299
+ });
300
+
301
+ it('openapi spec matches snapshot', async () => {
302
+ const spec = await SwaggerParser.parse('./openapi.yaml');
303
+ expect(spec).toMatchSnapshot();
304
+ });
305
+ });
306
+ ```
307
+
308
+ ### 2. Breaking Change Detection
309
+
310
+ ```typescript
311
+ import { diff } from 'json-diff';
312
+
313
+ describe('Schema Backward Compatibility', () => {
314
+ it('new schema is backward compatible', () => {
315
+ const oldSchema = require('./schemas/v1/user.json');
316
+ const newSchema = require('./schemas/v2/user.json');
317
+
318
+ // Check required fields not removed
319
+ const oldRequired = new Set(oldSchema.required || []);
320
+ const newRequired = new Set(newSchema.required || []);
321
+
322
+ for (const field of oldRequired) {
323
+ expect(newRequired.has(field)).toBe(true);
324
+ }
325
+
326
+ // Check no type changes in existing fields
327
+ for (const [field, oldDef] of Object.entries(oldSchema.properties || {})) {
328
+ if (newSchema.properties?.[field]) {
329
+ expect(newSchema.properties[field].type).toBe(oldDef.type);
330
+ }
331
+ }
332
+ });
333
+ });
334
+ ```
335
+
336
+ ### 3. Schema Fuzzing
337
+
338
+ ```typescript
339
+ import jsf from 'json-schema-faker';
340
+
341
+ describe('Schema Fuzzing', () => {
342
+ it('handles random valid inputs', async () => {
343
+ const createUserSchema = require('./schemas/create-user.json');
344
+
345
+ // Generate random valid input
346
+ const randomUser = jsf.generate(createUserSchema);
347
+
348
+ // Should not throw
349
+ const response = await fetch('/api/users', {
350
+ method: 'POST',
351
+ body: JSON.stringify(randomUser),
352
+ });
353
+
354
+ // Should accept valid input
355
+ expect(response.status).toBe(201);
356
+ });
357
+ });
358
+ ```
359
+
360
+ ---
361
+
362
+ ## Schema Evolution
363
+
364
+ ### Versioning Strategies
365
+
366
+ ```yaml
367
+ # Option 1: Path versioning
368
+ paths:
369
+ /v1/users:
370
+ get:
371
+ responses:
372
+ '200':
373
+ content:
374
+ application/json:
375
+ schema:
376
+ $ref: '#/components/schemas/UserV1'
377
+
378
+ /v2/users:
379
+ get:
380
+ responses:
381
+ '200':
382
+ content:
383
+ application/json:
384
+ schema:
385
+ $ref: '#/components/schemas/UserV2'
386
+
387
+ # Option 2: Content negotiation
388
+ paths:
389
+ /users:
390
+ get:
391
+ responses:
392
+ '200':
393
+ content:
394
+ application/vnd.api.v1+json:
395
+ schema:
396
+ $ref: '#/components/schemas/UserV1'
397
+ application/vnd.api.v2+json:
398
+ schema:
399
+ $ref: '#/components/schemas/UserV2'
400
+ ```
401
+
402
+ ### Migration Guide Generation
403
+
404
+ ```typescript
405
+ function generateMigrationGuide(oldSchema: Schema, newSchema: Schema): string {
406
+ const changes: string[] = [];
407
+
408
+ // Find new required fields
409
+ const newRequired = newSchema.required.filter(
410
+ f => !oldSchema.required.includes(f)
411
+ );
412
+
413
+ if (newRequired.length > 0) {
414
+ changes.push(`New required fields: ${newRequired.join(', ')}`);
415
+ }
416
+
417
+ // Find removed fields
418
+ const removedFields = Object.keys(oldSchema.properties).filter(
419
+ f => !(f in newSchema.properties)
420
+ );
421
+
422
+ if (removedFields.length > 0) {
423
+ changes.push(`Removed fields: ${removedFields.join(', ')}`);
424
+ }
425
+
426
+ // Find type changes
427
+ for (const [field, def] of Object.entries(newSchema.properties)) {
428
+ if (oldSchema.properties[field]?.type !== def.type) {
429
+ changes.push(`Type change: ${field} (${oldSchema.properties[field]?.type} → ${def.type})`);
430
+ }
431
+ }
432
+
433
+ return changes.join('\n');
434
+ }
435
+ ```
436
+
437
+ ---
438
+
439
+ ## Integration with Zod
440
+
441
+ ### Define Schema with Zod
442
+
443
+ ```typescript
444
+ import { z } from 'zod';
445
+ import { zodToJsonSchema } from 'zod-to-json-schema';
446
+
447
+ // Define schema with Zod
448
+ const UserSchema = z.object({
449
+ id: z.string().uuid(),
450
+ name: z.string().min(1).max(100),
451
+ email: z.string().email(),
452
+ role: z.enum(['admin', 'user', 'guest']).default('user'),
453
+ createdAt: z.string().datetime(),
454
+ });
455
+
456
+ const CreateUserSchema = UserSchema.omit({ id: true, createdAt: true });
457
+
458
+ // Type inference
459
+ type User = z.infer<typeof UserSchema>;
460
+ type CreateUser = z.infer<typeof CreateUserSchema>;
461
+
462
+ // Convert to JSON Schema
463
+ const userJsonSchema = zodToJsonSchema(UserSchema);
464
+
465
+ // Validation
466
+ function validateUser(data: unknown): User {
467
+ return UserSchema.parse(data);
468
+ }
469
+
470
+ // Safe validation
471
+ function safeValidateUser(data: unknown): { success: boolean; data?: User; error?: z.ZodError } {
472
+ const result = UserSchema.safeParse(data);
473
+ return result;
474
+ }
475
+ ```
476
+
477
+ ### Express Middleware with Zod
478
+
479
+ ```typescript
480
+ import { z, ZodSchema } from 'zod';
481
+
482
+ function validate<T extends ZodSchema>(schema: T) {
483
+ return (req: Request, res: Response, next: NextFunction) => {
484
+ const result = schema.safeParse(req.body);
485
+
486
+ if (!result.success) {
487
+ return res.status(400).json({
488
+ error: 'Validation failed',
489
+ details: result.error.issues,
490
+ });
491
+ }
492
+
493
+ req.body = result.data;
494
+ next();
495
+ };
496
+ }
497
+
498
+ // Usage
499
+ app.post('/api/users', validate(CreateUserSchema), createUser);
500
+ ```
501
+
502
+ ---
503
+
504
+ ## Commands
505
+
506
+ ```bash
507
+ # Validate schema files
508
+ /schema validate ./schemas/
509
+
510
+ # Generate JSON Schema from TypeScript
511
+ /schema generate --from types.ts --out schemas/
512
+
513
+ # Compare schemas for breaking changes
514
+ /schema diff ./old-schema.json ./new-schema.json
515
+
516
+ # Generate TypeScript from JSON Schema
517
+ /schema to-typescript ./schemas/user.json
518
+
519
+ # Validate OpenAPI spec
520
+ /schema openapi validate ./openapi.yaml
521
+
522
+ # Generate mock data from schema
523
+ /schema mock ./schemas/user.json
524
+ ```
525
+
526
+ ---
527
+
528
+ ## Configuration
529
+
530
+ ```yaml
531
+ # proagents.config.yaml
532
+ schema_validation:
533
+ enabled: true
534
+
535
+ json_schema:
536
+ draft: "2020-12"
537
+ strict: true
538
+ additional_properties: false
539
+
540
+ openapi:
541
+ validate_requests: true
542
+ validate_responses: true
543
+ spec_path: "./openapi.yaml"
544
+
545
+ zod:
546
+ strict: true
547
+ coerce: false
548
+
549
+ ci:
550
+ check_breaking_changes: true
551
+ fail_on_breaking: true
552
+ generate_migration_guide: true
553
+ ```
554
+
555
+ ---
556
+
557
+ ## Best Practices
558
+
559
+ 1. **Single source of truth**: Define schemas once, generate others
560
+ 2. **Version schemas**: Track schema changes in git
561
+ 3. **Detect breaking changes**: Fail CI on incompatible changes
562
+ 4. **Generate types**: Create TypeScript types from schemas
563
+ 5. **Validate early**: Validate at API boundaries
564
+ 6. **Document schemas**: Include descriptions and examples
565
+ 7. **Use strict mode**: Disallow additional properties by default
@@ -0,0 +1,48 @@
1
+ # Cost Estimation
2
+
3
+ Estimate infrastructure and cloud costs for features.
4
+
5
+ ---
6
+
7
+ ## Overview
8
+
9
+ Proactive cost estimation helps avoid surprise bills and enables informed decisions about feature implementation.
10
+
11
+ ## Documentation
12
+
13
+ | Document | Description |
14
+ |----------|-------------|
15
+ | [Estimation Framework](./estimation-framework.md) | How to estimate costs |
16
+ | [Cost Template](./cost-template.md) | Template for cost reports |
17
+
18
+ ## Quick Start
19
+
20
+ ```bash
21
+ # Estimate costs for a feature
22
+ proagents cost estimate "user-authentication"
23
+
24
+ # Generate cost report
25
+ proagents cost report --output costs.pdf
26
+ ```
27
+
28
+ ## Cost Categories
29
+
30
+ - **Compute**: Servers, containers, serverless functions
31
+ - **Storage**: Databases, file storage, backups
32
+ - **Network**: Bandwidth, CDN, load balancers
33
+ - **Third-Party**: APIs, SaaS services
34
+ - **Development**: AI API costs, tooling
35
+
36
+ ## Configuration
37
+
38
+ ```yaml
39
+ # proagents.config.yaml
40
+ cost:
41
+ estimation:
42
+ cloud_provider: "aws" # aws, gcp, azure
43
+ region: "us-east-1"
44
+
45
+ thresholds:
46
+ warn_at: 100 # Monthly increase
47
+ require_approval: 500
48
+ ```