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,504 @@
1
+ # Creating Plugins
2
+
3
+ Step-by-step guide to building ProAgents plugins.
4
+
5
+ ---
6
+
7
+ ## Quick Start
8
+
9
+ ### 1. Create Plugin Scaffold
10
+
11
+ ```bash
12
+ proagents plugin create my-plugin
13
+ cd my-plugin
14
+ ```
15
+
16
+ This creates:
17
+ ```
18
+ my-plugin/
19
+ ├── package.json
20
+ ├── tsconfig.json
21
+ ├── src/
22
+ │ └── index.ts
23
+ ├── tests/
24
+ │ └── index.test.ts
25
+ └── README.md
26
+ ```
27
+
28
+ ### 2. Implement Plugin Logic
29
+
30
+ ```typescript
31
+ // src/index.ts
32
+ import { Plugin, PluginContext } from '@proagents/core';
33
+
34
+ export interface MyPluginConfig {
35
+ setting1: string;
36
+ setting2: boolean;
37
+ }
38
+
39
+ export default class MyPlugin implements Plugin<MyPluginConfig> {
40
+ name = 'my-plugin';
41
+ version = '1.0.0';
42
+
43
+ async initialize(context: PluginContext, config: MyPluginConfig) {
44
+ // Setup plugin
45
+ context.logger.info('My plugin initialized!');
46
+ }
47
+
48
+ async destroy() {
49
+ // Cleanup
50
+ }
51
+ }
52
+ ```
53
+
54
+ ### 3. Build and Test
55
+
56
+ ```bash
57
+ npm run build
58
+ npm test
59
+ ```
60
+
61
+ ### 4. Install Locally
62
+
63
+ ```bash
64
+ proagents plugin install ./my-plugin
65
+ ```
66
+
67
+ ---
68
+
69
+ ## Plugin Templates
70
+
71
+ ### Integration Plugin
72
+
73
+ Connects ProAgents with external services.
74
+
75
+ ```typescript
76
+ import { Plugin, PluginContext, HookPayload } from '@proagents/core';
77
+
78
+ interface JiraPluginConfig {
79
+ baseUrl: string;
80
+ apiToken: string;
81
+ projectKey: string;
82
+ }
83
+
84
+ export default class JiraPlugin implements Plugin<JiraPluginConfig> {
85
+ name = 'jira-plugin';
86
+ version = '1.0.0';
87
+
88
+ private context: PluginContext;
89
+ private config: JiraPluginConfig;
90
+ private client: JiraClient;
91
+
92
+ async initialize(context: PluginContext, config: JiraPluginConfig) {
93
+ this.context = context;
94
+ this.config = config;
95
+
96
+ // Initialize Jira client
97
+ this.client = new JiraClient({
98
+ baseUrl: config.baseUrl,
99
+ token: config.apiToken,
100
+ });
101
+
102
+ // Register hooks
103
+ context.hooks.on('onFeatureStart', this.createTicket.bind(this));
104
+ context.hooks.on('onFeatureComplete', this.closeTicket.bind(this));
105
+
106
+ // Register commands
107
+ context.commands.register({
108
+ name: 'jira-link',
109
+ description: 'Link current feature to Jira ticket',
110
+ handler: this.linkTicket.bind(this),
111
+ });
112
+ }
113
+
114
+ async createTicket(payload: HookPayload<'onFeatureStart'>) {
115
+ const { feature } = payload;
116
+
117
+ try {
118
+ const ticket = await this.client.createIssue({
119
+ project: this.config.projectKey,
120
+ summary: feature.name,
121
+ description: feature.description,
122
+ issueType: 'Story',
123
+ });
124
+
125
+ // Store ticket reference
126
+ await this.context.cache.set(
127
+ `jira:${feature.id}`,
128
+ ticket.key
129
+ );
130
+
131
+ this.context.logger.info(`Created Jira ticket: ${ticket.key}`);
132
+ } catch (error) {
133
+ this.context.logger.error('Failed to create Jira ticket', { error });
134
+ }
135
+ }
136
+
137
+ async closeTicket(payload: HookPayload<'onFeatureComplete'>) {
138
+ const { feature, result } = payload;
139
+
140
+ const ticketKey = await this.context.cache.get(`jira:${feature.id}`);
141
+ if (!ticketKey) return;
142
+
143
+ try {
144
+ await this.client.transitionIssue(ticketKey, 'Done');
145
+ this.context.logger.info(`Closed Jira ticket: ${ticketKey}`);
146
+ } catch (error) {
147
+ this.context.logger.error('Failed to close Jira ticket', { error });
148
+ }
149
+ }
150
+
151
+ async linkTicket(args: string[]) {
152
+ const [ticketKey] = args;
153
+ // Implementation
154
+ }
155
+
156
+ async destroy() {
157
+ // Cleanup
158
+ }
159
+ }
160
+ ```
161
+
162
+ ---
163
+
164
+ ### Generator Plugin
165
+
166
+ Adds custom code generation capabilities.
167
+
168
+ ```typescript
169
+ import { Plugin, PluginContext, Generator } from '@proagents/core';
170
+
171
+ interface GeneratorPluginConfig {
172
+ templatesDir: string;
173
+ }
174
+
175
+ export default class CustomGeneratorPlugin implements Plugin<GeneratorPluginConfig> {
176
+ name = 'custom-generator';
177
+ version = '1.0.0';
178
+
179
+ async initialize(context: PluginContext, config: GeneratorPluginConfig) {
180
+ // Register custom generator
181
+ context.generators.register({
182
+ name: 'my-component',
183
+ description: 'Generate custom component',
184
+ generator: new MyComponentGenerator(config.templatesDir),
185
+ });
186
+
187
+ // Register slash command
188
+ context.commands.registerSlash({
189
+ name: '/generate-component',
190
+ description: 'Generate a custom component',
191
+ handler: this.handleGenerate.bind(this),
192
+ });
193
+ }
194
+
195
+ async handleGenerate(input: string) {
196
+ const generator = this.context.generators.get('my-component');
197
+ const result = await generator.generate({ name: input });
198
+
199
+ return {
200
+ success: true,
201
+ files: result.files,
202
+ message: `Generated component: ${input}`,
203
+ };
204
+ }
205
+
206
+ async destroy() {}
207
+ }
208
+
209
+ class MyComponentGenerator implements Generator {
210
+ constructor(private templatesDir: string) {}
211
+
212
+ async generate(options: { name: string }) {
213
+ const files = [
214
+ {
215
+ path: `src/components/${options.name}/${options.name}.tsx`,
216
+ content: this.generateComponent(options.name),
217
+ },
218
+ {
219
+ path: `src/components/${options.name}/${options.name}.test.tsx`,
220
+ content: this.generateTest(options.name),
221
+ },
222
+ {
223
+ path: `src/components/${options.name}/index.ts`,
224
+ content: `export * from './${options.name}';`,
225
+ },
226
+ ];
227
+
228
+ return { files };
229
+ }
230
+
231
+ private generateComponent(name: string): string {
232
+ return `
233
+ import React from 'react';
234
+
235
+ export interface ${name}Props {
236
+ // Props
237
+ }
238
+
239
+ export function ${name}({}: ${name}Props) {
240
+ return <div data-testid="${name.toLowerCase()}">${name}</div>;
241
+ }
242
+ `.trim();
243
+ }
244
+
245
+ private generateTest(name: string): string {
246
+ return `
247
+ import { render, screen } from '@testing-library/react';
248
+ import { ${name} } from './${name}';
249
+
250
+ describe('${name}', () => {
251
+ it('should render', () => {
252
+ render(<${name} />);
253
+ expect(screen.getByTestId('${name.toLowerCase()}')).toBeInTheDocument();
254
+ });
255
+ });
256
+ `.trim();
257
+ }
258
+ }
259
+ ```
260
+
261
+ ---
262
+
263
+ ### Validator Plugin
264
+
265
+ Adds custom validation rules.
266
+
267
+ ```typescript
268
+ import { Plugin, PluginContext, Validator, ValidationResult } from '@proagents/core';
269
+
270
+ interface ValidatorPluginConfig {
271
+ rules: string[];
272
+ severity: 'error' | 'warning';
273
+ }
274
+
275
+ export default class CustomValidatorPlugin implements Plugin<ValidatorPluginConfig> {
276
+ name = 'custom-validator';
277
+ version = '1.0.0';
278
+
279
+ async initialize(context: PluginContext, config: ValidatorPluginConfig) {
280
+ // Register validators
281
+ context.validators.register({
282
+ name: 'no-console-log',
283
+ description: 'Disallow console.log statements',
284
+ validator: new NoConsoleLogValidator(config.severity),
285
+ });
286
+
287
+ context.validators.register({
288
+ name: 'require-jsdoc',
289
+ description: 'Require JSDoc for public functions',
290
+ validator: new RequireJSDocValidator(config.severity),
291
+ });
292
+
293
+ // Hook into code review phase
294
+ context.hooks.on('onPhaseStart', async ({ phase }) => {
295
+ if (phase === 'review') {
296
+ const results = await context.validators.runAll();
297
+ this.reportResults(context, results);
298
+ }
299
+ });
300
+ }
301
+
302
+ private reportResults(context: PluginContext, results: ValidationResult[]) {
303
+ for (const result of results) {
304
+ if (result.severity === 'error') {
305
+ context.ui.error(`${result.file}:${result.line} - ${result.message}`);
306
+ } else {
307
+ context.ui.warn(`${result.file}:${result.line} - ${result.message}`);
308
+ }
309
+ }
310
+ }
311
+
312
+ async destroy() {}
313
+ }
314
+
315
+ class NoConsoleLogValidator implements Validator {
316
+ constructor(private severity: 'error' | 'warning') {}
317
+
318
+ async validate(files: string[]): Promise<ValidationResult[]> {
319
+ const results: ValidationResult[] = [];
320
+
321
+ for (const file of files) {
322
+ const content = await fs.readFile(file, 'utf-8');
323
+ const lines = content.split('\n');
324
+
325
+ lines.forEach((line, index) => {
326
+ if (line.includes('console.log')) {
327
+ results.push({
328
+ file,
329
+ line: index + 1,
330
+ message: 'Unexpected console.log statement',
331
+ severity: this.severity,
332
+ rule: 'no-console-log',
333
+ });
334
+ }
335
+ });
336
+ }
337
+
338
+ return results;
339
+ }
340
+ }
341
+ ```
342
+
343
+ ---
344
+
345
+ ## Configuration Schema
346
+
347
+ Define your plugin's configuration schema:
348
+
349
+ ```typescript
350
+ // src/config.ts
351
+ import { z } from 'zod';
352
+
353
+ export const configSchema = z.object({
354
+ apiKey: z.string().min(1, 'API key is required'),
355
+ baseUrl: z.string().url('Must be a valid URL'),
356
+ timeout: z.number().positive().default(30000),
357
+ retries: z.number().int().min(0).max(10).default(3),
358
+ features: z.object({
359
+ autoSync: z.boolean().default(true),
360
+ notifications: z.boolean().default(true),
361
+ }).default({}),
362
+ });
363
+
364
+ export type PluginConfig = z.infer<typeof configSchema>;
365
+
366
+ // In plugin
367
+ async initialize(context: PluginContext, rawConfig: unknown) {
368
+ const config = configSchema.parse(rawConfig);
369
+ // Use validated config
370
+ }
371
+ ```
372
+
373
+ ---
374
+
375
+ ## Testing
376
+
377
+ ### Unit Tests
378
+
379
+ ```typescript
380
+ import { createTestContext, createMockFeature } from '@proagents/testing';
381
+ import MyPlugin from '../src';
382
+
383
+ describe('MyPlugin', () => {
384
+ let plugin: MyPlugin;
385
+ let context: TestPluginContext;
386
+
387
+ beforeEach(async () => {
388
+ context = createTestContext();
389
+ plugin = new MyPlugin();
390
+
391
+ await plugin.initialize(context, {
392
+ apiKey: 'test-key',
393
+ baseUrl: 'https://api.test.com',
394
+ });
395
+ });
396
+
397
+ afterEach(async () => {
398
+ await plugin.destroy();
399
+ });
400
+
401
+ describe('onFeatureStart', () => {
402
+ it('should create external ticket', async () => {
403
+ const feature = createMockFeature({ name: 'Test Feature' });
404
+
405
+ await context.hooks.emit('onFeatureStart', { feature });
406
+
407
+ expect(context.http.post).toHaveBeenCalledWith(
408
+ expect.stringContaining('/tickets'),
409
+ expect.objectContaining({ title: 'Test Feature' })
410
+ );
411
+ });
412
+ });
413
+
414
+ describe('commands', () => {
415
+ it('should register custom command', () => {
416
+ expect(context.commands.has('my-command')).toBe(true);
417
+ });
418
+
419
+ it('should execute command', async () => {
420
+ const result = await context.commands.execute('my-command', ['arg1']);
421
+
422
+ expect(result.success).toBe(true);
423
+ });
424
+ });
425
+ });
426
+ ```
427
+
428
+ ### Integration Tests
429
+
430
+ ```typescript
431
+ import { createIntegrationContext } from '@proagents/testing';
432
+ import MyPlugin from '../src';
433
+
434
+ describe('MyPlugin Integration', () => {
435
+ it('should work with real API', async () => {
436
+ const context = await createIntegrationContext({
437
+ project: './fixtures/test-project',
438
+ });
439
+
440
+ const plugin = new MyPlugin();
441
+ await plugin.initialize(context, {
442
+ apiKey: process.env.TEST_API_KEY,
443
+ });
444
+
445
+ // Test real integration
446
+ });
447
+ });
448
+ ```
449
+
450
+ ---
451
+
452
+ ## Publishing
453
+
454
+ ### 1. Prepare Package
455
+
456
+ ```json
457
+ {
458
+ "name": "@myorg/proagents-plugin-example",
459
+ "version": "1.0.0",
460
+ "description": "Example ProAgents plugin",
461
+ "main": "dist/index.js",
462
+ "types": "dist/index.d.ts",
463
+ "files": [
464
+ "dist",
465
+ "README.md"
466
+ ],
467
+ "keywords": [
468
+ "proagents",
469
+ "proagents-plugin"
470
+ ],
471
+ "peerDependencies": {
472
+ "@proagents/core": ">=1.0.0"
473
+ }
474
+ }
475
+ ```
476
+
477
+ ### 2. Build
478
+
479
+ ```bash
480
+ npm run build
481
+ ```
482
+
483
+ ### 3. Publish
484
+
485
+ ```bash
486
+ npm publish --access public
487
+ ```
488
+
489
+ ### 4. Register (Optional)
490
+
491
+ Submit to the ProAgents plugin registry for discoverability.
492
+
493
+ ---
494
+
495
+ ## Best Practices
496
+
497
+ 1. **Single Responsibility**: Each plugin should do one thing well
498
+ 2. **Configuration Validation**: Always validate configuration
499
+ 3. **Error Handling**: Handle errors gracefully, don't crash the host
500
+ 4. **Logging**: Use context.logger for all output
501
+ 5. **Cleanup**: Implement destroy() to clean up resources
502
+ 6. **Testing**: Include comprehensive tests
503
+ 7. **Documentation**: Provide clear usage documentation
504
+ 8. **Versioning**: Follow semantic versioning