@accelerationguy/accel 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 (376) hide show
  1. package/CLAUDE.md +19 -0
  2. package/LICENSE +33 -0
  3. package/README.md +275 -0
  4. package/bin/install.js +661 -0
  5. package/docs/getting-started.md +164 -0
  6. package/docs/module-guide.md +139 -0
  7. package/modules/drive/LICENSE +21 -0
  8. package/modules/drive/PAUL-VS-GSD.md +171 -0
  9. package/modules/drive/README.md +555 -0
  10. package/modules/drive/assets/terminal.svg +67 -0
  11. package/modules/drive/bin/install.js +210 -0
  12. package/modules/drive/integration.js +76 -0
  13. package/modules/drive/package.json +38 -0
  14. package/modules/drive/src/commands/add-phase.md +36 -0
  15. package/modules/drive/src/commands/apply.md +83 -0
  16. package/modules/drive/src/commands/assumptions.md +37 -0
  17. package/modules/drive/src/commands/audit.md +57 -0
  18. package/modules/drive/src/commands/complete-milestone.md +36 -0
  19. package/modules/drive/src/commands/config.md +175 -0
  20. package/modules/drive/src/commands/consider-issues.md +41 -0
  21. package/modules/drive/src/commands/discover.md +48 -0
  22. package/modules/drive/src/commands/discuss-milestone.md +33 -0
  23. package/modules/drive/src/commands/discuss.md +34 -0
  24. package/modules/drive/src/commands/flows.md +73 -0
  25. package/modules/drive/src/commands/handoff.md +201 -0
  26. package/modules/drive/src/commands/help.md +525 -0
  27. package/modules/drive/src/commands/init.md +54 -0
  28. package/modules/drive/src/commands/map-codebase.md +34 -0
  29. package/modules/drive/src/commands/milestone.md +34 -0
  30. package/modules/drive/src/commands/pause.md +44 -0
  31. package/modules/drive/src/commands/plan-fix.md +216 -0
  32. package/modules/drive/src/commands/plan.md +36 -0
  33. package/modules/drive/src/commands/progress.md +138 -0
  34. package/modules/drive/src/commands/register.md +29 -0
  35. package/modules/drive/src/commands/remove-phase.md +37 -0
  36. package/modules/drive/src/commands/research-phase.md +209 -0
  37. package/modules/drive/src/commands/research.md +47 -0
  38. package/modules/drive/src/commands/resume.md +49 -0
  39. package/modules/drive/src/commands/status.md +78 -0
  40. package/modules/drive/src/commands/unify.md +87 -0
  41. package/modules/drive/src/commands/verify.md +60 -0
  42. package/modules/drive/src/references/checkpoints.md +234 -0
  43. package/modules/drive/src/references/context-management.md +219 -0
  44. package/modules/drive/src/references/git-strategy.md +206 -0
  45. package/modules/drive/src/references/loop-phases.md +254 -0
  46. package/modules/drive/src/references/plan-format.md +263 -0
  47. package/modules/drive/src/references/quality-principles.md +152 -0
  48. package/modules/drive/src/references/research-quality-control.md +247 -0
  49. package/modules/drive/src/references/sonarqube-integration.md +244 -0
  50. package/modules/drive/src/references/specialized-workflow-integration.md +186 -0
  51. package/modules/drive/src/references/subagent-criteria.md +179 -0
  52. package/modules/drive/src/references/tdd.md +219 -0
  53. package/modules/drive/src/references/work-units.md +161 -0
  54. package/modules/drive/src/rules/commands.md +108 -0
  55. package/modules/drive/src/rules/references.md +107 -0
  56. package/modules/drive/src/rules/style.md +123 -0
  57. package/modules/drive/src/rules/templates.md +51 -0
  58. package/modules/drive/src/rules/workflows.md +133 -0
  59. package/modules/drive/src/templates/CONTEXT.md +88 -0
  60. package/modules/drive/src/templates/DEBUG.md +164 -0
  61. package/modules/drive/src/templates/DISCOVERY.md +148 -0
  62. package/modules/drive/src/templates/HANDOFF.md +77 -0
  63. package/modules/drive/src/templates/ISSUES.md +93 -0
  64. package/modules/drive/src/templates/MILESTONES.md +167 -0
  65. package/modules/drive/src/templates/PLAN.md +328 -0
  66. package/modules/drive/src/templates/PROJECT.md +219 -0
  67. package/modules/drive/src/templates/RESEARCH.md +130 -0
  68. package/modules/drive/src/templates/ROADMAP.md +328 -0
  69. package/modules/drive/src/templates/SPECIAL-FLOWS.md +70 -0
  70. package/modules/drive/src/templates/STATE.md +210 -0
  71. package/modules/drive/src/templates/SUMMARY.md +221 -0
  72. package/modules/drive/src/templates/UAT-ISSUES.md +139 -0
  73. package/modules/drive/src/templates/codebase/architecture.md +259 -0
  74. package/modules/drive/src/templates/codebase/concerns.md +329 -0
  75. package/modules/drive/src/templates/codebase/conventions.md +311 -0
  76. package/modules/drive/src/templates/codebase/integrations.md +284 -0
  77. package/modules/drive/src/templates/codebase/stack.md +190 -0
  78. package/modules/drive/src/templates/codebase/structure.md +287 -0
  79. package/modules/drive/src/templates/codebase/testing.md +484 -0
  80. package/modules/drive/src/templates/config.md +181 -0
  81. package/modules/drive/src/templates/milestone-archive.md +236 -0
  82. package/modules/drive/src/templates/milestone-context.md +190 -0
  83. package/modules/drive/src/templates/paul-json.md +147 -0
  84. package/modules/drive/src/vector-config/PAUL +26 -0
  85. package/modules/drive/src/vector-config/PAUL.manifest +11 -0
  86. package/modules/drive/src/workflows/apply-phase.md +393 -0
  87. package/modules/drive/src/workflows/audit-plan.md +344 -0
  88. package/modules/drive/src/workflows/complete-milestone.md +479 -0
  89. package/modules/drive/src/workflows/configure-special-flows.md +283 -0
  90. package/modules/drive/src/workflows/consider-issues.md +172 -0
  91. package/modules/drive/src/workflows/create-milestone.md +268 -0
  92. package/modules/drive/src/workflows/debug.md +292 -0
  93. package/modules/drive/src/workflows/discovery.md +187 -0
  94. package/modules/drive/src/workflows/discuss-milestone.md +245 -0
  95. package/modules/drive/src/workflows/discuss-phase.md +231 -0
  96. package/modules/drive/src/workflows/init-project.md +698 -0
  97. package/modules/drive/src/workflows/map-codebase.md +459 -0
  98. package/modules/drive/src/workflows/pause-work.md +259 -0
  99. package/modules/drive/src/workflows/phase-assumptions.md +181 -0
  100. package/modules/drive/src/workflows/plan-phase.md +385 -0
  101. package/modules/drive/src/workflows/quality-gate.md +263 -0
  102. package/modules/drive/src/workflows/register-manifest.md +107 -0
  103. package/modules/drive/src/workflows/research.md +241 -0
  104. package/modules/drive/src/workflows/resume-project.md +200 -0
  105. package/modules/drive/src/workflows/roadmap-management.md +334 -0
  106. package/modules/drive/src/workflows/transition-phase.md +368 -0
  107. package/modules/drive/src/workflows/unify-phase.md +290 -0
  108. package/modules/drive/src/workflows/verify-work.md +241 -0
  109. package/modules/forge/README.md +281 -0
  110. package/modules/forge/bin/install.js +200 -0
  111. package/modules/forge/package.json +32 -0
  112. package/modules/forge/skillsmith/rules/checklists-rules.md +42 -0
  113. package/modules/forge/skillsmith/rules/context-rules.md +43 -0
  114. package/modules/forge/skillsmith/rules/entry-point-rules.md +44 -0
  115. package/modules/forge/skillsmith/rules/frameworks-rules.md +43 -0
  116. package/modules/forge/skillsmith/rules/tasks-rules.md +52 -0
  117. package/modules/forge/skillsmith/rules/templates-rules.md +43 -0
  118. package/modules/forge/skillsmith/skillsmith.md +82 -0
  119. package/modules/forge/skillsmith/tasks/audit.md +277 -0
  120. package/modules/forge/skillsmith/tasks/discover.md +145 -0
  121. package/modules/forge/skillsmith/tasks/distill.md +276 -0
  122. package/modules/forge/skillsmith/tasks/scaffold.md +349 -0
  123. package/modules/forge/specs/checklists.md +193 -0
  124. package/modules/forge/specs/context.md +223 -0
  125. package/modules/forge/specs/entry-point.md +320 -0
  126. package/modules/forge/specs/frameworks.md +228 -0
  127. package/modules/forge/specs/rules.md +245 -0
  128. package/modules/forge/specs/tasks.md +344 -0
  129. package/modules/forge/specs/templates.md +335 -0
  130. package/modules/forge/terminal.svg +70 -0
  131. package/modules/ignition/README.md +245 -0
  132. package/modules/ignition/bin/install.js +184 -0
  133. package/modules/ignition/checklists/planning-quality.md +55 -0
  134. package/modules/ignition/data/application/config.md +21 -0
  135. package/modules/ignition/data/application/guide.md +51 -0
  136. package/modules/ignition/data/application/skill-loadout.md +11 -0
  137. package/modules/ignition/data/campaign/config.md +18 -0
  138. package/modules/ignition/data/campaign/guide.md +36 -0
  139. package/modules/ignition/data/campaign/skill-loadout.md +10 -0
  140. package/modules/ignition/data/client/config.md +18 -0
  141. package/modules/ignition/data/client/guide.md +36 -0
  142. package/modules/ignition/data/client/skill-loadout.md +11 -0
  143. package/modules/ignition/data/utility/config.md +18 -0
  144. package/modules/ignition/data/utility/guide.md +31 -0
  145. package/modules/ignition/data/utility/skill-loadout.md +8 -0
  146. package/modules/ignition/data/workflow/config.md +19 -0
  147. package/modules/ignition/data/workflow/guide.md +41 -0
  148. package/modules/ignition/data/workflow/skill-loadout.md +10 -0
  149. package/modules/ignition/integration.js +54 -0
  150. package/modules/ignition/package.json +35 -0
  151. package/modules/ignition/seed.md +81 -0
  152. package/modules/ignition/tasks/add-type.md +164 -0
  153. package/modules/ignition/tasks/graduate.md +182 -0
  154. package/modules/ignition/tasks/ideate.md +221 -0
  155. package/modules/ignition/tasks/launch.md +137 -0
  156. package/modules/ignition/tasks/status.md +71 -0
  157. package/modules/ignition/templates/planning-application.md +193 -0
  158. package/modules/ignition/templates/planning-campaign.md +138 -0
  159. package/modules/ignition/templates/planning-client.md +149 -0
  160. package/modules/ignition/templates/planning-utility.md +112 -0
  161. package/modules/ignition/templates/planning-workflow.md +125 -0
  162. package/modules/ignition/terminal.svg +74 -0
  163. package/modules/mission-control/CONTEXT-CONTINUITY-SPEC.md +293 -0
  164. package/modules/mission-control/CONTEXT-ENGINEERING-GUIDE.md +282 -0
  165. package/modules/mission-control/README.md +91 -0
  166. package/modules/mission-control/assets/terminal.svg +80 -0
  167. package/modules/mission-control/examples/entities.example.json +133 -0
  168. package/modules/mission-control/examples/projects.example.json +318 -0
  169. package/modules/mission-control/examples/state.example.json +183 -0
  170. package/modules/mission-control/examples/vector.example.json +245 -0
  171. package/modules/mission-control/mission-control/checklists/install-verification.md +46 -0
  172. package/modules/mission-control/mission-control/frameworks/framework-registry.md +83 -0
  173. package/modules/mission-control/mission-control/mission-control.md +83 -0
  174. package/modules/mission-control/mission-control/tasks/insights.md +73 -0
  175. package/modules/mission-control/mission-control/tasks/install.md +194 -0
  176. package/modules/mission-control/mission-control/tasks/status.md +125 -0
  177. package/modules/mission-control/schemas/entities.schema.json +89 -0
  178. package/modules/mission-control/schemas/projects.schema.json +221 -0
  179. package/modules/mission-control/schemas/state.schema.json +108 -0
  180. package/modules/mission-control/schemas/vector.schema.json +200 -0
  181. package/modules/momentum/README.md +678 -0
  182. package/modules/momentum/bin/install.js +563 -0
  183. package/modules/momentum/integration.js +131 -0
  184. package/modules/momentum/package.json +42 -0
  185. package/modules/momentum/schemas/entities.schema.json +89 -0
  186. package/modules/momentum/schemas/projects.schema.json +221 -0
  187. package/modules/momentum/schemas/state.schema.json +108 -0
  188. package/modules/momentum/src/commands/audit-claude-md.md +31 -0
  189. package/modules/momentum/src/commands/audit.md +33 -0
  190. package/modules/momentum/src/commands/groom.md +35 -0
  191. package/modules/momentum/src/commands/history.md +27 -0
  192. package/modules/momentum/src/commands/pulse.md +33 -0
  193. package/modules/momentum/src/commands/scaffold.md +33 -0
  194. package/modules/momentum/src/commands/status.md +28 -0
  195. package/modules/momentum/src/commands/surface-convert.md +35 -0
  196. package/modules/momentum/src/commands/surface-create.md +34 -0
  197. package/modules/momentum/src/commands/surface-list.md +27 -0
  198. package/modules/momentum/src/commands/vector-hygiene.md +33 -0
  199. package/modules/momentum/src/framework/context/momentum-principles.md +71 -0
  200. package/modules/momentum/src/framework/frameworks/audit-strategies.md +53 -0
  201. package/modules/momentum/src/framework/frameworks/satellite-registration.md +44 -0
  202. package/modules/momentum/src/framework/tasks/audit-claude-md.md +68 -0
  203. package/modules/momentum/src/framework/tasks/audit.md +64 -0
  204. package/modules/momentum/src/framework/tasks/groom.md +164 -0
  205. package/modules/momentum/src/framework/tasks/history.md +34 -0
  206. package/modules/momentum/src/framework/tasks/pulse.md +83 -0
  207. package/modules/momentum/src/framework/tasks/scaffold.md +202 -0
  208. package/modules/momentum/src/framework/tasks/status.md +35 -0
  209. package/modules/momentum/src/framework/tasks/surface-convert.md +143 -0
  210. package/modules/momentum/src/framework/tasks/surface-create.md +184 -0
  211. package/modules/momentum/src/framework/tasks/surface-list.md +42 -0
  212. package/modules/momentum/src/framework/tasks/vector-hygiene.md +160 -0
  213. package/modules/momentum/src/framework/templates/workspace-json.md +96 -0
  214. package/modules/momentum/src/hooks/_template.py +129 -0
  215. package/modules/momentum/src/hooks/active-hook.py +178 -0
  216. package/modules/momentum/src/hooks/backlog-hook.py +115 -0
  217. package/modules/momentum/src/hooks/mission-control-insights.py +169 -0
  218. package/modules/momentum/src/hooks/momentum-pulse-check.py +351 -0
  219. package/modules/momentum/src/hooks/operator.py +53 -0
  220. package/modules/momentum/src/hooks/psmm-injector.py +67 -0
  221. package/modules/momentum/src/hooks/satellite-detection.py +248 -0
  222. package/modules/momentum/src/packages/momentum-mcp/index.js +119 -0
  223. package/modules/momentum/src/packages/momentum-mcp/package.json +10 -0
  224. package/modules/momentum/src/packages/momentum-mcp/tools/entities.js +226 -0
  225. package/modules/momentum/src/packages/momentum-mcp/tools/operator.js +106 -0
  226. package/modules/momentum/src/packages/momentum-mcp/tools/projects.js +322 -0
  227. package/modules/momentum/src/packages/momentum-mcp/tools/psmm.js +206 -0
  228. package/modules/momentum/src/packages/momentum-mcp/tools/state.js +199 -0
  229. package/modules/momentum/src/packages/momentum-mcp/tools/surfaces.js +404 -0
  230. package/modules/momentum/src/skill/momentum.md +111 -0
  231. package/modules/momentum/src/tasks/groom.md +164 -0
  232. package/modules/momentum/src/templates/operator.json +66 -0
  233. package/modules/momentum/src/templates/workspace.json +111 -0
  234. package/modules/momentum/terminal.svg +77 -0
  235. package/modules/radar/README.md +1552 -0
  236. package/modules/radar/commands/audit.md +233 -0
  237. package/modules/radar/commands/guardrails.md +194 -0
  238. package/modules/radar/commands/init.md +207 -0
  239. package/modules/radar/commands/playbook.md +176 -0
  240. package/modules/radar/commands/remediate.md +156 -0
  241. package/modules/radar/commands/report.md +172 -0
  242. package/modules/radar/commands/resume.md +176 -0
  243. package/modules/radar/commands/status.md +148 -0
  244. package/modules/radar/commands/transform.md +205 -0
  245. package/modules/radar/commands/validate.md +177 -0
  246. package/modules/radar/docs/ARCHITECTURE.md +336 -0
  247. package/modules/radar/docs/GETTING-STARTED.md +287 -0
  248. package/modules/radar/docs/standards/agents.md +197 -0
  249. package/modules/radar/docs/standards/commands.md +250 -0
  250. package/modules/radar/docs/standards/domains.md +191 -0
  251. package/modules/radar/docs/standards/personas.md +211 -0
  252. package/modules/radar/docs/standards/rules.md +218 -0
  253. package/modules/radar/docs/standards/runtime.md +445 -0
  254. package/modules/radar/docs/standards/schemas.md +269 -0
  255. package/modules/radar/docs/standards/tools.md +273 -0
  256. package/modules/radar/docs/standards/workflows.md +254 -0
  257. package/modules/radar/docs/terminal.svg +72 -0
  258. package/modules/radar/docs/validation/convention-compliance-report.md +183 -0
  259. package/modules/radar/docs/validation/cross-reference-report.md +195 -0
  260. package/modules/radar/docs/validation/validation-summary.md +118 -0
  261. package/modules/radar/docs/validation/version-manifest.yaml +363 -0
  262. package/modules/radar/install.sh +711 -0
  263. package/modules/radar/integration.js +53 -0
  264. package/modules/radar/src/core/agents/architect.md +25 -0
  265. package/modules/radar/src/core/agents/compliance-officer.md +25 -0
  266. package/modules/radar/src/core/agents/data-engineer.md +25 -0
  267. package/modules/radar/src/core/agents/devils-advocate.md +22 -0
  268. package/modules/radar/src/core/agents/performance-engineer.md +25 -0
  269. package/modules/radar/src/core/agents/principal-engineer.md +23 -0
  270. package/modules/radar/src/core/agents/reality-gap-analyst.md +22 -0
  271. package/modules/radar/src/core/agents/security-engineer.md +25 -0
  272. package/modules/radar/src/core/agents/senior-app-engineer.md +25 -0
  273. package/modules/radar/src/core/agents/sre.md +25 -0
  274. package/modules/radar/src/core/agents/staff-engineer.md +23 -0
  275. package/modules/radar/src/core/agents/test-engineer.md +25 -0
  276. package/modules/radar/src/core/personas/architect.md +111 -0
  277. package/modules/radar/src/core/personas/compliance-officer.md +104 -0
  278. package/modules/radar/src/core/personas/data-engineer.md +113 -0
  279. package/modules/radar/src/core/personas/devils-advocate.md +105 -0
  280. package/modules/radar/src/core/personas/performance-engineer.md +119 -0
  281. package/modules/radar/src/core/personas/principal-engineer.md +119 -0
  282. package/modules/radar/src/core/personas/reality-gap-analyst.md +111 -0
  283. package/modules/radar/src/core/personas/security-engineer.md +108 -0
  284. package/modules/radar/src/core/personas/senior-app-engineer.md +111 -0
  285. package/modules/radar/src/core/personas/sre.md +117 -0
  286. package/modules/radar/src/core/personas/staff-engineer.md +109 -0
  287. package/modules/radar/src/core/personas/test-engineer.md +109 -0
  288. package/modules/radar/src/core/workflows/disagreement-resolution.md +183 -0
  289. package/modules/radar/src/core/workflows/phase-0-context.md +148 -0
  290. package/modules/radar/src/core/workflows/phase-1-reconnaissance.md +169 -0
  291. package/modules/radar/src/core/workflows/phase-2-domain-audits.md +190 -0
  292. package/modules/radar/src/core/workflows/phase-3-cross-domain.md +177 -0
  293. package/modules/radar/src/core/workflows/phase-4-adversarial-review.md +165 -0
  294. package/modules/radar/src/core/workflows/phase-5-report.md +189 -0
  295. package/modules/radar/src/core/workflows/phase-checkpoint.md +222 -0
  296. package/modules/radar/src/core/workflows/session-handoff.md +152 -0
  297. package/modules/radar/src/domains/00-context.md +201 -0
  298. package/modules/radar/src/domains/01-architecture.md +248 -0
  299. package/modules/radar/src/domains/02-data.md +224 -0
  300. package/modules/radar/src/domains/03-correctness.md +230 -0
  301. package/modules/radar/src/domains/04-security.md +274 -0
  302. package/modules/radar/src/domains/05-compliance.md +228 -0
  303. package/modules/radar/src/domains/06-testing.md +228 -0
  304. package/modules/radar/src/domains/07-reliability.md +246 -0
  305. package/modules/radar/src/domains/08-performance.md +247 -0
  306. package/modules/radar/src/domains/09-maintainability.md +271 -0
  307. package/modules/radar/src/domains/10-operability.md +250 -0
  308. package/modules/radar/src/domains/11-change-risk.md +246 -0
  309. package/modules/radar/src/domains/12-team-risk.md +221 -0
  310. package/modules/radar/src/domains/13-risk-synthesis.md +202 -0
  311. package/modules/radar/src/rules/agent-boundaries.md +78 -0
  312. package/modules/radar/src/rules/disagreement-protocol.md +76 -0
  313. package/modules/radar/src/rules/epistemic-hygiene.md +78 -0
  314. package/modules/radar/src/schemas/confidence.md +185 -0
  315. package/modules/radar/src/schemas/disagreement.md +238 -0
  316. package/modules/radar/src/schemas/finding.md +287 -0
  317. package/modules/radar/src/schemas/report-section.md +150 -0
  318. package/modules/radar/src/schemas/signal.md +108 -0
  319. package/modules/radar/src/tools/checkov.md +463 -0
  320. package/modules/radar/src/tools/git-history.md +581 -0
  321. package/modules/radar/src/tools/gitleaks.md +447 -0
  322. package/modules/radar/src/tools/grype.md +611 -0
  323. package/modules/radar/src/tools/semgrep.md +378 -0
  324. package/modules/radar/src/tools/sonarqube.md +550 -0
  325. package/modules/radar/src/tools/syft.md +539 -0
  326. package/modules/radar/src/tools/trivy.md +439 -0
  327. package/modules/radar/src/transform/agents/change-risk-modeler.md +24 -0
  328. package/modules/radar/src/transform/agents/execution-validator.md +24 -0
  329. package/modules/radar/src/transform/agents/guardrail-generator.md +24 -0
  330. package/modules/radar/src/transform/agents/pedagogy-agent.md +24 -0
  331. package/modules/radar/src/transform/agents/remediation-architect.md +24 -0
  332. package/modules/radar/src/transform/personas/change-risk-modeler.md +95 -0
  333. package/modules/radar/src/transform/personas/execution-validator.md +95 -0
  334. package/modules/radar/src/transform/personas/guardrail-generator.md +103 -0
  335. package/modules/radar/src/transform/personas/pedagogy-agent.md +105 -0
  336. package/modules/radar/src/transform/personas/remediation-architect.md +95 -0
  337. package/modules/radar/src/transform/rules/change-risk-rules.md +87 -0
  338. package/modules/radar/src/transform/rules/safety-governance.md +87 -0
  339. package/modules/radar/src/transform/schemas/change-risk.md +139 -0
  340. package/modules/radar/src/transform/schemas/intervention-level.md +207 -0
  341. package/modules/radar/src/transform/schemas/playbook.md +205 -0
  342. package/modules/radar/src/transform/schemas/verification-plan.md +134 -0
  343. package/modules/radar/src/transform/workflows/phase-6-remediation.md +148 -0
  344. package/modules/radar/src/transform/workflows/phase-7-risk-validation.md +161 -0
  345. package/modules/radar/src/transform/workflows/phase-8-execution-planning.md +159 -0
  346. package/modules/radar/src/transform/workflows/transform-safety.md +158 -0
  347. package/modules/vector/.vector-template/sessions/.gitkeep +0 -0
  348. package/modules/vector/.vector-template/vector.json +72 -0
  349. package/modules/vector/AUDIT-CLAUDEMD.md +154 -0
  350. package/modules/vector/INSTALL.md +185 -0
  351. package/modules/vector/LICENSE +21 -0
  352. package/modules/vector/README.md +409 -0
  353. package/modules/vector/VECTOR-BLOCK.md +57 -0
  354. package/modules/vector/assets/terminal.svg +68 -0
  355. package/modules/vector/bin/install.js +455 -0
  356. package/modules/vector/bin/migrate-v1-to-v2.sh +492 -0
  357. package/modules/vector/commands/help.md +46 -0
  358. package/modules/vector/hooks/vector-hook.py +775 -0
  359. package/modules/vector/mcp/index.js +118 -0
  360. package/modules/vector/mcp/package.json +10 -0
  361. package/modules/vector/mcp/tools/decisions.js +269 -0
  362. package/modules/vector/mcp/tools/domains.js +361 -0
  363. package/modules/vector/mcp/tools/staging.js +252 -0
  364. package/modules/vector/mcp/tools/vector-json.js +647 -0
  365. package/modules/vector/package.json +38 -0
  366. package/modules/vector/schemas/vector.schema.json +237 -0
  367. package/package.json +39 -0
  368. package/shared/branding/branding.js +70 -0
  369. package/shared/config/defaults.json +59 -0
  370. package/shared/events/README.md +175 -0
  371. package/shared/events/event-bus.js +134 -0
  372. package/shared/events/event_bus.py +255 -0
  373. package/shared/events/integrations.js +161 -0
  374. package/shared/events/schemas/audit-complete.schema.json +21 -0
  375. package/shared/events/schemas/phase-progress.schema.json +23 -0
  376. package/shared/events/schemas/plan-created.schema.json +21 -0
