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,416 @@
1
+ # Feature Tracking System
2
+
3
+ Track multiple features simultaneously with clear status visibility.
4
+
5
+ ---
6
+
7
+ ## Overview
8
+
9
+ The tracking system provides:
10
+ - Real-time feature status
11
+ - Progress tracking per phase
12
+ - Resource allocation visibility
13
+ - Blocker identification
14
+ - Timeline management
15
+
16
+ ---
17
+
18
+ ## Tracking Structure
19
+
20
+ ### Feature Directory
21
+
22
+ ```
23
+ /proagents/active-features/
24
+ ├── _index.json # Master index
25
+ ├── _dashboard.md # Human-readable dashboard
26
+ ├── feature-user-auth/
27
+ │ ├── status.json # Machine-readable status
28
+ │ ├── status.md # Human-readable status
29
+ │ ├── requirements.md # Requirements document
30
+ │ ├── design.md # Design document
31
+ │ ├── implementation-plan.md # Implementation plan
32
+ │ ├── files-modified.json # Files touched by feature
33
+ │ ├── dependencies.json # Feature dependencies
34
+ │ └── timeline.json # Phase timeline
35
+ ├── feature-dashboard/
36
+ │ └── ...
37
+ └── feature-notifications/
38
+ └── ...
39
+ ```
40
+
41
+ ---
42
+
43
+ ## Master Index
44
+
45
+ ```json
46
+ // _index.json
47
+ {
48
+ "last_updated": "2024-01-15T14:30:00Z",
49
+ "active_features": [
50
+ {
51
+ "id": "feature-user-auth",
52
+ "name": "User Authentication",
53
+ "status": "in_progress",
54
+ "current_phase": "implementation",
55
+ "phase_progress": 60,
56
+ "branch": "feature/user-auth",
57
+ "assignee": "developer-1",
58
+ "started": "2024-01-10T09:00:00Z",
59
+ "estimated_completion": "2024-01-20",
60
+ "blockers": [],
61
+ "priority": "high"
62
+ },
63
+ {
64
+ "id": "feature-dashboard",
65
+ "name": "User Dashboard",
66
+ "status": "blocked",
67
+ "current_phase": "implementation",
68
+ "phase_progress": 30,
69
+ "branch": "feature/dashboard",
70
+ "assignee": "developer-2",
71
+ "started": "2024-01-12T09:00:00Z",
72
+ "blockers": ["Waiting for user-auth API"],
73
+ "priority": "medium"
74
+ }
75
+ ],
76
+ "completed_features": [
77
+ {
78
+ "id": "feature-login-page",
79
+ "name": "Login Page",
80
+ "completed": "2024-01-08",
81
+ "branch": "feature/login-page",
82
+ "merged_to": "main"
83
+ }
84
+ ],
85
+ "paused_features": []
86
+ }
87
+ ```
88
+
89
+ ---
90
+
91
+ ## Feature Status
92
+
93
+ ```json
94
+ // feature-user-auth/status.json
95
+ {
96
+ "id": "feature-user-auth",
97
+ "name": "User Authentication",
98
+ "description": "Implement user login, registration, and session management",
99
+
100
+ "status": "in_progress",
101
+ "priority": "high",
102
+ "assignee": "developer-1",
103
+
104
+ "branch": {
105
+ "name": "feature/user-auth",
106
+ "base": "develop",
107
+ "commits": 15,
108
+ "behind_base": 2
109
+ },
110
+
111
+ "phases": {
112
+ "init": { "status": "completed", "completed_at": "2024-01-10T10:00:00Z" },
113
+ "analysis": { "status": "completed", "completed_at": "2024-01-10T12:00:00Z" },
114
+ "requirements": { "status": "completed", "completed_at": "2024-01-10T14:00:00Z" },
115
+ "design": { "status": "completed", "completed_at": "2024-01-11T12:00:00Z" },
116
+ "planning": { "status": "completed", "completed_at": "2024-01-11T16:00:00Z" },
117
+ "implementation": { "status": "in_progress", "progress": 60 },
118
+ "testing": { "status": "pending" },
119
+ "review": { "status": "pending" },
120
+ "documentation": { "status": "pending" },
121
+ "deployment": { "status": "pending" }
122
+ },
123
+
124
+ "current_task": "Implementing password reset flow",
125
+
126
+ "timeline": {
127
+ "started": "2024-01-10T09:00:00Z",
128
+ "estimated_completion": "2024-01-20T17:00:00Z",
129
+ "actual_hours": 24,
130
+ "estimated_remaining_hours": 16
131
+ },
132
+
133
+ "files_modified": [
134
+ "src/features/auth/components/LoginForm.tsx",
135
+ "src/features/auth/hooks/useAuth.ts",
136
+ "src/features/auth/services/authService.ts",
137
+ "src/lib/api.ts"
138
+ ],
139
+
140
+ "dependencies": {
141
+ "depends_on": [],
142
+ "blocks": ["feature-dashboard", "feature-notifications"]
143
+ },
144
+
145
+ "blockers": [],
146
+ "risks": [
147
+ {
148
+ "description": "OAuth provider integration may take longer",
149
+ "impact": "medium",
150
+ "mitigation": "Start with email/password first"
151
+ }
152
+ ],
153
+
154
+ "notes": [
155
+ {
156
+ "date": "2024-01-12",
157
+ "author": "developer-1",
158
+ "content": "Decided to use JWT instead of sessions"
159
+ }
160
+ ]
161
+ }
162
+ ```
163
+
164
+ ---
165
+
166
+ ## Human-Readable Status
167
+
168
+ ```markdown
169
+ <!-- feature-user-auth/status.md -->
170
+ # Feature: User Authentication
171
+
172
+ ## Quick Status
173
+
174
+ | Attribute | Value |
175
+ |-----------|-------|
176
+ | **Status** | 🔄 In Progress |
177
+ | **Phase** | Implementation (60%) |
178
+ | **Assignee** | developer-1 |
179
+ | **Branch** | feature/user-auth |
180
+ | **Started** | 2024-01-10 |
181
+ | **ETA** | 2024-01-20 |
182
+
183
+ ## Phase Progress
184
+
185
+ ```
186
+ ✅ Init ██████████ 100%
187
+ ✅ Analysis ██████████ 100%
188
+ ✅ Requirements ██████████ 100%
189
+ ✅ Design ██████████ 100%
190
+ ✅ Planning ██████████ 100%
191
+ 🔄 Implementation ██████░░░░ 60%
192
+ ⏳ Testing ░░░░░░░░░░ 0%
193
+ ⏳ Review ░░░░░░░░░░ 0%
194
+ ⏳ Documentation ░░░░░░░░░░ 0%
195
+ ⏳ Deployment ░░░░░░░░░░ 0%
196
+ ```
197
+
198
+ ## Current Task
199
+ Implementing password reset flow
200
+
201
+ ## Files Modified
202
+ - `src/features/auth/components/LoginForm.tsx`
203
+ - `src/features/auth/hooks/useAuth.ts`
204
+ - `src/features/auth/services/authService.ts`
205
+ - `src/lib/api.ts`
206
+
207
+ ## Blockers
208
+ None
209
+
210
+ ## Dependencies
211
+ - **Blocks:** feature-dashboard, feature-notifications
212
+ - **Depends on:** None
213
+
214
+ ## Timeline
215
+ - Started: 2024-01-10
216
+ - Actual hours: 24h
217
+ - Remaining: ~16h
218
+ - On track: ✅ Yes
219
+
220
+ ## Notes
221
+ - 2024-01-12: Decided to use JWT instead of sessions
222
+ ```
223
+
224
+ ---
225
+
226
+ ## Dashboard View
227
+
228
+ ```markdown
229
+ <!-- _dashboard.md -->
230
+ # ProAgents Feature Dashboard
231
+
232
+ **Last Updated:** 2024-01-15 14:30 UTC
233
+
234
+ ## Active Features: 3 / 5 (max)
235
+
236
+ ### 🔄 In Progress
237
+
238
+ | Feature | Phase | Progress | Assignee | ETA | Status |
239
+ |---------|-------|----------|----------|-----|--------|
240
+ | User Auth | Implementation | 60% | dev-1 | Jan 20 | ✅ On track |
241
+ | Dashboard | Implementation | 30% | dev-2 | Jan 25 | ⚠️ Blocked |
242
+ | Settings | Design | 80% | dev-3 | Jan 22 | ✅ On track |
243
+
244
+ ### ⏸️ Blocked
245
+
246
+ | Feature | Blocked By | Since |
247
+ |---------|------------|-------|
248
+ | Dashboard | Waiting for User Auth API | 2 days |
249
+
250
+ ### ✅ Recently Completed
251
+
252
+ | Feature | Completed | Merged |
253
+ |---------|-----------|--------|
254
+ | Login Page | Jan 8 | ✅ |
255
+ | Footer | Jan 5 | ✅ |
256
+
257
+ ---
258
+
259
+ ## Dependency Graph
260
+
261
+ ```
262
+ user-auth ─────┬──▶ dashboard ──▶ notifications
263
+
264
+ └──▶ settings
265
+ ```
266
+
267
+ ## Conflict Alerts
268
+
269
+ ⚠️ **1 potential conflict detected:**
270
+ - `src/lib/api.ts` modified by both `user-auth` and `dashboard`
271
+
272
+ ## Recommended Actions
273
+
274
+ 1. Merge `user-auth` first to unblock `dashboard`
275
+ 2. Review potential conflict in `api.ts`
276
+ 3. Consider starting `notifications` after `dashboard` unblocked
277
+ ```
278
+
279
+ ---
280
+
281
+ ## Progress Tracking
282
+
283
+ ### Phase Completion
284
+
285
+ ```typescript
286
+ // Update phase status
287
+ async function updatePhaseStatus(
288
+ featureId: string,
289
+ phase: string,
290
+ status: 'completed' | 'in_progress' | 'pending',
291
+ progress?: number
292
+ ) {
293
+ const statusFile = `active-features/${featureId}/status.json`;
294
+ const featureStatus = await readJSON(statusFile);
295
+
296
+ featureStatus.phases[phase] = {
297
+ status,
298
+ progress,
299
+ ...(status === 'completed' && { completed_at: new Date().toISOString() }),
300
+ };
301
+
302
+ // Update current phase
303
+ if (status === 'in_progress') {
304
+ featureStatus.current_phase = phase;
305
+ }
306
+
307
+ await writeJSON(statusFile, featureStatus);
308
+ await updateIndex();
309
+ await generateDashboard();
310
+ }
311
+ ```
312
+
313
+ ### Time Tracking
314
+
315
+ ```yaml
316
+ time_tracking:
317
+ feature_id: "feature-user-auth"
318
+
319
+ by_phase:
320
+ init: { hours: 0.5 }
321
+ analysis: { hours: 2 }
322
+ requirements: { hours: 1.5 }
323
+ design: { hours: 4 }
324
+ planning: { hours: 2 }
325
+ implementation: { hours: 16, in_progress: true }
326
+ testing: { hours: 0, estimated: 6 }
327
+ review: { hours: 0, estimated: 2 }
328
+ documentation: { hours: 0, estimated: 2 }
329
+ deployment: { hours: 0, estimated: 1 }
330
+
331
+ totals:
332
+ actual: 26
333
+ estimated_remaining: 11
334
+ original_estimate: 40
335
+ variance: "-3 hours"
336
+ ```
337
+
338
+ ---
339
+
340
+ ## Notifications
341
+
342
+ ```yaml
343
+ notifications:
344
+ triggers:
345
+ - event: "phase_completed"
346
+ notify: ["assignee", "team_lead"]
347
+ channel: "slack"
348
+
349
+ - event: "blocker_added"
350
+ notify: ["assignee", "blocking_feature_owner"]
351
+ channel: "slack"
352
+ priority: "high"
353
+
354
+ - event: "behind_schedule"
355
+ notify: ["assignee", "team_lead"]
356
+ channel: "email"
357
+
358
+ - event: "ready_for_review"
359
+ notify: ["reviewers"]
360
+ channel: "slack"
361
+
362
+ templates:
363
+ phase_completed: |
364
+ ✅ Feature "{{feature_name}}" completed phase: {{phase}}
365
+ Progress: {{overall_progress}}%
366
+
367
+ blocker_added: |
368
+ ⚠️ Feature "{{feature_name}}" is now blocked
369
+ Blocker: {{blocker_description}}
370
+ Blocked by: {{blocking_feature}}
371
+ ```
372
+
373
+ ---
374
+
375
+ ## Configuration
376
+
377
+ ```yaml
378
+ # proagents.config.yaml
379
+
380
+ tracking:
381
+ enabled: true
382
+
383
+ features:
384
+ max_concurrent: 5
385
+ require_assignee: true
386
+ require_estimate: true
387
+
388
+ phases:
389
+ track_time: true
390
+ require_completion: true
391
+
392
+ dashboard:
393
+ auto_generate: true
394
+ refresh_interval: "5m"
395
+
396
+ notifications:
397
+ enabled: true
398
+ channels: ["slack"]
399
+
400
+ reporting:
401
+ daily_summary: true
402
+ weekly_report: true
403
+ ```
404
+
405
+ ---
406
+
407
+ ## Slash Commands
408
+
409
+ | Command | Description |
410
+ |---------|-------------|
411
+ | `/feature-status` | View all features status |
412
+ | `/feature-status [id]` | View specific feature |
413
+ | `/feature-update [id]` | Update feature status |
414
+ | `/feature-block [id]` | Mark feature as blocked |
415
+ | `/feature-unblock [id]` | Remove blocker |
416
+ | `/feature-dashboard` | View dashboard |
@@ -0,0 +1,305 @@
1
+ # Error Handling Patterns
2
+
3
+ Consistent error handling across your application.
4
+
5
+ ---
6
+
7
+ ## Overview
8
+
9
+ Standardized error handling patterns for predictable, debuggable applications.
10
+
11
+ ## Documentation
12
+
13
+ | Document | Description |
14
+ |----------|-------------|
15
+ | [Error Types](./error-types.md) | Custom error classes |
16
+ | [API Errors](./api-errors.md) | HTTP error handling |
17
+ | [Async Errors](./async-errors.md) | Promise and async/await |
18
+ | [UI Errors](./ui-errors.md) | Error boundaries and display |
19
+
20
+ ---
21
+
22
+ ## Error Classification
23
+
24
+ ### Error Categories
25
+
26
+ | Category | HTTP Code | Example |
27
+ |----------|-----------|---------|
28
+ | Validation | 400 | Invalid input |
29
+ | Authentication | 401 | Invalid credentials |
30
+ | Authorization | 403 | Access denied |
31
+ | Not Found | 404 | Resource missing |
32
+ | Conflict | 409 | Duplicate entry |
33
+ | Server | 500 | Internal error |
34
+
35
+ ---
36
+
37
+ ## Custom Error Classes
38
+
39
+ ### Base Error Class
40
+
41
+ ```typescript
42
+ // src/errors/base.ts
43
+ export class AppError extends Error {
44
+ constructor(
45
+ public message: string,
46
+ public code: string,
47
+ public statusCode: number = 500,
48
+ public isOperational: boolean = true,
49
+ public details?: Record<string, any>
50
+ ) {
51
+ super(message);
52
+ this.name = this.constructor.name;
53
+ Error.captureStackTrace(this, this.constructor);
54
+ }
55
+ }
56
+
57
+ // Specific error types
58
+ export class ValidationError extends AppError {
59
+ constructor(message: string, details?: Record<string, any>) {
60
+ super(message, 'VALIDATION_ERROR', 400, true, details);
61
+ }
62
+ }
63
+
64
+ export class NotFoundError extends AppError {
65
+ constructor(resource: string) {
66
+ super(`${resource} not found`, 'NOT_FOUND', 404, true);
67
+ }
68
+ }
69
+
70
+ export class AuthenticationError extends AppError {
71
+ constructor(message = 'Authentication failed') {
72
+ super(message, 'AUTH_ERROR', 401, true);
73
+ }
74
+ }
75
+
76
+ export class AuthorizationError extends AppError {
77
+ constructor(message = 'Access denied') {
78
+ super(message, 'FORBIDDEN', 403, true);
79
+ }
80
+ }
81
+ ```
82
+
83
+ ---
84
+
85
+ ## API Error Handling
86
+
87
+ ### Express Middleware
88
+
89
+ ```typescript
90
+ // src/middleware/error-handler.ts
91
+ export function errorHandler(
92
+ err: Error,
93
+ req: Request,
94
+ res: Response,
95
+ next: NextFunction
96
+ ) {
97
+ // Log error
98
+ logger.error({
99
+ error: err.message,
100
+ stack: err.stack,
101
+ path: req.path,
102
+ method: req.method,
103
+ });
104
+
105
+ // Handle known errors
106
+ if (err instanceof AppError) {
107
+ return res.status(err.statusCode).json({
108
+ error: {
109
+ code: err.code,
110
+ message: err.message,
111
+ details: err.details,
112
+ },
113
+ });
114
+ }
115
+
116
+ // Handle unknown errors
117
+ return res.status(500).json({
118
+ error: {
119
+ code: 'INTERNAL_ERROR',
120
+ message: 'An unexpected error occurred',
121
+ },
122
+ });
123
+ }
124
+ ```
125
+
126
+ ### API Response Format
127
+
128
+ ```typescript
129
+ // Success response
130
+ {
131
+ "data": { ... },
132
+ "meta": {
133
+ "timestamp": "2024-01-15T10:30:00Z"
134
+ }
135
+ }
136
+
137
+ // Error response
138
+ {
139
+ "error": {
140
+ "code": "VALIDATION_ERROR",
141
+ "message": "Invalid email format",
142
+ "details": {
143
+ "field": "email",
144
+ "value": "invalid"
145
+ }
146
+ }
147
+ }
148
+ ```
149
+
150
+ ---
151
+
152
+ ## Async Error Handling
153
+
154
+ ### Async/Await Pattern
155
+
156
+ ```typescript
157
+ // Wrap async route handlers
158
+ const asyncHandler = (fn: Function) => (
159
+ req: Request,
160
+ res: Response,
161
+ next: NextFunction
162
+ ) => {
163
+ Promise.resolve(fn(req, res, next)).catch(next);
164
+ };
165
+
166
+ // Usage
167
+ app.get('/users/:id', asyncHandler(async (req, res) => {
168
+ const user = await userService.findById(req.params.id);
169
+ if (!user) {
170
+ throw new NotFoundError('User');
171
+ }
172
+ res.json({ data: user });
173
+ }));
174
+ ```
175
+
176
+ ### Promise Error Handling
177
+
178
+ ```typescript
179
+ // Always handle promise rejections
180
+ async function fetchData() {
181
+ try {
182
+ const response = await api.get('/data');
183
+ return response.data;
184
+ } catch (error) {
185
+ if (error.response?.status === 404) {
186
+ throw new NotFoundError('Data');
187
+ }
188
+ throw new AppError('Failed to fetch data', 'FETCH_ERROR', 500);
189
+ }
190
+ }
191
+ ```
192
+
193
+ ---
194
+
195
+ ## UI Error Handling
196
+
197
+ ### React Error Boundary
198
+
199
+ ```typescript
200
+ // src/components/ErrorBoundary.tsx
201
+ class ErrorBoundary extends React.Component {
202
+ state = { hasError: false, error: null };
203
+
204
+ static getDerivedStateFromError(error: Error) {
205
+ return { hasError: true, error };
206
+ }
207
+
208
+ componentDidCatch(error: Error, errorInfo: React.ErrorInfo) {
209
+ // Log to error service
210
+ errorService.log(error, errorInfo);
211
+ }
212
+
213
+ render() {
214
+ if (this.state.hasError) {
215
+ return <ErrorFallback error={this.state.error} />;
216
+ }
217
+ return this.props.children;
218
+ }
219
+ }
220
+
221
+ // Usage
222
+ <ErrorBoundary>
223
+ <App />
224
+ </ErrorBoundary>
225
+ ```
226
+
227
+ ### Error Display Component
228
+
229
+ ```typescript
230
+ // src/components/ErrorMessage.tsx
231
+ function ErrorMessage({ error }: { error: AppError }) {
232
+ return (
233
+ <div role="alert" className="error-message">
234
+ <h3>Something went wrong</h3>
235
+ <p>{error.message}</p>
236
+ {error.details && (
237
+ <details>
238
+ <summary>Details</summary>
239
+ <pre>{JSON.stringify(error.details, null, 2)}</pre>
240
+ </details>
241
+ )}
242
+ <button onClick={() => window.location.reload()}>
243
+ Try Again
244
+ </button>
245
+ </div>
246
+ );
247
+ }
248
+ ```
249
+
250
+ ---
251
+
252
+ ## Error Logging
253
+
254
+ ### Structured Logging
255
+
256
+ ```typescript
257
+ // Log errors with context
258
+ logger.error({
259
+ message: error.message,
260
+ code: error.code,
261
+ stack: error.stack,
262
+ context: {
263
+ userId: req.user?.id,
264
+ path: req.path,
265
+ method: req.method,
266
+ body: req.body,
267
+ },
268
+ });
269
+ ```
270
+
271
+ ### Error Tracking Services
272
+
273
+ ```yaml
274
+ # proagents.config.yaml
275
+ error_tracking:
276
+ provider: "sentry" # sentry, bugsnag, rollbar
277
+
278
+ sentry:
279
+ dsn_env: "SENTRY_DSN"
280
+ environment: "${NODE_ENV}"
281
+
282
+ # What to capture
283
+ capture:
284
+ - unhandled_exceptions
285
+ - unhandled_rejections
286
+ - console_errors
287
+
288
+ # What to ignore
289
+ ignore:
290
+ - "NetworkError"
291
+ - "AbortError"
292
+ ```
293
+
294
+ ---
295
+
296
+ ## Best Practices
297
+
298
+ 1. **Use Custom Errors**: Create specific error types
299
+ 2. **Include Context**: Add relevant details to errors
300
+ 3. **Handle All Paths**: Every code path should handle errors
301
+ 4. **Log Appropriately**: Log errors with enough context
302
+ 5. **User-Friendly Messages**: Show helpful messages to users
303
+ 6. **Don't Expose Internals**: Hide stack traces in production
304
+ 7. **Retry When Appropriate**: Implement retry logic for transient errors
305
+ 8. **Monitor Errors**: Track error rates and patterns