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,544 @@
1
+ /**
2
+ * ProAgents Dashboard Component
3
+ *
4
+ * A customizable dashboard for displaying development metrics.
5
+ * Uses the dashboard-config.json schema for configuration.
6
+ */
7
+
8
+ import React, { useEffect, useState, useMemo } from 'react';
9
+
10
+ // Types
11
+ interface DashboardConfig {
12
+ dashboard: {
13
+ id: string;
14
+ name: string;
15
+ description: string;
16
+ refreshInterval: number;
17
+ theme: 'light' | 'dark' | 'auto';
18
+ };
19
+ layout: {
20
+ columns: number;
21
+ rowHeight: number;
22
+ margin: [number, number];
23
+ };
24
+ widgets: Widget[];
25
+ dataSources: Record<string, DataSource>;
26
+ filters: Filter[];
27
+ }
28
+
29
+ interface Widget {
30
+ id: string;
31
+ type: 'stat' | 'gauge' | 'line' | 'pie' | 'table' | 'timeline' | 'feed';
32
+ title: string;
33
+ position: { x: number; y: number; w: number; h: number };
34
+ config: Record<string, any>;
35
+ }
36
+
37
+ interface DataSource {
38
+ type: 'api' | 'websocket' | 'static';
39
+ endpoint: string;
40
+ method?: string;
41
+ }
42
+
43
+ interface Filter {
44
+ id: string;
45
+ type: 'date-range' | 'select' | 'text';
46
+ label: string;
47
+ default?: string;
48
+ options?: string[];
49
+ }
50
+
51
+ // Dashboard Component
52
+ export const ProAgentsDashboard: React.FC<{ config: DashboardConfig }> = ({
53
+ config,
54
+ }) => {
55
+ const [data, setData] = useState<Record<string, any>>({});
56
+ const [filters, setFilters] = useState<Record<string, any>>({});
57
+ const [loading, setLoading] = useState(true);
58
+ const [error, setError] = useState<string | null>(null);
59
+
60
+ // Initialize filters with defaults
61
+ useEffect(() => {
62
+ const initialFilters: Record<string, any> = {};
63
+ config.filters.forEach((filter) => {
64
+ if (filter.default) {
65
+ initialFilters[filter.id] = filter.default;
66
+ }
67
+ });
68
+ setFilters(initialFilters);
69
+ }, [config.filters]);
70
+
71
+ // Fetch data from data sources
72
+ useEffect(() => {
73
+ const fetchData = async () => {
74
+ setLoading(true);
75
+ try {
76
+ const results: Record<string, any> = {};
77
+
78
+ for (const [key, source] of Object.entries(config.dataSources)) {
79
+ if (source.type === 'api') {
80
+ const response = await fetch(source.endpoint, {
81
+ method: source.method || 'GET',
82
+ headers: { 'Content-Type': 'application/json' },
83
+ });
84
+ results[key] = await response.json();
85
+ }
86
+ }
87
+
88
+ setData(results);
89
+ setError(null);
90
+ } catch (err) {
91
+ setError('Failed to load dashboard data');
92
+ console.error('Dashboard fetch error:', err);
93
+ } finally {
94
+ setLoading(false);
95
+ }
96
+ };
97
+
98
+ fetchData();
99
+
100
+ // Set up refresh interval
101
+ const interval = setInterval(fetchData, config.dashboard.refreshInterval * 1000);
102
+ return () => clearInterval(interval);
103
+ }, [config.dataSources, config.dashboard.refreshInterval, filters]);
104
+
105
+ // Calculate grid styles
106
+ const gridStyle = useMemo(() => ({
107
+ display: 'grid',
108
+ gridTemplateColumns: `repeat(${config.layout.columns}, 1fr)`,
109
+ gap: `${config.layout.margin[0]}px`,
110
+ padding: `${config.layout.margin[1]}px`,
111
+ }), [config.layout]);
112
+
113
+ if (loading && Object.keys(data).length === 0) {
114
+ return <DashboardSkeleton config={config} />;
115
+ }
116
+
117
+ if (error) {
118
+ return <DashboardError message={error} onRetry={() => window.location.reload()} />;
119
+ }
120
+
121
+ return (
122
+ <div className="proagents-dashboard">
123
+ {/* Header */}
124
+ <header className="dashboard-header">
125
+ <div className="dashboard-title">
126
+ <h1>{config.dashboard.name}</h1>
127
+ <p>{config.dashboard.description}</p>
128
+ </div>
129
+ <div className="dashboard-filters">
130
+ {config.filters.map((filter) => (
131
+ <FilterControl
132
+ key={filter.id}
133
+ filter={filter}
134
+ value={filters[filter.id]}
135
+ onChange={(value) => setFilters({ ...filters, [filter.id]: value })}
136
+ />
137
+ ))}
138
+ </div>
139
+ </header>
140
+
141
+ {/* Widget Grid */}
142
+ <div className="dashboard-grid" style={gridStyle}>
143
+ {config.widgets.map((widget) => (
144
+ <WidgetContainer
145
+ key={widget.id}
146
+ widget={widget}
147
+ data={data}
148
+ rowHeight={config.layout.rowHeight}
149
+ />
150
+ ))}
151
+ </div>
152
+ </div>
153
+ );
154
+ };
155
+
156
+ // Widget Container
157
+ const WidgetContainer: React.FC<{
158
+ widget: Widget;
159
+ data: Record<string, any>;
160
+ rowHeight: number;
161
+ }> = ({ widget, data, rowHeight }) => {
162
+ const style = {
163
+ gridColumn: `span ${widget.position.w}`,
164
+ gridRow: `span ${widget.position.h}`,
165
+ minHeight: `${widget.position.h * rowHeight}px`,
166
+ };
167
+
168
+ const WidgetComponent = getWidgetComponent(widget.type);
169
+
170
+ return (
171
+ <div className="widget-container" style={style}>
172
+ <div className="widget-header">
173
+ <h3>{widget.title}</h3>
174
+ </div>
175
+ <div className="widget-content">
176
+ <WidgetComponent widget={widget} data={data} />
177
+ </div>
178
+ </div>
179
+ );
180
+ };
181
+
182
+ // Widget Components
183
+ const StatWidget: React.FC<{ widget: Widget; data: Record<string, any> }> = ({
184
+ widget,
185
+ data,
186
+ }) => {
187
+ const value = data[widget.config.metric]?.value ?? 0;
188
+ const change = data[widget.config.metric]?.change ?? 0;
189
+
190
+ return (
191
+ <div className="stat-widget">
192
+ <div className="stat-value" style={{ color: widget.config.color }}>
193
+ {formatValue(value, widget.config.format)}
194
+ </div>
195
+ {widget.config.comparison && (
196
+ <div className={`stat-change ${change >= 0 ? 'positive' : 'negative'}`}>
197
+ {change >= 0 ? '↑' : '↓'} {Math.abs(change)}% vs previous period
198
+ </div>
199
+ )}
200
+ </div>
201
+ );
202
+ };
203
+
204
+ const GaugeWidget: React.FC<{ widget: Widget; data: Record<string, any> }> = ({
205
+ widget,
206
+ data,
207
+ }) => {
208
+ const value = data[widget.config.metric]?.value ?? 0;
209
+ const { min, max, thresholds } = widget.config;
210
+ const percentage = ((value - min) / (max - min)) * 100;
211
+
212
+ const color = thresholds.reduce((acc: string, t: { value: number; color: string }) => {
213
+ return value >= t.value ? t.color : acc;
214
+ }, thresholds[0].color);
215
+
216
+ return (
217
+ <div className="gauge-widget">
218
+ <svg viewBox="0 0 100 60" className="gauge-svg">
219
+ <path
220
+ d="M10 50 A40 40 0 0 1 90 50"
221
+ fill="none"
222
+ stroke="#e5e7eb"
223
+ strokeWidth="8"
224
+ />
225
+ <path
226
+ d="M10 50 A40 40 0 0 1 90 50"
227
+ fill="none"
228
+ stroke={color}
229
+ strokeWidth="8"
230
+ strokeDasharray={`${percentage * 1.26} 126`}
231
+ />
232
+ </svg>
233
+ <div className="gauge-value">{value}%</div>
234
+ </div>
235
+ );
236
+ };
237
+
238
+ const LineWidget: React.FC<{ widget: Widget; data: Record<string, any> }> = ({
239
+ widget,
240
+ data,
241
+ }) => {
242
+ // Simplified line chart - in production, use a library like Recharts
243
+ return (
244
+ <div className="line-widget">
245
+ <div className="chart-placeholder">
246
+ 📈 Line Chart: {widget.config.metrics.map((m: any) => m.label).join(', ')}
247
+ </div>
248
+ <div className="chart-legend">
249
+ {widget.config.metrics.map((m: any) => (
250
+ <span key={m.id} style={{ color: m.color }}>
251
+ ● {m.label}
252
+ </span>
253
+ ))}
254
+ </div>
255
+ </div>
256
+ );
257
+ };
258
+
259
+ const PieWidget: React.FC<{ widget: Widget; data: Record<string, any> }> = ({
260
+ widget,
261
+ data,
262
+ }) => {
263
+ return (
264
+ <div className="pie-widget">
265
+ <div className="chart-placeholder">🥧 Pie Chart</div>
266
+ <div className="pie-legend">
267
+ {Object.entries(widget.config.colors || {}).map(([key, color]) => (
268
+ <span key={key} style={{ color: color as string }}>
269
+ ● {key}
270
+ </span>
271
+ ))}
272
+ </div>
273
+ </div>
274
+ );
275
+ };
276
+
277
+ const TableWidget: React.FC<{ widget: Widget; data: Record<string, any> }> = ({
278
+ widget,
279
+ data,
280
+ }) => {
281
+ const rows = data[widget.config.dataSource] ?? [];
282
+
283
+ return (
284
+ <div className="table-widget">
285
+ <table>
286
+ <thead>
287
+ <tr>
288
+ {widget.config.columns.map((col: any) => (
289
+ <th key={col.field} style={{ textAlign: col.align || 'left' }}>
290
+ {col.label}
291
+ </th>
292
+ ))}
293
+ </tr>
294
+ </thead>
295
+ <tbody>
296
+ {rows.slice(0, widget.config.limit).map((row: any, i: number) => (
297
+ <tr key={i}>
298
+ {widget.config.columns.map((col: any) => (
299
+ <td key={col.field} style={{ textAlign: col.align || 'left' }}>
300
+ {row[col.field]}
301
+ </td>
302
+ ))}
303
+ </tr>
304
+ ))}
305
+ </tbody>
306
+ </table>
307
+ </div>
308
+ );
309
+ };
310
+
311
+ const TimelineWidget: React.FC<{ widget: Widget; data: Record<string, any> }> = ({
312
+ widget,
313
+ data,
314
+ }) => {
315
+ const items = data[widget.config.dataSource] ?? [];
316
+
317
+ return (
318
+ <div className="timeline-widget">
319
+ {items.map((item: any, i: number) => (
320
+ <div key={i} className="timeline-item">
321
+ <div className="timeline-marker" />
322
+ <div className="timeline-content">
323
+ <strong>{item.name}</strong>
324
+ <span className="timeline-phase">{item.phase}</span>
325
+ <div className="timeline-progress">
326
+ <div
327
+ className="progress-bar"
328
+ style={{ width: `${item.progress}%` }}
329
+ />
330
+ </div>
331
+ </div>
332
+ </div>
333
+ ))}
334
+ </div>
335
+ );
336
+ };
337
+
338
+ const FeedWidget: React.FC<{ widget: Widget; data: Record<string, any> }> = ({
339
+ widget,
340
+ data,
341
+ }) => {
342
+ const items = data[widget.config.dataSource] ?? [];
343
+
344
+ return (
345
+ <div className="feed-widget">
346
+ {items.slice(0, widget.config.limit).map((item: any, i: number) => (
347
+ <div key={i} className="feed-item">
348
+ <span className="feed-icon">{getEventIcon(item.type)}</span>
349
+ <span className="feed-message">{item.message}</span>
350
+ {widget.config.showTimestamp && (
351
+ <span className="feed-time">{formatRelativeTime(item.timestamp)}</span>
352
+ )}
353
+ </div>
354
+ ))}
355
+ </div>
356
+ );
357
+ };
358
+
359
+ // Filter Control
360
+ const FilterControl: React.FC<{
361
+ filter: Filter;
362
+ value: any;
363
+ onChange: (value: any) => void;
364
+ }> = ({ filter, value, onChange }) => {
365
+ switch (filter.type) {
366
+ case 'date-range':
367
+ return (
368
+ <select
369
+ value={value}
370
+ onChange={(e) => onChange(e.target.value)}
371
+ className="filter-select"
372
+ >
373
+ {filter.options?.map((opt) => (
374
+ <option key={opt} value={opt}>
375
+ {opt}
376
+ </option>
377
+ ))}
378
+ </select>
379
+ );
380
+ case 'select':
381
+ return (
382
+ <select
383
+ value={value}
384
+ onChange={(e) => onChange(e.target.value)}
385
+ className="filter-select"
386
+ >
387
+ <option value="">All {filter.label}</option>
388
+ {filter.options?.map((opt) => (
389
+ <option key={opt} value={opt}>
390
+ {opt}
391
+ </option>
392
+ ))}
393
+ </select>
394
+ );
395
+ default:
396
+ return null;
397
+ }
398
+ };
399
+
400
+ // Helper Components
401
+ const DashboardSkeleton: React.FC<{ config: DashboardConfig }> = ({ config }) => (
402
+ <div className="dashboard-skeleton">
403
+ <div className="skeleton-header" />
404
+ <div className="skeleton-grid">
405
+ {config.widgets.map((w) => (
406
+ <div key={w.id} className="skeleton-widget" />
407
+ ))}
408
+ </div>
409
+ </div>
410
+ );
411
+
412
+ const DashboardError: React.FC<{ message: string; onRetry: () => void }> = ({
413
+ message,
414
+ onRetry,
415
+ }) => (
416
+ <div className="dashboard-error">
417
+ <p>{message}</p>
418
+ <button onClick={onRetry}>Retry</button>
419
+ </div>
420
+ );
421
+
422
+ // Utilities
423
+ function getWidgetComponent(type: string) {
424
+ const components: Record<string, React.FC<any>> = {
425
+ stat: StatWidget,
426
+ gauge: GaugeWidget,
427
+ line: LineWidget,
428
+ pie: PieWidget,
429
+ table: TableWidget,
430
+ timeline: TimelineWidget,
431
+ feed: FeedWidget,
432
+ };
433
+ return components[type] || (() => <div>Unknown widget type</div>);
434
+ }
435
+
436
+ function formatValue(value: number, format: string): string {
437
+ switch (format) {
438
+ case 'number':
439
+ return value.toLocaleString();
440
+ case 'duration':
441
+ return value.toFixed(1);
442
+ case 'percentage':
443
+ return `${value}%`;
444
+ default:
445
+ return String(value);
446
+ }
447
+ }
448
+
449
+ function getEventIcon(type: string): string {
450
+ const icons: Record<string, string> = {
451
+ feature_complete: '✅',
452
+ deployment: '🚀',
453
+ pr_merged: '🔀',
454
+ bug_fixed: '🐛',
455
+ test_passed: '✓',
456
+ };
457
+ return icons[type] || '•';
458
+ }
459
+
460
+ function formatRelativeTime(timestamp: string): string {
461
+ const diff = Date.now() - new Date(timestamp).getTime();
462
+ const minutes = Math.floor(diff / 60000);
463
+ if (minutes < 60) return `${minutes}m ago`;
464
+ const hours = Math.floor(minutes / 60);
465
+ if (hours < 24) return `${hours}h ago`;
466
+ const days = Math.floor(hours / 24);
467
+ return `${days}d ago`;
468
+ }
469
+
470
+ // CSS (include in your stylesheet)
471
+ export const dashboardStyles = `
472
+ .proagents-dashboard {
473
+ font-family: system-ui, -apple-system, sans-serif;
474
+ background: var(--bg-primary, #f9fafb);
475
+ min-height: 100vh;
476
+ }
477
+
478
+ .dashboard-header {
479
+ display: flex;
480
+ justify-content: space-between;
481
+ align-items: center;
482
+ padding: 24px;
483
+ background: var(--bg-secondary, white);
484
+ border-bottom: 1px solid var(--border, #e5e7eb);
485
+ }
486
+
487
+ .dashboard-title h1 {
488
+ margin: 0;
489
+ font-size: 24px;
490
+ }
491
+
492
+ .dashboard-title p {
493
+ margin: 4px 0 0;
494
+ color: var(--text-secondary, #6b7280);
495
+ }
496
+
497
+ .dashboard-filters {
498
+ display: flex;
499
+ gap: 12px;
500
+ }
501
+
502
+ .filter-select {
503
+ padding: 8px 12px;
504
+ border: 1px solid var(--border, #e5e7eb);
505
+ border-radius: 6px;
506
+ background: white;
507
+ }
508
+
509
+ .widget-container {
510
+ background: white;
511
+ border-radius: 8px;
512
+ box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
513
+ overflow: hidden;
514
+ }
515
+
516
+ .widget-header {
517
+ padding: 16px;
518
+ border-bottom: 1px solid var(--border, #e5e7eb);
519
+ }
520
+
521
+ .widget-header h3 {
522
+ margin: 0;
523
+ font-size: 14px;
524
+ font-weight: 600;
525
+ color: var(--text-secondary, #6b7280);
526
+ }
527
+
528
+ .widget-content {
529
+ padding: 16px;
530
+ }
531
+
532
+ .stat-value {
533
+ font-size: 36px;
534
+ font-weight: 700;
535
+ }
536
+
537
+ .stat-change {
538
+ font-size: 14px;
539
+ margin-top: 8px;
540
+ }
541
+
542
+ .stat-change.positive { color: #10b981; }
543
+ .stat-change.negative { color: #ef4444; }
544
+ `;