@@ -0,0 +1,378 @@
1
+ ---
2
+ id: semgrep
3
+ name: Semgrep
4
+ type: static_analysis
5
+ domains_fed: ["01", "03", "04", "05", "06", "09"]
6
+ install_required: true
7
+ install_command: "See Installation section — pip, brew, or Docker"
8
+ ---
9
+
10
+ ## Purpose
11
+
12
+ Pattern-matching static analysis tool producing signals for injection flaws, authentication weaknesses, insecure cryptography, code quality anti-patterns, framework-specific issues, and compliance-relevant patterns. Broadest domain coverage of any Radar tool — feeds 6 domains: Architecture (01), Correctness (03), Security (04), Compliance (05), Testing (06), Maintainability (09).
13
+
14
+ Semgrep matches AST-level patterns, not text — making it more precise than grep-based approaches but limited to pattern-based detection (no data flow analysis in free tier).
15
+
16
+ **Signals are NOT findings. Semgrep produces evidence that agents interpret.**
17
+
18
+ ## Configuration
19
+
20
+ ### Rule Packs
21
+
22
+ Configure `.semgrep.yml` with appropriate rule packs for target codebase:
23
+
24
+ ```yaml
25
+ rules:
26
+ - id: security-audit
27
+ patterns: p/security-audit
28
+ - id: owasp-top-ten
29
+ patterns: p/owasp-top-ten
30
+ - id: secrets
31
+ patterns: p/secrets
32
+ - id: default
33
+ patterns: p/default
34
+ ```
35
+
36
+ **Language-Specific Packs:**
37
+ - `p/python` — Python security and quality patterns
38
+ - `p/javascript` — JavaScript/Node.js patterns
39
+ - `p/typescript` — TypeScript-specific patterns
40
+ - `p/java` — Java enterprise patterns
41
+ - `p/go` — Go idioms and security
42
+ - `p/ruby` — Ruby/Rails patterns
43
+
44
+ ### Filtering and Performance
45
+
46
+ **Severity Filter:** `--severity ERROR WARNING` (exclude INFO for noise reduction)
47
+
48
+ **Timeout Settings:** `--timeout 300` for large repos (5 minute timeout per file)
49
+
50
+ **Exclude Patterns:**
51
+ ```bash
52
+ --exclude test/
53
+ --exclude vendor/
54
+ --exclude node_modules/
55
+ --exclude .venv/
56
+ --exclude dist/
57
+ --exclude build/
58
+ ```
59
+
60
+ **Custom Rules:** Place organization-specific patterns in `.semgrep/` directory at repository root.
61
+
62
+ ### Semgrep Pro vs OSS
63
+
64
+ **OSS (free tier):**
65
+ - Pattern-only matching (single-file AST analysis)
66
+ - Public rule packs
67
+ - Local execution only
68
+
69
+ **Pro (paid):**
70
+ - Cross-file data flow analysis
71
+ - Taint tracking across function boundaries
72
+ - Custom rule management platform
73
+ - CI/CD integration with policy enforcement
74
+
75
+ **Radar uses OSS tier by default.** Pro-tier signals require explicit configuration.
76
+
77
+ ## Execution
78
+
79
+ ### Installation Options
80
+
81
+ **pip (cross-platform):**
82
+ ```bash
83
+ pip install semgrep
84
+ ```
85
+
86
+ **Homebrew (macOS/Linux):**
87
+ ```bash
88
+ brew install semgrep
89
+ ```
90
+
91
+ **Docker (all platforms):**
92
+ ```bash
93
+ docker pull semgrep/semgrep:latest
94
+ ```
95
+
96
+ ### Primary Command
97
+
98
+ ```bash
99
+ semgrep scan \
100
+ --config auto \
101
+ --json \
102
+ --output {output_dir}/semgrep-results.json \
103
+ --severity ERROR WARNING \
104
+ --timeout 300 \
105
+ --exclude test/ \
106
+ --exclude vendor/ \
107
+ --exclude node_modules/ \
108
+ {target_path}
109
+ ```
110
+
111
+ ### Docker Variant
112
+
113
+ ```bash
114
+ docker run --rm \
115
+ -v {target_path}:/src \
116
+ semgrep/semgrep \
117
+ semgrep scan \
118
+ --config auto \
119
+ --json \
120
+ --output /src/.radar/signals/semgrep-results.json \
121
+ --severity ERROR WARNING \
122
+ --timeout 300 \
123
+ /src
124
+ ```
125
+
126
+ ### Specific Rule Packs
127
+
128
+ ```bash
129
+ semgrep scan \
130
+ --config p/security-audit \
131
+ --config p/owasp-top-ten \
132
+ --config p/secrets \
133
+ --json \
134
+ --output {output_dir}/semgrep-results.json \
135
+ {target_path}
136
+ ```
137
+
138
+ ### Parameters
139
+
140
+ | Flag | Description | Default |
141
+ |------|-------------|---------|
142
+ | `--config` | Rule pack or config file (auto, p/security-audit, .semgrep.yml) | auto |
143
+ | `--json` | Output in JSON format | text |
144
+ | `--output` | Path to output file | stdout |
145
+ | `--severity` | Filter by severity (ERROR, WARNING, INFO) | all |
146
+ | `--timeout` | Max seconds per file | 30 |
147
+ | `--exclude` | Glob patterns to exclude | none |
148
+ | `--max-memory` | Memory limit in MB | 5000 |
149
+ | `--jobs` | Parallel jobs (0 = auto) | 0 |
150
+ | `--verbose` | Detailed progress output | false |
151
+ | `--metrics off` | Disable anonymous telemetry | on |
152
+
153
+ ### Runtime Expectations
154
+
155
+ - **Small repos (<10k lines):** 30-60 seconds
156
+ - **Medium repos (10k-100k lines):** 2-5 minutes
157
+ - **Large repos (100k-500k lines):** 5-15 minutes
158
+ - **Monorepos (500k+ lines):** 15-30+ minutes
159
+
160
+ Runtime scales linearly with code size and rule count. Use `--jobs` flag to parallelize on multi-core systems.
161
+
162
+ ## Output Format
163
+
164
+ Semgrep produces JSON output with the following structure:
165
+
166
+ ```json
167
+ {
168
+ "results": [
169
+ {
170
+ "check_id": "python.django.security.injection.sql.sql-injection-using-raw",
171
+ "path": "app/views/user.py",
172
+ "start": {
173
+ "line": 42,
174
+ "col": 12,
175
+ "offset": 1024
176
+ },
177
+ "end": {
178
+ "line": 42,
179
+ "col": 58,
180
+ "offset": 1070
181
+ },
182
+ "extra": {
183
+ "message": "Detected SQL statement that is tainted by user input. This could lead to SQL injection if variables in the SQL statement are not properly sanitized.",
184
+ "severity": "ERROR",
185
+ "metadata": {
186
+ "cwe": ["CWE-89: SQL Injection"],
187
+ "owasp": ["A03:2021 - Injection"],
188
+ "category": "security",
189
+ "technology": ["django"],
190
+ "confidence": "HIGH",
191
+ "likelihood": "HIGH",
192
+ "impact": "HIGH",
193
+ "references": [
194
+ "https://owasp.org/www-community/attacks/SQL_Injection",
195
+ "https://docs.djangoproject.com/en/4.0/topics/security/#sql-injection-protection"
196
+ ]
197
+ },
198
+ "fingerprint": "e7d2f5a8_1",
199
+ "lines": " results = User.objects.raw(f\"SELECT * FROM users WHERE username='{username}'\")"
200
+ }
201
+ },
202
+ {
203
+ "check_id": "python.flask.security.audit.hardcoded-secret-key",
204
+ "path": "config/settings.py",
205
+ "start": {
206
+ "line": 18,
207
+ "col": 1,
208
+ "offset": 456
209
+ },
210
+ "end": {
211
+ "line": 18,
212
+ "col": 52,
213
+ "offset": 507
214
+ },
215
+ "extra": {
216
+ "message": "Hardcoded Flask SECRET_KEY detected. This is a security risk because the key is visible in source code.",
217
+ "severity": "WARNING",
218
+ "metadata": {
219
+ "cwe": ["CWE-798: Use of Hard-coded Credentials"],
220
+ "owasp": ["A02:2021 - Cryptographic Failures"],
221
+ "category": "security",
222
+ "technology": ["flask"],
223
+ "confidence": "MEDIUM",
224
+ "likelihood": "MEDIUM",
225
+ "impact": "HIGH",
226
+ "references": [
227
+ "https://flask.palletsprojects.com/en/2.0.x/config/#SECRET_KEY"
228
+ ]
229
+ },
230
+ "fingerprint": "a3c9d1b2_1",
231
+ "lines": "app.config['SECRET_KEY'] = 'my-super-secret-key-12345'"
232
+ }
233
+ },
234
+ {
235
+ "check_id": "python.lang.correctness.useless-eqeq.useless-eqeq",
236
+ "path": "utils/validators.py",
237
+ "start": {
238
+ "line": 67,
239
+ "col": 8,
240
+ "offset": 2048
241
+ },
242
+ "end": {
243
+ "line": 67,
244
+ "col": 20,
245
+ "offset": 2060
246
+ },
247
+ "extra": {
248
+ "message": "Comparison using 'is' instead of '==' for value comparison. Use '==' for value equality checks.",
249
+ "severity": "WARNING",
250
+ "metadata": {
251
+ "category": "correctness",
252
+ "technology": ["python"],
253
+ "confidence": "HIGH",
254
+ "likelihood": "MEDIUM",
255
+ "impact": "LOW",
256
+ "references": [
257
+ "https://docs.python.org/3/reference/expressions.html#is-not"
258
+ ]
259
+ },
260
+ "fingerprint": "f8e4b6c3_1",
261
+ "lines": " if value is True:"
262
+ }
263
+ }
264
+ ],
265
+ "errors": [],
266
+ "paths": {
267
+ "scanned": [
268
+ "app/",
269
+ "config/",
270
+ "utils/"
271
+ ],
272
+ "_comment": "paths/scanned not used in normalization"
273
+ },
274
+ "version": "1.45.0"
275
+ }
276
+ ```
277
+
278
+ ## Normalization
279
+
280
+ Radar normalizes Semgrep results into standardized signal records using the following field mapping:
281
+
282
+ | Semgrep Field | Radar Field | Transformation |
283
+ |---------------|-------------|----------------|
284
+ | `check_id` | `source_rule` | Direct copy |
285
+ | `path` | `file_path` | Prepend repo root if relative |
286
+ | `start.line` + `end.line` | `location` | Format: "L{start}-L{end}" or "L{start}" if single line |
287
+ | `extra.message` | `raw_output` | Direct copy |
288
+ | `extra.severity` | `severity` | ERROR→high, WARNING→medium, INFO→low |
289
+ | `extra.metadata.confidence` | `confidence_estimate` | HIGH→high, MEDIUM→medium, LOW→low, null→medium |
290
+ | `extra.metadata.cwe` | `references.cwe` | Extract first CWE-NNN value |
291
+ | `extra.metadata.owasp` | `references.owasp` | Direct copy |
292
+ | `extra.fingerprint` | `dedup_key` | Combine with check_id: "{check_id}:{fingerprint}" |
293
+ | — | `source_tool` | Static: "semgrep" |
294
+ | — | `signal_id` | Pattern: "S-SMG-{NNN}" (sequential) |
295
+
296
+ ### Domain Relevance Mapping
297
+
298
+ Derive `domain_relevance` array from `check_id` prefix or metadata tags:
299
+
300
+ | Pattern | Domains |
301
+ |---------|---------|
302
+ | `*.security.*` or `category: security` | ["04"] (Security) |
303
+ | `*.audit.*` or `category: audit` | ["05"] (Compliance) |
304
+ | `*.correctness.*` or `category: correctness` | ["03"] (Correctness) |
305
+ | `*.performance.*` or `category: performance` | ["09"] (Maintainability) |
306
+ | `*.testing.*` or `category: testing` | ["06"] (Testing) |
307
+ | `*.architecture.*` or `category: design` | ["01"] (Architecture) |
308
+ | Multiple tags | Multiple domains |
309
+
310
+ ### Blast Radius Estimation
311
+
312
+ Default to **"localized"** (single file impact), elevate based on file context:
313
+
314
+ - **"localized"**: Default for most findings (single file)
315
+ - **"moderate"**: Findings in shared utilities, libraries, middleware, base classes
316
+ - **"widespread"**: Findings in authentication, authorization, core framework configuration
317
+
318
+ Path-based heuristics:
319
+ - `**/auth/*`, `**/security/*`, `**/middleware/*` → moderate
320
+ - `**/config/*`, `**/settings/*`, `**/__init__.py` → moderate to widespread
321
+ - `**/lib/*`, `**/utils/*`, `**/helpers/*` → moderate
322
+
323
+ ### Deduplication Rules
324
+
325
+ **Same signal:** `check_id` + `file_path` + `start.line` match
326
+
327
+ **Fingerprint collision:** Semgrep may assign same fingerprint to structurally identical issues in different locations. Use full dedup key: `{check_id}:{file_path}:{start.line}:{fingerprint}`.
328
+
329
+ ### Severity Normalization Notes
330
+
331
+ Semgrep severity is **rule-relative**, not absolute:
332
+ - ERROR = rule author considers this high-impact
333
+ - WARNING = rule author considers this medium-impact
334
+ - INFO = rule author considers this low-impact or informational
335
+
336
+ Radar agents should consider context (blast radius, exploit difficulty) when elevating/downgrading severity during interpretation.
337
+
338
+ ## Limitations
339
+
340
+ ### Cannot Detect (Pattern-Only Analysis)
341
+
342
+ 1. **Business logic flaws**: Semgrep matches code patterns, not business intent. Cannot detect authorization bypass via valid code paths or incorrect state machine transitions.
343
+
344
+ 2. **Runtime-only vulnerabilities**: Race conditions, timing attacks, memory corruption, integer overflow (in untyped languages) require dynamic analysis.
345
+
346
+ 3. **Data flow across ORMs**: Free tier cannot track taint through ORM query methods with custom SQL fragments or complex query builders.
347
+
348
+ 4. **Cross-file data flow in complex call chains**: OSS tier is single-file only. Taint tracking stops at function boundaries unless Pro tier is enabled.
349
+
350
+ 5. **Dynamically generated code**: Template strings, eval(), exec(), code generation frameworks produce patterns invisible to static AST analysis.
351
+
352
+ 6. **Configuration-based vulnerabilities**: Cloud infrastructure misconfigurations, IAM policy errors, deployment configuration issues are outside Semgrep's scope.
353
+
354
+ ### False Positives (Overcollection)
355
+
356
+ 1. **Test fixtures with intentional vulnerabilities**: Security training code, test cases for vulnerability scanners, example exploit code flagged as real vulnerabilities.
357
+
358
+ 2. **High-entropy non-secret constants**: UUIDs, cryptographic hashes, example data, placeholder values flagged by secrets detection rules.
359
+
360
+ 3. **Documentation and comments**: Code examples in docstrings, commented-out legacy code, tutorial snippets embedded in comments.
361
+
362
+ 4. **Dead code paths**: Unreachable branches, deprecated functions, feature-flagged code that contains flagged patterns but never executes in production.
363
+
364
+ 5. **False taint propagation**: Variables reassigned to safe values after initial taint, sanitization via non-standard functions not recognized by rules.
365
+
366
+ ### False Negatives (Undercollection)
367
+
368
+ 1. **Indirect variable concatenation**: Injection via intermediate variable assignment across multiple functions: `x = user_input; y = "SELECT * FROM " + x; query(y)`.
369
+
370
+ 2. **Custom authentication schemes**: Non-standard auth implementations, proprietary session management, custom JWT variants not matching known patterns.
371
+
372
+ 3. **Unsupported languages/frameworks**: Semgrep coverage varies by ecosystem. Niche languages, internal frameworks, proprietary DSLs may have minimal rule coverage.
373
+
374
+ 4. **Obfuscated or minified code**: Compressed JavaScript, obfuscated Python, compiled-then-decompiled code breaks AST pattern matching.
375
+
376
+ 5. **Polymorphic vulnerabilities**: Same vulnerability expressed via different syntactic patterns (e.g., SQL injection via format strings, f-strings, %-formatting, or .format() — rules may not cover all variants).
377
+
378
+ 6. **Context-dependent vulnerabilities**: Code safe in one context but dangerous in another (e.g., innerHTML assignment safe for static strings, dangerous for user input — pattern rules cannot distinguish without data flow).