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,595 @@
1
+ # UI Error Handling
2
+
3
+ Managing and displaying errors in frontend applications.
4
+
5
+ ---
6
+
7
+ ## Error Boundaries
8
+
9
+ ### React Error Boundary
10
+
11
+ ```tsx
12
+ // components/ErrorBoundary.tsx
13
+ import React, { Component, ErrorInfo, ReactNode } from 'react';
14
+ import { logger } from '../logging';
15
+
16
+ interface Props {
17
+ children: ReactNode;
18
+ fallback?: ReactNode;
19
+ onError?: (error: Error, errorInfo: ErrorInfo) => void;
20
+ }
21
+
22
+ interface State {
23
+ hasError: boolean;
24
+ error?: Error;
25
+ }
26
+
27
+ export class ErrorBoundary extends Component<Props, State> {
28
+ state: State = { hasError: false };
29
+
30
+ static getDerivedStateFromError(error: Error): State {
31
+ return { hasError: true, error };
32
+ }
33
+
34
+ componentDidCatch(error: Error, errorInfo: ErrorInfo) {
35
+ // Log to monitoring service
36
+ logger.error('React error boundary caught error', {
37
+ error: error.message,
38
+ stack: error.stack,
39
+ componentStack: errorInfo.componentStack,
40
+ });
41
+
42
+ // Call custom handler
43
+ this.props.onError?.(error, errorInfo);
44
+ }
45
+
46
+ render() {
47
+ if (this.state.hasError) {
48
+ return this.props.fallback || <DefaultErrorFallback error={this.state.error} />;
49
+ }
50
+
51
+ return this.props.children;
52
+ }
53
+ }
54
+
55
+ // Default fallback component
56
+ function DefaultErrorFallback({ error }: { error?: Error }) {
57
+ return (
58
+ <div className="error-fallback">
59
+ <h2>Something went wrong</h2>
60
+ <p>We're sorry, an unexpected error occurred.</p>
61
+ <button onClick={() => window.location.reload()}>
62
+ Reload Page
63
+ </button>
64
+ {process.env.NODE_ENV === 'development' && (
65
+ <pre>{error?.stack}</pre>
66
+ )}
67
+ </div>
68
+ );
69
+ }
70
+
71
+ // Usage
72
+ <ErrorBoundary fallback={<CustomErrorPage />}>
73
+ <App />
74
+ </ErrorBoundary>
75
+ ```
76
+
77
+ ### Feature-Level Boundaries
78
+
79
+ ```tsx
80
+ // components/FeatureErrorBoundary.tsx
81
+ export function FeatureErrorBoundary({
82
+ children,
83
+ feature,
84
+ }: {
85
+ children: ReactNode;
86
+ feature: string;
87
+ }) {
88
+ return (
89
+ <ErrorBoundary
90
+ fallback={<FeatureErrorFallback feature={feature} />}
91
+ onError={(error) => {
92
+ analytics.track('feature_error', { feature, error: error.message });
93
+ }}
94
+ >
95
+ {children}
96
+ </ErrorBoundary>
97
+ );
98
+ }
99
+
100
+ // Usage
101
+ <FeatureErrorBoundary feature="checkout">
102
+ <CheckoutFlow />
103
+ </FeatureErrorBoundary>
104
+ ```
105
+
106
+ ---
107
+
108
+ ## Form Validation Errors
109
+
110
+ ### Form Error State
111
+
112
+ ```tsx
113
+ // hooks/useFormErrors.ts
114
+ interface FieldError {
115
+ field: string;
116
+ message: string;
117
+ code?: string;
118
+ }
119
+
120
+ interface FormErrors {
121
+ fields: Record<string, FieldError>;
122
+ general?: string;
123
+ }
124
+
125
+ export function useFormErrors() {
126
+ const [errors, setErrors] = useState<FormErrors>({ fields: {} });
127
+
128
+ const setFieldError = (field: string, message: string, code?: string) => {
129
+ setErrors(prev => ({
130
+ ...prev,
131
+ fields: {
132
+ ...prev.fields,
133
+ [field]: { field, message, code },
134
+ },
135
+ }));
136
+ };
137
+
138
+ const clearFieldError = (field: string) => {
139
+ setErrors(prev => {
140
+ const { [field]: _, ...rest } = prev.fields;
141
+ return { ...prev, fields: rest };
142
+ });
143
+ };
144
+
145
+ const setGeneralError = (message: string) => {
146
+ setErrors(prev => ({ ...prev, general: message }));
147
+ };
148
+
149
+ const clearAllErrors = () => {
150
+ setErrors({ fields: {} });
151
+ };
152
+
153
+ const hasErrors = Object.keys(errors.fields).length > 0 || !!errors.general;
154
+
155
+ return {
156
+ errors,
157
+ setFieldError,
158
+ clearFieldError,
159
+ setGeneralError,
160
+ clearAllErrors,
161
+ hasErrors,
162
+ };
163
+ }
164
+ ```
165
+
166
+ ### Error Display Components
167
+
168
+ ```tsx
169
+ // components/FormError.tsx
170
+ export function FieldError({ name, error }: { name: string; error?: FieldError }) {
171
+ if (!error) return null;
172
+
173
+ return (
174
+ <div className="field-error" role="alert" aria-live="polite">
175
+ <span className="error-icon">⚠️</span>
176
+ <span className="error-message">{error.message}</span>
177
+ </div>
178
+ );
179
+ }
180
+
181
+ export function FormGeneralError({ message }: { message?: string }) {
182
+ if (!message) return null;
183
+
184
+ return (
185
+ <div className="form-error" role="alert">
186
+ <span className="error-message">{message}</span>
187
+ </div>
188
+ );
189
+ }
190
+
191
+ // Form usage
192
+ function LoginForm() {
193
+ const { errors, setFieldError, setGeneralError } = useFormErrors();
194
+
195
+ const handleSubmit = async (data: LoginData) => {
196
+ try {
197
+ await login(data);
198
+ } catch (error) {
199
+ if (error instanceof ValidationError) {
200
+ error.details.forEach(d => setFieldError(d.field, d.message));
201
+ } else if (error instanceof AuthenticationError) {
202
+ setGeneralError('Invalid email or password');
203
+ } else {
204
+ setGeneralError('An unexpected error occurred');
205
+ }
206
+ }
207
+ };
208
+
209
+ return (
210
+ <form onSubmit={handleSubmit}>
211
+ <FormGeneralError message={errors.general} />
212
+
213
+ <div className="field">
214
+ <input name="email" type="email" />
215
+ <FieldError name="email" error={errors.fields.email} />
216
+ </div>
217
+
218
+ <div className="field">
219
+ <input name="password" type="password" />
220
+ <FieldError name="password" error={errors.fields.password} />
221
+ </div>
222
+
223
+ <button type="submit">Login</button>
224
+ </form>
225
+ );
226
+ }
227
+ ```
228
+
229
+ ---
230
+
231
+ ## API Error Handling
232
+
233
+ ### API Error Hook
234
+
235
+ ```tsx
236
+ // hooks/useApiError.ts
237
+ interface UseApiErrorResult<T> {
238
+ data: T | null;
239
+ error: APIError | null;
240
+ isLoading: boolean;
241
+ isError: boolean;
242
+ retry: () => void;
243
+ }
244
+
245
+ export function useApiError<T>(
246
+ fetcher: () => Promise<T>,
247
+ options?: { onError?: (error: APIError) => void }
248
+ ): UseApiErrorResult<T> {
249
+ const [state, setState] = useState<{
250
+ data: T | null;
251
+ error: APIError | null;
252
+ isLoading: boolean;
253
+ }>({
254
+ data: null,
255
+ error: null,
256
+ isLoading: true,
257
+ });
258
+
259
+ const execute = useCallback(async () => {
260
+ setState(prev => ({ ...prev, isLoading: true, error: null }));
261
+
262
+ try {
263
+ const data = await fetcher();
264
+ setState({ data, error: null, isLoading: false });
265
+ } catch (error) {
266
+ const apiError = error instanceof APIError
267
+ ? error
268
+ : new APIError({ error: { code: 'UNKNOWN', message: error.message } }, 500);
269
+
270
+ setState({ data: null, error: apiError, isLoading: false });
271
+ options?.onError?.(apiError);
272
+ }
273
+ }, [fetcher, options?.onError]);
274
+
275
+ useEffect(() => {
276
+ execute();
277
+ }, [execute]);
278
+
279
+ return {
280
+ ...state,
281
+ isError: !!state.error,
282
+ retry: execute,
283
+ };
284
+ }
285
+
286
+ // Usage
287
+ function UserProfile({ userId }: { userId: string }) {
288
+ const { data: user, error, isLoading, retry } = useApiError(
289
+ () => fetchUser(userId),
290
+ {
291
+ onError: (error) => {
292
+ if (error.statusCode === 401) {
293
+ router.push('/login');
294
+ }
295
+ },
296
+ }
297
+ );
298
+
299
+ if (isLoading) return <Loading />;
300
+ if (error) return <ErrorDisplay error={error} onRetry={retry} />;
301
+
302
+ return <Profile user={user} />;
303
+ }
304
+ ```
305
+
306
+ ### Error Display Component
307
+
308
+ ```tsx
309
+ // components/ErrorDisplay.tsx
310
+ interface ErrorDisplayProps {
311
+ error: APIError;
312
+ onRetry?: () => void;
313
+ compact?: boolean;
314
+ }
315
+
316
+ export function ErrorDisplay({ error, onRetry, compact }: ErrorDisplayProps) {
317
+ const message = getErrorMessage(error);
318
+ const canRetry = isRetryableError(error);
319
+
320
+ if (compact) {
321
+ return (
322
+ <div className="error-inline">
323
+ <span>{message}</span>
324
+ {canRetry && onRetry && (
325
+ <button onClick={onRetry}>Retry</button>
326
+ )}
327
+ </div>
328
+ );
329
+ }
330
+
331
+ return (
332
+ <div className="error-display">
333
+ <div className="error-icon">
334
+ {getErrorIcon(error)}
335
+ </div>
336
+ <h3>{getErrorTitle(error)}</h3>
337
+ <p>{message}</p>
338
+ {canRetry && onRetry && (
339
+ <button onClick={onRetry}>Try Again</button>
340
+ )}
341
+ {error.code === 'NETWORK_ERROR' && (
342
+ <p className="error-hint">Check your internet connection</p>
343
+ )}
344
+ </div>
345
+ );
346
+ }
347
+
348
+ function getErrorMessage(error: APIError): string {
349
+ switch (error.code) {
350
+ case 'NETWORK_ERROR':
351
+ return 'Unable to connect. Please check your internet connection.';
352
+ case 'TIMEOUT':
353
+ return 'The request took too long. Please try again.';
354
+ case 'NOT_FOUND':
355
+ return 'The requested resource was not found.';
356
+ default:
357
+ return error.message || 'An unexpected error occurred.';
358
+ }
359
+ }
360
+ ```
361
+
362
+ ---
363
+
364
+ ## Toast Notifications
365
+
366
+ ### Toast Error System
367
+
368
+ ```tsx
369
+ // contexts/ToastContext.tsx
370
+ interface Toast {
371
+ id: string;
372
+ type: 'error' | 'warning' | 'success' | 'info';
373
+ message: string;
374
+ duration?: number;
375
+ action?: {
376
+ label: string;
377
+ onClick: () => void;
378
+ };
379
+ }
380
+
381
+ const ToastContext = createContext<{
382
+ showToast: (toast: Omit<Toast, 'id'>) => void;
383
+ dismissToast: (id: string) => void;
384
+ } | null>(null);
385
+
386
+ export function ToastProvider({ children }: { children: ReactNode }) {
387
+ const [toasts, setToasts] = useState<Toast[]>([]);
388
+
389
+ const showToast = (toast: Omit<Toast, 'id'>) => {
390
+ const id = Math.random().toString(36);
391
+ setToasts(prev => [...prev, { ...toast, id }]);
392
+
393
+ if (toast.duration !== 0) {
394
+ setTimeout(() => dismissToast(id), toast.duration || 5000);
395
+ }
396
+ };
397
+
398
+ const dismissToast = (id: string) => {
399
+ setToasts(prev => prev.filter(t => t.id !== id));
400
+ };
401
+
402
+ return (
403
+ <ToastContext.Provider value={{ showToast, dismissToast }}>
404
+ {children}
405
+ <ToastContainer toasts={toasts} onDismiss={dismissToast} />
406
+ </ToastContext.Provider>
407
+ );
408
+ }
409
+
410
+ // Hook for showing error toasts
411
+ export function useErrorToast() {
412
+ const { showToast } = useContext(ToastContext)!;
413
+
414
+ return (error: Error | APIError, options?: { action?: Toast['action'] }) => {
415
+ showToast({
416
+ type: 'error',
417
+ message: getErrorMessage(error),
418
+ action: options?.action,
419
+ });
420
+ };
421
+ }
422
+
423
+ // Usage
424
+ function SaveButton() {
425
+ const showError = useErrorToast();
426
+
427
+ const handleSave = async () => {
428
+ try {
429
+ await saveData();
430
+ } catch (error) {
431
+ showError(error, {
432
+ action: {
433
+ label: 'Retry',
434
+ onClick: handleSave,
435
+ },
436
+ });
437
+ }
438
+ };
439
+
440
+ return <button onClick={handleSave}>Save</button>;
441
+ }
442
+ ```
443
+
444
+ ---
445
+
446
+ ## Global Error Handler
447
+
448
+ ### Configuration
449
+
450
+ ```yaml
451
+ # proagents.config.yaml
452
+ patterns:
453
+ ui_errors:
454
+ global_handler:
455
+ enabled: true
456
+
457
+ # Catch unhandled errors
458
+ catch_unhandled: true
459
+ catch_rejections: true
460
+
461
+ # Reporting
462
+ reporting:
463
+ enabled: true
464
+ service: "sentry"
465
+ sample_rate: 1.0
466
+
467
+ # User notification
468
+ notify_user:
469
+ enabled: true
470
+ threshold: "error" # Only show errors, not warnings
471
+ ```
472
+
473
+ ### Implementation
474
+
475
+ ```typescript
476
+ // errorHandler/global.ts
477
+ export function setupGlobalErrorHandler() {
478
+ // Catch unhandled errors
479
+ window.onerror = (message, source, lineno, colno, error) => {
480
+ handleGlobalError(error || new Error(String(message)), {
481
+ source,
482
+ lineno,
483
+ colno,
484
+ });
485
+ return false; // Let default handler run too
486
+ };
487
+
488
+ // Catch unhandled promise rejections
489
+ window.addEventListener('unhandledrejection', (event) => {
490
+ handleGlobalError(event.reason, { type: 'unhandledRejection' });
491
+ });
492
+ }
493
+
494
+ function handleGlobalError(error: Error, context?: Record<string, unknown>) {
495
+ // Log to monitoring
496
+ logger.error('Unhandled error', { error, context });
497
+
498
+ // Report to Sentry/similar
499
+ errorReporting.captureException(error, { extra: context });
500
+
501
+ // Show user notification (if appropriate)
502
+ if (shouldNotifyUser(error)) {
503
+ showErrorNotification(error);
504
+ }
505
+ }
506
+
507
+ function shouldNotifyUser(error: Error): boolean {
508
+ // Don't show for cancelled requests, etc.
509
+ if (error.name === 'AbortError') return false;
510
+ if (error.message.includes('chunk load')) return false;
511
+
512
+ return true;
513
+ }
514
+ ```
515
+
516
+ ---
517
+
518
+ ## Accessibility
519
+
520
+ ### Error Announcements
521
+
522
+ ```tsx
523
+ // components/AccessibleError.tsx
524
+ export function AccessibleError({
525
+ error,
526
+ id,
527
+ }: {
528
+ error: string;
529
+ id: string;
530
+ }) {
531
+ return (
532
+ <div
533
+ id={id}
534
+ role="alert"
535
+ aria-live="assertive"
536
+ aria-atomic="true"
537
+ className="error-message"
538
+ >
539
+ <span className="sr-only">Error: </span>
540
+ {error}
541
+ </div>
542
+ );
543
+ }
544
+
545
+ // Form field with accessible error
546
+ export function FormField({
547
+ name,
548
+ label,
549
+ error,
550
+ ...props
551
+ }: FormFieldProps) {
552
+ const errorId = `${name}-error`;
553
+
554
+ return (
555
+ <div className="form-field">
556
+ <label htmlFor={name}>{label}</label>
557
+ <input
558
+ id={name}
559
+ name={name}
560
+ aria-invalid={!!error}
561
+ aria-describedby={error ? errorId : undefined}
562
+ {...props}
563
+ />
564
+ {error && <AccessibleError error={error} id={errorId} />}
565
+ </div>
566
+ );
567
+ }
568
+ ```
569
+
570
+ ---
571
+
572
+ ## Commands
573
+
574
+ ```bash
575
+ # Generate error components
576
+ proagents ui generate error-boundary
577
+
578
+ # Test error handling
579
+ proagents ui test --errors
580
+
581
+ # View error analytics
582
+ proagents ui errors --last 7d
583
+ ```
584
+
585
+ ---
586
+
587
+ ## Best Practices
588
+
589
+ 1. **Error Boundaries**: Wrap features in error boundaries
590
+ 2. **User-Friendly Messages**: Don't show technical errors to users
591
+ 3. **Retry Options**: Offer retry for transient errors
592
+ 4. **Accessibility**: Use proper ARIA attributes for errors
593
+ 5. **Log Everything**: Report all errors to monitoring
594
+ 6. **Graceful Degradation**: Show partial content when possible
595
+ 7. **Offline Support**: Handle network errors gracefully
@@ -0,0 +1,59 @@
1
+ # Performance Monitoring
2
+
3
+ Bundle analysis, runtime metrics, and load testing.
4
+
5
+ ---
6
+
7
+ ## Overview
8
+
9
+ Track and optimize application performance throughout development.
10
+
11
+ ## Documentation
12
+
13
+ | Document | Description |
14
+ |----------|-------------|
15
+ | [Bundle Analysis](./bundle-analysis.md) | JavaScript bundle size optimization |
16
+ | [Web Vitals](./web-vitals.md) | Core Web Vitals monitoring |
17
+ | [Runtime Metrics](./runtime-metrics.md) | Application performance metrics |
18
+ | [Load Testing](./load-testing.md) | Stress testing and benchmarks |
19
+
20
+ ## Quick Start
21
+
22
+ ```bash
23
+ # Analyze bundle size
24
+ proagents perf bundle
25
+
26
+ # Check Web Vitals
27
+ proagents perf vitals
28
+
29
+ # Run load test
30
+ proagents perf load-test --users 100
31
+ ```
32
+
33
+ ## Key Metrics
34
+
35
+ | Metric | Target | Tool |
36
+ |--------|--------|------|
37
+ | FCP | < 1.8s | Lighthouse |
38
+ | LCP | < 2.5s | Core Web Vitals |
39
+ | CLS | < 0.1 | Core Web Vitals |
40
+ | Bundle Size | < 200KB | webpack-bundle-analyzer |
41
+
42
+ ## Configuration
43
+
44
+ ```yaml
45
+ # proagents.config.yaml
46
+ performance:
47
+ bundle:
48
+ max_size: "200KB"
49
+ warn_at: "150KB"
50
+
51
+ vitals:
52
+ fcp_target: 1800
53
+ lcp_target: 2500
54
+ cls_target: 0.1
55
+
56
+ regression:
57
+ block_on_regression: true
58
+ threshold: 10 # percent
59
+ ```