agent-toolkit-cli 1.11.0__py3-none-win_amd64.whl

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 (438) hide show
  1. agent_toolkit/__init__.py +4 -0
  2. agent_toolkit/__main__.py +5 -0
  3. agent_toolkit/_paths.py +145 -0
  4. agent_toolkit/bin/.gitkeep +0 -0
  5. agent_toolkit/bin/agent-toolkit.exe +0 -0
  6. agent_toolkit/cli/__init__.py +0 -0
  7. agent_toolkit/cli/__main__.py +5 -0
  8. agent_toolkit/cli/build.py +278 -0
  9. agent_toolkit/cli/completion.py +297 -0
  10. agent_toolkit/cli/context_budget.py +455 -0
  11. agent_toolkit/cli/devcompanion.py +923 -0
  12. agent_toolkit/cli/devcompanion_queue.py +235 -0
  13. agent_toolkit/cli/diff.py +176 -0
  14. agent_toolkit/cli/doctor.py +1052 -0
  15. agent_toolkit/cli/insights.py +771 -0
  16. agent_toolkit/cli/install.py +706 -0
  17. agent_toolkit/cli/main.py +171 -0
  18. agent_toolkit/cli/mcp.py +537 -0
  19. agent_toolkit/cli/memory.py +739 -0
  20. agent_toolkit/cli/plugin.py +224 -0
  21. agent_toolkit/cli/project.py +459 -0
  22. agent_toolkit/cli/release.py +178 -0
  23. agent_toolkit/cli/skills.py +461 -0
  24. agent_toolkit/cli/uninstall.py +166 -0
  25. agent_toolkit/cli/update.py +298 -0
  26. agent_toolkit/cli/workspace.py +1713 -0
  27. agent_toolkit/compiler/hook_registry.py +110 -0
  28. agent_toolkit/compiler/loader.py +338 -0
  29. agent_toolkit/compiler/mcp_registry.py +87 -0
  30. agent_toolkit/compiler/model.py +182 -0
  31. agent_toolkit/compiler/provenance.py +140 -0
  32. agent_toolkit/compiler/registry_emit.py +263 -0
  33. agent_toolkit/compiler/target_registry.py +122 -0
  34. agent_toolkit/compiler/targets/__init__.py +1 -0
  35. agent_toolkit/compiler/targets/agent_plugins.py +160 -0
  36. agent_toolkit/compiler/targets/base.py +229 -0
  37. agent_toolkit/compiler/targets/claude_code.py +241 -0
  38. agent_toolkit/compiler/targets/codex.py +261 -0
  39. agent_toolkit/compiler/targets/copilot.py +275 -0
  40. agent_toolkit/compiler/targets/cursor.py +207 -0
  41. agent_toolkit/compiler/targets/gemini_cli.py +213 -0
  42. agent_toolkit/compiler/targets/muse_code.py +113 -0
  43. agent_toolkit/compiler/targets/opencode.py +204 -0
  44. agent_toolkit/compiler/targets/pi.py +263 -0
  45. agent_toolkit/compiler/targets/windsurf.py +267 -0
  46. agent_toolkit/compiler/tool_mapping.py +83 -0
  47. agent_toolkit/data/.gitignore +4 -0
  48. agent_toolkit/data/__init__.py +1 -0
  49. agent_toolkit/data/agents/agentic-security-reviewer/AGENT.md +60 -0
  50. agent_toolkit/data/agents/architect/AGENT.md +30 -0
  51. agent_toolkit/data/agents/assistant/AGENT.md +59 -0
  52. agent_toolkit/data/agents/build-error-resolver/AGENT.md +30 -0
  53. agent_toolkit/data/agents/client-workflow-bootstrap/AGENT.md +60 -0
  54. agent_toolkit/data/agents/code-reviewer/AGENT.md +49 -0
  55. agent_toolkit/data/agents/database-reviewer/AGENT.md +44 -0
  56. agent_toolkit/data/agents/docs-lookup/AGENT.md +28 -0
  57. agent_toolkit/data/agents/e2e-runner/AGENT.md +38 -0
  58. agent_toolkit/data/agents/performance-optimizer/AGENT.md +52 -0
  59. agent_toolkit/data/agents/planner/AGENT.md +41 -0
  60. agent_toolkit/data/agents/refactor-cleaner/AGENT.md +43 -0
  61. agent_toolkit/data/agents/reference-lookup/AGENT.md +33 -0
  62. agent_toolkit/data/agents/security-reviewer/AGENT.md +47 -0
  63. agent_toolkit/data/agents/tdd-guide/AGENT.md +58 -0
  64. agent_toolkit/data/agents/tech-assistant/AGENT.md +11 -0
  65. agent_toolkit/data/agents/typescript-reviewer/AGENT.md +61 -0
  66. agent_toolkit/data/capabilities/hooks/README.md +6 -0
  67. agent_toolkit/data/capabilities/hooks/pre-commit-validate.yaml +26 -0
  68. agent_toolkit/data/capabilities/hooks/scripts/pre-commit-validate.sh +41 -0
  69. agent_toolkit/data/capabilities/hooks/scripts/session-start-context.sh +11 -0
  70. agent_toolkit/data/capabilities/hooks/session-start-context.yaml +23 -0
  71. agent_toolkit/data/capabilities/targets/registry.yaml +90 -0
  72. agent_toolkit/data/capabilities/upstream.lock +118 -0
  73. agent_toolkit/data/catalogs/agent-catalog.yaml +81 -0
  74. agent_toolkit/data/catalogs/loop-catalog.yaml +55 -0
  75. agent_toolkit/data/catalogs/skill-catalog.yaml +520 -0
  76. agent_toolkit/data/catalogs/skills-layout.json +391 -0
  77. agent_toolkit/data/distributions/products.yaml +190 -0
  78. agent_toolkit/data/distributions/targets/claude-code.yaml +47 -0
  79. agent_toolkit/data/distributions/targets/cursor.yaml +42 -0
  80. agent_toolkit/data/distributions/targets/opencode.yaml +55 -0
  81. agent_toolkit/data/loops/changelog-drafter/loop.yaml +40 -0
  82. agent_toolkit/data/loops/ci-sweeper/loop.yaml +53 -0
  83. agent_toolkit/data/loops/daily-triage/loop.yaml +47 -0
  84. agent_toolkit/data/loops/dep-sweeper/loop.yaml +46 -0
  85. agent_toolkit/data/loops/issue-triage/loop.yaml +40 -0
  86. agent_toolkit/data/loops/oss-daily-briefing/loop.yaml +65 -0
  87. agent_toolkit/data/loops/oss-pr-monitor/loop.yaml +86 -0
  88. agent_toolkit/data/loops/oss-triage/loop.yaml +67 -0
  89. agent_toolkit/data/loops/post-merge-cleanup/loop.yaml +44 -0
  90. agent_toolkit/data/loops/pr-babysitter/loop.yaml +46 -0
  91. agent_toolkit/data/mcp/registry/chrome-devtools.yaml +61 -0
  92. agent_toolkit/data/mcp/registry/clickup.yaml +48 -0
  93. agent_toolkit/data/mcp/registry/figma.yaml +44 -0
  94. agent_toolkit/data/mcp/registry/github.yaml +52 -0
  95. agent_toolkit/data/mcp/registry/linear.yaml +47 -0
  96. agent_toolkit/data/mcp/registry/notion.yaml +48 -0
  97. agent_toolkit/data/mcp/registry/slack.yaml +46 -0
  98. agent_toolkit/data/mcp/templates/chrome-devtools/README.md +57 -0
  99. agent_toolkit/data/mcp/templates/chrome-devtools/config.template.json +6 -0
  100. agent_toolkit/data/mcp/templates/clickup/README.md +45 -0
  101. agent_toolkit/data/mcp/templates/clickup/config.template.json +8 -0
  102. agent_toolkit/data/mcp/templates/clickup/wrapper.sh +23 -0
  103. agent_toolkit/data/mcp/templates/figma/README.md +54 -0
  104. agent_toolkit/data/mcp/templates/figma/config.template.json +9 -0
  105. agent_toolkit/data/mcp/templates/github/README.md +16 -0
  106. agent_toolkit/data/mcp/templates/github/config.template.json +15 -0
  107. agent_toolkit/data/mcp/templates/github/wrapper.sh +6 -0
  108. agent_toolkit/data/mcp/templates/linear/README.md +49 -0
  109. agent_toolkit/data/mcp/templates/linear/config.template.json +10 -0
  110. agent_toolkit/data/mcp/templates/notion/README.md +7 -0
  111. agent_toolkit/data/mcp/templates/notion/config.template.json +8 -0
  112. agent_toolkit/data/mcp/templates/notion/wrapper.sh +23 -0
  113. agent_toolkit/data/mcp/templates/slack/README.md +8 -0
  114. agent_toolkit/data/mcp/templates/slack/config.template.json +9 -0
  115. agent_toolkit/data/mcp/templates/slack/wrapper.sh +23 -0
  116. agent_toolkit/data/packs/README.md +66 -0
  117. agent_toolkit/data/packs/agentic-security/README.md +19 -0
  118. agent_toolkit/data/packs/agentic-security/config.yaml +25 -0
  119. agent_toolkit/data/packs/architecture/README.md +22 -0
  120. agent_toolkit/data/packs/architecture/config.yaml +27 -0
  121. agent_toolkit/data/packs/code-quality/README.md +19 -0
  122. agent_toolkit/data/packs/code-quality/config.yaml +21 -0
  123. agent_toolkit/data/packs/delivery-discipline/README.md +19 -0
  124. agent_toolkit/data/packs/delivery-discipline/config.yaml +42 -0
  125. agent_toolkit/data/packs/design-engineering/README.md +19 -0
  126. agent_toolkit/data/packs/design-engineering/config.yaml +41 -0
  127. agent_toolkit/data/packs/engineering-workflow/README.md +21 -0
  128. agent_toolkit/data/packs/engineering-workflow/config.yaml +57 -0
  129. agent_toolkit/data/packs/oss-maintenance/README.md +245 -0
  130. agent_toolkit/data/packs/oss-maintenance/config.yaml +75 -0
  131. agent_toolkit/data/profiles/claude-code/CLAUDE.md +110 -0
  132. agent_toolkit/data/profiles/claude-code/agents/assistant.md +59 -0
  133. agent_toolkit/data/profiles/claude-code/agents/build-error-resolver.md +30 -0
  134. agent_toolkit/data/profiles/claude-code/agents/client-workflow-bootstrap.md +60 -0
  135. agent_toolkit/data/profiles/claude-code/agents/contribution-planner.md +39 -0
  136. agent_toolkit/data/profiles/claude-code/agents/database-reviewer.md +44 -0
  137. agent_toolkit/data/profiles/claude-code/agents/docs-lookup.md +28 -0
  138. agent_toolkit/data/profiles/claude-code/agents/e2e-runner.md +38 -0
  139. agent_toolkit/data/profiles/claude-code/agents/performance-optimizer.md +52 -0
  140. agent_toolkit/data/profiles/claude-code/agents/planner.md +41 -0
  141. agent_toolkit/data/profiles/claude-code/agents/refactor-cleaner.md +43 -0
  142. agent_toolkit/data/profiles/claude-code/agents/reference-lookup.md +33 -0
  143. agent_toolkit/data/profiles/claude-code/agents/security-reviewer.md +47 -0
  144. agent_toolkit/data/profiles/claude-code/agents/tdd-guide.md +58 -0
  145. agent_toolkit/data/profiles/claude-code/agents/typescript-reviewer.md +61 -0
  146. agent_toolkit/data/profiles/claude-code/settings.json +86 -0
  147. agent_toolkit/data/profiles/copilot/copilot-instructions.md +15 -0
  148. agent_toolkit/data/profiles/cursor/README.md +33 -0
  149. agent_toolkit/data/profiles/cursor/rules/architect.mdc +23 -0
  150. agent_toolkit/data/profiles/cursor/rules/assistant.mdc +61 -0
  151. agent_toolkit/data/profiles/cursor/rules/build-error-resolver.mdc +20 -0
  152. agent_toolkit/data/profiles/cursor/rules/code-reviewer.mdc +21 -0
  153. agent_toolkit/data/profiles/cursor/rules/database-reviewer.mdc +29 -0
  154. agent_toolkit/data/profiles/cursor/rules/docs-lookup.mdc +15 -0
  155. agent_toolkit/data/profiles/cursor/rules/e2e-runner.mdc +30 -0
  156. agent_toolkit/data/profiles/cursor/rules/performance-optimizer.mdc +27 -0
  157. agent_toolkit/data/profiles/cursor/rules/planner.mdc +28 -0
  158. agent_toolkit/data/profiles/cursor/rules/refactor-cleaner.mdc +26 -0
  159. agent_toolkit/data/profiles/cursor/rules/reference-lookup.mdc +20 -0
  160. agent_toolkit/data/profiles/cursor/rules/security-reviewer.mdc +20 -0
  161. agent_toolkit/data/profiles/cursor/rules/tdd-guide.mdc +26 -0
  162. agent_toolkit/data/profiles/cursor/rules/typescript-reviewer.mdc +28 -0
  163. agent_toolkit/data/profiles/muse-code/README.md +35 -0
  164. agent_toolkit/data/profiles/opencode/README.md +44 -0
  165. agent_toolkit/data/profiles/opencode/agents/architect.md +30 -0
  166. agent_toolkit/data/profiles/opencode/agents/assistant.md +96 -0
  167. agent_toolkit/data/profiles/opencode/agents/build-error-resolver.md +31 -0
  168. agent_toolkit/data/profiles/opencode/agents/client-workflow-bootstrap.md +66 -0
  169. agent_toolkit/data/profiles/opencode/agents/code-reviewer.md +47 -0
  170. agent_toolkit/data/profiles/opencode/agents/contribution-planner.md +44 -0
  171. agent_toolkit/data/profiles/opencode/agents/database-reviewer.md +43 -0
  172. agent_toolkit/data/profiles/opencode/agents/docs-lookup.md +28 -0
  173. agent_toolkit/data/profiles/opencode/agents/e2e-runner.md +33 -0
  174. agent_toolkit/data/profiles/opencode/agents/performance-optimizer.md +34 -0
  175. agent_toolkit/data/profiles/opencode/agents/planner.md +27 -0
  176. agent_toolkit/data/profiles/opencode/agents/refactor-cleaner.md +27 -0
  177. agent_toolkit/data/profiles/opencode/agents/reference-lookup.md +27 -0
  178. agent_toolkit/data/profiles/opencode/agents/security-reviewer.md +27 -0
  179. agent_toolkit/data/profiles/opencode/agents/tdd-guide.md +27 -0
  180. agent_toolkit/data/profiles/opencode/agents/typescript-reviewer.md +30 -0
  181. agent_toolkit/data/profiles/opencode/opencode.json +3 -0
  182. agent_toolkit/data/profiles/pi/skills/architect/skill.md +5 -0
  183. agent_toolkit/data/profiles/pi/skills/assistant/skill.md +3 -0
  184. agent_toolkit/data/profiles/pi/skills/code-reviewer/skill.md +5 -0
  185. agent_toolkit/data/profiles/pi/skills/planner/skill.md +3 -0
  186. agent_toolkit/data/profiles/pi/skills/security-reviewer/skill.md +3 -0
  187. agent_toolkit/data/profiles/windsurf/memories/global_rules.md +114 -0
  188. agent_toolkit/data/profiles/windsurf/rules/architect.mdc +23 -0
  189. agent_toolkit/data/profiles/windsurf/rules/assistant.mdc +61 -0
  190. agent_toolkit/data/profiles/windsurf/rules/build-error-resolver.mdc +20 -0
  191. agent_toolkit/data/profiles/windsurf/rules/code-reviewer.mdc +21 -0
  192. agent_toolkit/data/profiles/windsurf/rules/database-reviewer.mdc +29 -0
  193. agent_toolkit/data/profiles/windsurf/rules/docs-lookup.mdc +15 -0
  194. agent_toolkit/data/profiles/windsurf/rules/e2e-runner.mdc +30 -0
  195. agent_toolkit/data/profiles/windsurf/rules/performance-optimizer.mdc +27 -0
  196. agent_toolkit/data/profiles/windsurf/rules/planner.mdc +28 -0
  197. agent_toolkit/data/profiles/windsurf/rules/refactor-cleaner.mdc +26 -0
  198. agent_toolkit/data/profiles/windsurf/rules/reference-lookup.mdc +20 -0
  199. agent_toolkit/data/profiles/windsurf/rules/security-reviewer.mdc +20 -0
  200. agent_toolkit/data/profiles/windsurf/rules/tdd-guide.mdc +26 -0
  201. agent_toolkit/data/profiles/windsurf/rules/typescript-reviewer.mdc +28 -0
  202. agent_toolkit/data/skills/accessibility/review/SKILL.md +116 -0
  203. agent_toolkit/data/skills/accessibility/review/references/a11y-checklist.md +25 -0
  204. agent_toolkit/data/skills/accessibility/review/references/a11y-findings-template.md +56 -0
  205. agent_toolkit/data/skills/accessibility/review/references/research.md +47 -0
  206. agent_toolkit/data/skills/agentic-security/mcp-audit/SKILL.md +116 -0
  207. agent_toolkit/data/skills/agentic-security/mcp-audit/references/mcp-audit-template.md +51 -0
  208. agent_toolkit/data/skills/agentic-security/owasp-agentic-review/SKILL.md +73 -0
  209. agent_toolkit/data/skills/agentic-security/owasp-agentic-review/references/owasp-agentic-template.md +32 -0
  210. agent_toolkit/data/skills/agentic-security/supply-chain-audit/SKILL.md +142 -0
  211. agent_toolkit/data/skills/agentic-security/threat-modeling/SKILL.md +100 -0
  212. agent_toolkit/data/skills/agentic-security/threat-modeling/references/threat-model-template.md +55 -0
  213. agent_toolkit/data/skills/architecture/c4-model/SKILL.md +49 -0
  214. agent_toolkit/data/skills/cloud/aws-well-architected-review/SKILL.md +37 -0
  215. agent_toolkit/data/skills/cloud/cloud-design-patterns/SKILL.md +38 -0
  216. agent_toolkit/data/skills/core/assistant/SKILL.md +216 -0
  217. agent_toolkit/data/skills/core/assistant/references/AGENTS_TEMPLATE.md +0 -0
  218. agent_toolkit/data/skills/core/assistant/references/ORCHESTRATION.md +0 -0
  219. agent_toolkit/data/skills/core/assistant/references/REPO_INSPECTION.md +0 -0
  220. agent_toolkit/data/skills/core/dev-companion/SKILL.md +65 -0
  221. agent_toolkit/data/skills/core/dev-companion/references/LOOP_GUARDRAILS.md +0 -0
  222. agent_toolkit/data/skills/core/onboarding/SKILL.md +122 -0
  223. agent_toolkit/data/skills/core/output-handshake/SKILL.md +26 -0
  224. agent_toolkit/data/skills/core/pr-fallback/SKILL.md +35 -0
  225. agent_toolkit/data/skills/core/pr-fallback/references/pr-body-default.md +0 -0
  226. agent_toolkit/data/skills/core/project/SKILL.md +89 -0
  227. agent_toolkit/data/skills/core/workspace/SKILL.md +103 -0
  228. agent_toolkit/data/skills/core/workspace-knowledge-sync/SKILL.md +140 -0
  229. agent_toolkit/data/skills/data/dbt-validation/SKILL.md +41 -0
  230. agent_toolkit/data/skills/data/snowflake-validation/SKILL.md +38 -0
  231. agent_toolkit/data/skills/delivery/adr/SKILL.md +56 -0
  232. agent_toolkit/data/skills/delivery/adr/references/default-template.md +35 -0
  233. agent_toolkit/data/skills/delivery/adr/references/example-001-graphql-adoption.md +66 -0
  234. agent_toolkit/data/skills/delivery/agreement/SKILL.md +24 -0
  235. agent_toolkit/data/skills/delivery/agreement/references/default-template.md +17 -0
  236. agent_toolkit/data/skills/delivery/agreement/references/example-api-versioning.md +29 -0
  237. agent_toolkit/data/skills/delivery/bug/SKILL.md +26 -0
  238. agent_toolkit/data/skills/delivery/bug/references/default-template.md +26 -0
  239. agent_toolkit/data/skills/delivery/bug/references/example-search-filter-bug.md +58 -0
  240. agent_toolkit/data/skills/delivery/decision-log/SKILL.md +28 -0
  241. agent_toolkit/data/skills/delivery/decision-log/references/default-template.md +17 -0
  242. agent_toolkit/data/skills/delivery/decision-log/references/example-repository-pattern.md +27 -0
  243. agent_toolkit/data/skills/delivery/development-workflow/SKILL.md +34 -0
  244. agent_toolkit/data/skills/delivery/development-workflow/references/default-workflow-checklist.md +44 -0
  245. agent_toolkit/data/skills/delivery/epic/SKILL.md +22 -0
  246. agent_toolkit/data/skills/delivery/epic/references/default-template.md +26 -0
  247. agent_toolkit/data/skills/delivery/epic/references/example-unified-dashboard.md +40 -0
  248. agent_toolkit/data/skills/delivery/incident/SKILL.md +24 -0
  249. agent_toolkit/data/skills/delivery/incident/references/default-template.md +29 -0
  250. agent_toolkit/data/skills/delivery/incident/references/example-payment-outage.md +62 -0
  251. agent_toolkit/data/skills/delivery/management-unit-assessment/SKILL.md +104 -0
  252. agent_toolkit/data/skills/delivery/management-unit-assessment/references/default-template.md +24 -0
  253. agent_toolkit/data/skills/delivery/management-unit-assessment/references/example-team-assessment.md +126 -0
  254. agent_toolkit/data/skills/delivery/meeting-minutes/SKILL.md +25 -0
  255. agent_toolkit/data/skills/delivery/meeting-minutes/references/default-template.md +22 -0
  256. agent_toolkit/data/skills/delivery/meeting-minutes/references/example-weekly-sync.md +72 -0
  257. agent_toolkit/data/skills/delivery/planning/SKILL.md +31 -0
  258. agent_toolkit/data/skills/delivery/planning/references/default-template.md +25 -0
  259. agent_toolkit/data/skills/delivery/planning/references/example-sprint-planning.md +62 -0
  260. agent_toolkit/data/skills/delivery/prd/SKILL.md +46 -0
  261. agent_toolkit/data/skills/delivery/prd/references/default-template.md +31 -0
  262. agent_toolkit/data/skills/delivery/prd/references/example-unified-api.md +71 -0
  263. agent_toolkit/data/skills/delivery/project-assessment/SKILL.md +90 -0
  264. agent_toolkit/data/skills/delivery/project-assessment/references/default-template.md +26 -0
  265. agent_toolkit/data/skills/delivery/project-assessment/references/example-platform-assessment.md +122 -0
  266. agent_toolkit/data/skills/delivery/project-assessment-evidence/SKILL.md +88 -0
  267. agent_toolkit/data/skills/delivery/project-assessment-evidence/references/default-template.md +24 -0
  268. agent_toolkit/data/skills/delivery/project-assessment-evidence/references/example-evidence-map.md +46 -0
  269. agent_toolkit/data/skills/delivery/spike/SKILL.md +24 -0
  270. agent_toolkit/data/skills/delivery/spike/references/default-template.md +29 -0
  271. agent_toolkit/data/skills/delivery/spike/references/example-graphql-federation.md +79 -0
  272. agent_toolkit/data/skills/delivery/task/SKILL.md +21 -0
  273. agent_toolkit/data/skills/delivery/task/references/default-template.md +21 -0
  274. agent_toolkit/data/skills/delivery/task/references/example-nav-system.md +33 -0
  275. agent_toolkit/data/skills/delivery/technical-unit-assessment/SKILL.md +58 -0
  276. agent_toolkit/data/skills/delivery/technical-unit-assessment/references/default-template.md +26 -0
  277. agent_toolkit/data/skills/delivery/technical-unit-assessment/references/example-frontend-assessment.md +112 -0
  278. agent_toolkit/data/skills/delivery/technical-unit-assessment/references/indicator-groups.md +65 -0
  279. agent_toolkit/data/skills/delivery/trd/SKILL.md +49 -0
  280. agent_toolkit/data/skills/delivery/trd/references/default-template.md +31 -0
  281. agent_toolkit/data/skills/delivery/trd/references/example-api-migration.md +122 -0
  282. agent_toolkit/data/skills/delivery/user-story/SKILL.md +21 -0
  283. agent_toolkit/data/skills/delivery/user-story/references/default-template.md +21 -0
  284. agent_toolkit/data/skills/delivery/user-story/references/example-advanced-filtering.md +37 -0
  285. agent_toolkit/data/skills/delivery/work-item/SKILL.md +31 -0
  286. agent_toolkit/data/skills/delivery/work-item/references/default-template.md +21 -0
  287. agent_toolkit/data/skills/delivery/work-item/references/example-routing-dashboard.md +23 -0
  288. agent_toolkit/data/skills/delivery/workflow-client-bootstrap/SKILL.md +148 -0
  289. agent_toolkit/data/skills/delivery/workflow-client-bootstrap/questions.yaml +165 -0
  290. agent_toolkit/data/skills/delivery/workflow-generic-project/SKILL.md +79 -0
  291. agent_toolkit/data/skills/design/design-assessment/SKILL.md +150 -0
  292. agent_toolkit/data/skills/design/design-assessment/references/design-scorecard-template.md +78 -0
  293. agent_toolkit/data/skills/design/design-improvement/SKILL.md +167 -0
  294. agent_toolkit/data/skills/design/design-improvement/references/improvement-plan-template.md +113 -0
  295. agent_toolkit/data/skills/design/figma/LICENSE.txt +2 -0
  296. agent_toolkit/data/skills/design/figma/NOTICE.txt +25 -0
  297. agent_toolkit/data/skills/design/figma/SKILL.md +98 -0
  298. agent_toolkit/data/skills/design/figma/references/figma-mcp-config.md +82 -0
  299. agent_toolkit/data/skills/design/figma/references/figma-tools-and-prompts.md +34 -0
  300. agent_toolkit/data/skills/design/figma-code-connect-components/LICENSE.txt +2 -0
  301. agent_toolkit/data/skills/design/figma-code-connect-components/NOTICE.txt +18 -0
  302. agent_toolkit/data/skills/design/figma-code-connect-components/SKILL.md +354 -0
  303. agent_toolkit/data/skills/design/figma-code-connect-components/references/mapping-checklist.md +7 -0
  304. agent_toolkit/data/skills/design/figma-code-connect-components/scripts/normalize_node_id.py +25 -0
  305. agent_toolkit/data/skills/design/figma-create-design-system-rules/LICENSE.txt +2 -0
  306. agent_toolkit/data/skills/design/figma-create-design-system-rules/NOTICE.txt +19 -0
  307. agent_toolkit/data/skills/design/figma-create-design-system-rules/SKILL.md +554 -0
  308. agent_toolkit/data/skills/design/figma-create-design-system-rules/references/rule-template.md +15 -0
  309. agent_toolkit/data/skills/design/figma-create-design-system-rules/scripts/check_agents_md.sh +9 -0
  310. agent_toolkit/data/skills/design/figma-create-new-file/LICENSE.txt +2 -0
  311. agent_toolkit/data/skills/design/figma-create-new-file/NOTICE.txt +17 -0
  312. agent_toolkit/data/skills/design/figma-create-new-file/SKILL.md +72 -0
  313. agent_toolkit/data/skills/design/figma-implement-design/LICENSE.txt +2 -0
  314. agent_toolkit/data/skills/design/figma-implement-design/NOTICE.txt +19 -0
  315. agent_toolkit/data/skills/design/figma-implement-design/SKILL.md +268 -0
  316. agent_toolkit/data/skills/design/frontend-design/LICENSE.txt +177 -0
  317. agent_toolkit/data/skills/design/frontend-design/SKILL.md +82 -0
  318. agent_toolkit/data/skills/design/frontend-design/UPSTREAM.md +14 -0
  319. agent_toolkit/data/skills/design/frontend-design-review/LICENSE +21 -0
  320. agent_toolkit/data/skills/design/frontend-design-review/SKILL.md +194 -0
  321. agent_toolkit/data/skills/design/frontend-design-review/references/pattern-examples.md +21 -0
  322. agent_toolkit/data/skills/design/frontend-design-review/references/quick-checklist.md +38 -0
  323. agent_toolkit/data/skills/design/frontend-design-review/references/review-output-format.md +68 -0
  324. agent_toolkit/data/skills/design/frontend-design-review/references/review-type-modifiers.md +31 -0
  325. agent_toolkit/data/skills/design/web-design-guidelines/SKILL.md +78 -0
  326. agent_toolkit/data/skills/design/web-design-guidelines/references/LICENSE +21 -0
  327. agent_toolkit/data/skills/design/web-design-guidelines/references/web-interface-guidelines.md +180 -0
  328. agent_toolkit/data/skills/forge/gh-address-comments/LICENSE.txt +202 -0
  329. agent_toolkit/data/skills/forge/gh-address-comments/NOTICE.txt +20 -0
  330. agent_toolkit/data/skills/forge/gh-address-comments/SKILL.md +72 -0
  331. agent_toolkit/data/skills/forge/gh-address-comments/scripts/fetch_comments.py +239 -0
  332. agent_toolkit/data/skills/forge/gh-contribution-planner/SKILL.md +160 -0
  333. agent_toolkit/data/skills/forge/gh-contribution-planner/scripts/inspect_contributions.py +818 -0
  334. agent_toolkit/data/skills/forge/gh-fix-ci/LICENSE.txt +201 -0
  335. agent_toolkit/data/skills/forge/gh-fix-ci/NOTICE.txt +20 -0
  336. agent_toolkit/data/skills/forge/gh-fix-ci/SKILL.md +74 -0
  337. agent_toolkit/data/skills/forge/gh-fix-ci/scripts/inspect_pr_checks.py +509 -0
  338. agent_toolkit/data/skills/forge/github-cli-workflow/SKILL.md +49 -0
  339. agent_toolkit/data/skills/forge/gitlab-cli-workflow/SKILL.md +44 -0
  340. agent_toolkit/data/skills/forge/workflow-client-bootstrap/SKILL.md +14 -0
  341. agent_toolkit/data/skills/forge/workflow-generic-project/SKILL.md +14 -0
  342. agent_toolkit/data/skills/forge/worktree/SKILL.md +113 -0
  343. agent_toolkit/data/skills/integrations/clickup-cli/SKILL.md +78 -0
  344. agent_toolkit/data/skills/integrations/clickup-cli/references/docs-management.md +57 -0
  345. agent_toolkit/data/skills/integrations/clickup-cli/references/task-management.md +131 -0
  346. agent_toolkit/data/skills/integrations/clickup-cli/references/time-tracking.md +38 -0
  347. agent_toolkit/data/skills/integrations/linear/LICENSE.txt +202 -0
  348. agent_toolkit/data/skills/integrations/linear/NOTICE.txt +23 -0
  349. agent_toolkit/data/skills/integrations/linear/SKILL.md +134 -0
  350. agent_toolkit/data/skills/integrations/mcp/SKILL.md +88 -0
  351. agent_toolkit/data/skills/integrations/slack-assistant/SKILL.md +138 -0
  352. agent_toolkit/data/skills/integrations/slack-cli/SKILL.md +109 -0
  353. agent_toolkit/data/skills/integrations/slack-cli/references/INSTALLATION.md +42 -0
  354. agent_toolkit/data/skills/loops/loop-runner/SKILL.md +92 -0
  355. agent_toolkit/data/skills/ops/docs-generator/SKILL.md +120 -0
  356. agent_toolkit/data/skills/ops/llm-cost-advisor/SKILL.md +87 -0
  357. agent_toolkit/data/skills/ops/swarm/SKILL.md +108 -0
  358. agent_toolkit/data/skills/ops/swarm-handoff/SKILL.md +112 -0
  359. agent_toolkit/data/skills/ops/swarm-observer/SKILL.md +102 -0
  360. agent_toolkit/data/skills/ops/triage/SKILL.md +119 -0
  361. agent_toolkit/data/skills/quality/codeql/SKILL.md +106 -0
  362. agent_toolkit/data/skills/quality/codeql/references/codeql-queries.md +43 -0
  363. agent_toolkit/data/skills/quality/megalinter/SKILL.md +162 -0
  364. agent_toolkit/data/skills/quality/megalinter/references/megalinter-images.md +36 -0
  365. agent_toolkit/data/skills/quality/megalinter/references/megalinter-license.md +41 -0
  366. agent_toolkit/data/skills/quality/megalinter/references/megalinter-targets.md +66 -0
  367. agent_toolkit/data/skills/tooling/chrome-devtools/SKILL.md +146 -0
  368. agent_toolkit/data/skills/tooling/herdr/SKILL.md +109 -0
  369. agent_toolkit/data/skills/tooling/inventory/SKILL.md +81 -0
  370. agent_toolkit/data/skills/tooling/jupyter-notebook/LICENSE.txt +201 -0
  371. agent_toolkit/data/skills/tooling/jupyter-notebook/NOTICE.txt +27 -0
  372. agent_toolkit/data/skills/tooling/jupyter-notebook/SKILL.md +145 -0
  373. agent_toolkit/data/skills/tooling/jupyter-notebook/assets/experiment-template.ipynb +117 -0
  374. agent_toolkit/data/skills/tooling/jupyter-notebook/assets/tutorial-template.ipynb +115 -0
  375. agent_toolkit/data/skills/tooling/jupyter-notebook/references/experiment-patterns.md +10 -0
  376. agent_toolkit/data/skills/tooling/jupyter-notebook/references/notebook-structure.md +17 -0
  377. agent_toolkit/data/skills/tooling/jupyter-notebook/references/quality-checklist.md +11 -0
  378. agent_toolkit/data/skills/tooling/jupyter-notebook/references/tutorial-patterns.md +9 -0
  379. agent_toolkit/data/skills/tooling/jupyter-notebook/scripts/new_notebook.py +132 -0
  380. agent_toolkit/data/skills/tooling/mermaid/SKILL.md +36 -0
  381. agent_toolkit/data/skills/tooling/playwright-cli/LICENSE.txt +201 -0
  382. agent_toolkit/data/skills/tooling/playwright-cli/NOTICE.txt +29 -0
  383. agent_toolkit/data/skills/tooling/playwright-cli/SKILL.md +154 -0
  384. agent_toolkit/data/skills/tooling/playwright-cli/references/cli.md +116 -0
  385. agent_toolkit/data/skills/tooling/playwright-cli/references/workflows.md +98 -0
  386. agent_toolkit/data/skills/tooling/playwright-cli/scripts/executable_playwright_cli.sh +25 -0
  387. agent_toolkit/data_cache.py +79 -0
  388. agent_toolkit/data_sync.py +144 -0
  389. agent_toolkit/installer/__init__.py +0 -0
  390. agent_toolkit/installer/merge.py +59 -0
  391. agent_toolkit/installer/receipt.py +89 -0
  392. agent_toolkit/installer/sources.py +92 -0
  393. agent_toolkit/installer/tracking.py +63 -0
  394. agent_toolkit/launcher.py +69 -0
  395. agent_toolkit/loop/__init__.py +0 -0
  396. agent_toolkit/loop/budget.py +107 -0
  397. agent_toolkit/loop/gh_gate.py +923 -0
  398. agent_toolkit/loop/loop-gh-gate +923 -0
  399. agent_toolkit/loop/pack.py +65 -0
  400. agent_toolkit/loop/runner.py +2722 -0
  401. agent_toolkit/runner/__init__.py +0 -0
  402. agent_toolkit/runner/dispatcher.py +163 -0
  403. agent_toolkit/runner/policy.py +356 -0
  404. agent_toolkit/runner/providers/__init__.py +21 -0
  405. agent_toolkit/runner/providers/anthropic_provider.py +109 -0
  406. agent_toolkit/runner/providers/base.py +53 -0
  407. agent_toolkit/runner/providers/ollama_provider.py +108 -0
  408. agent_toolkit/runner/providers/openai_provider.py +103 -0
  409. agent_toolkit/runner/providers/opencode_provider.py +127 -0
  410. agent_toolkit/swarm/__init__.py +5 -0
  411. agent_toolkit/swarm/approvals.py +121 -0
  412. agent_toolkit/swarm/backends/__init__.py +596 -0
  413. agent_toolkit/swarm/budget.py +83 -0
  414. agent_toolkit/swarm/cli.py +2448 -0
  415. agent_toolkit/swarm/config.py +351 -0
  416. agent_toolkit/swarm/handoff.py +174 -0
  417. agent_toolkit/swarm/models.py +230 -0
  418. agent_toolkit/swarm/prompts.py +177 -0
  419. agent_toolkit/swarm/recipes.py +304 -0
  420. agent_toolkit/swarm/runner.py +267 -0
  421. agent_toolkit/swarm/state.py +93 -0
  422. agent_toolkit/swarm/store.py +148 -0
  423. agent_toolkit/swarm/worktree.py +105 -0
  424. agent_toolkit/templates/workspace/.gitignore +19 -0
  425. agent_toolkit/templates/workspace/AGENTS.md +82 -0
  426. agent_toolkit/templates/workspace/knowledge/README.md +22 -0
  427. agent_toolkit/templates/workspace/knowledge/learnings/general.md +3 -0
  428. agent_toolkit/templates/workspace/knowledge/todos/pending.md +7 -0
  429. agent_toolkit/templates/workspace/packs/README.md +24 -0
  430. agent_toolkit/templates/workspace/personas/architect.md +12 -0
  431. agent_toolkit/templates/workspace/personas/implementer.md +12 -0
  432. agent_toolkit/templates/workspace/personas/researcher.md +12 -0
  433. agent_toolkit/templates/workspace/personas/reviewer.md +12 -0
  434. agent_toolkit_cli-1.11.0.dist-info/METADATA +363 -0
  435. agent_toolkit_cli-1.11.0.dist-info/RECORD +438 -0
  436. agent_toolkit_cli-1.11.0.dist-info/WHEEL +4 -0
  437. agent_toolkit_cli-1.11.0.dist-info/entry_points.txt +4 -0
  438. agent_toolkit_cli-1.11.0.dist-info/licenses/LICENSE +21 -0
@@ -0,0 +1,4 @@
1
+ """agent-toolkit: Composable AI agent capabilities for all major AI coding tools."""
2
+
3
+ __version__ = "1.11.0"
4
+ __author__ = "ulises-jeremias"
@@ -0,0 +1,5 @@
1
+ """agent-toolkit — run as python -m agent_toolkit (thin V launcher, ADR-021)."""
2
+
3
+ from agent_toolkit.launcher import main
4
+
5
+ main()
@@ -0,0 +1,145 @@
1
+ """Shared toolkit path resolution — works in both editable and wheel installs."""
2
+
3
+ from __future__ import annotations
4
+
5
+ import os
6
+ from pathlib import Path
7
+
8
+
9
+ def _offline_mode() -> bool:
10
+ return os.environ.get("AGENT_TOOLKIT_OFFLINE", "").strip().lower() in ("1", "true", "yes")
11
+
12
+
13
+ def _bundled_data_paths() -> list[Path]:
14
+ paths: list[Path] = []
15
+ try:
16
+ import importlib.resources as _ir
17
+
18
+ paths.append(Path(str(_ir.files("agent_toolkit").joinpath("data"))))
19
+ except (ImportError, TypeError, ModuleNotFoundError, FileNotFoundError):
20
+ pass
21
+
22
+ pkg_dir = Path(__file__).resolve().parent
23
+ paths.append(pkg_dir / "data")
24
+ return paths
25
+
26
+
27
+ def _is_data_root(path: Path) -> bool:
28
+ return path.is_dir() and (path / "profiles").is_dir()
29
+
30
+
31
+ def find_toolkit_root(*, offline: bool | None = None) -> Path:
32
+ """
33
+ Locate the agent-toolkit root directory (where skills/, loops/, profiles/ live).
34
+
35
+ Resolution order:
36
+ 1. AGENT_TOOLKIT_ROOT / AI_WORKSPACE env var (user override)
37
+ 2. importlib.resources / package data (wheel install)
38
+ 3. XDG cache (~/.local/share/agent-toolkit/data) or first-run GitHub download
39
+ 4. Walk up from module file (editable install)
40
+ 5. CWD fallback
41
+
42
+ Raises EnvironmentError if no root can be found with required subdirs.
43
+ """
44
+ offline = _offline_mode() if offline is None else offline
45
+
46
+ for env in ("AGENT_TOOLKIT_ROOT", "AI_WORKSPACE"):
47
+ val = os.environ.get(env, "").strip()
48
+ if val:
49
+ p = Path(val)
50
+ if (p / "skills").is_dir() or (p / "loops").is_dir() or _is_data_root(p):
51
+ return p
52
+
53
+ for data_path in _bundled_data_paths():
54
+ if _is_data_root(data_path):
55
+ return data_path
56
+
57
+ # 2b. XDG cache (GitHub Release download on first run — see data_cache.py)
58
+ if os.environ.get("AGENT_TOOLKIT_OFFLINE", "").strip() not in ("1", "true", "yes"):
59
+ try:
60
+ from agent_toolkit.data_cache import ensure_cached_data
61
+
62
+ cached = ensure_cached_data(offline=False)
63
+ if cached and (cached / "profiles").is_dir():
64
+ return cached
65
+ except Exception:
66
+ pass
67
+ else:
68
+ cache_home = Path(os.environ.get("XDG_CACHE_HOME", str(Path.home() / ".cache")))
69
+ cached_data = cache_home / "agent-toolkit"
70
+ if (cached_data / "profiles").is_dir():
71
+ return cached_data
72
+
73
+ # 2c. Direct path relative to the package (uvx / pip installs)
74
+ pkg_dir = Path(__file__).resolve().parent # .../site-packages/agent_toolkit/
75
+ data_dir = pkg_dir / "data"
76
+ if data_dir.is_dir() and (data_dir / "profiles").is_dir():
77
+ return data_dir
78
+
79
+ here = Path(__file__).resolve()
80
+ for parent in here.parents:
81
+ if (parent / "skills").is_dir() and (parent / "loops").is_dir():
82
+ return parent
83
+
84
+ cwd = Path.cwd()
85
+ if (cwd / "skills").is_dir() or (cwd / "loops").is_dir():
86
+ return cwd
87
+
88
+ hint = (
89
+ "Set AGENT_TOOLKIT_ROOT to your agent-toolkit checkout, "
90
+ "or run without --offline to download data on first use."
91
+ )
92
+ if offline:
93
+ hint = (
94
+ "Offline mode: bundled/cache data missing. "
95
+ "Install the full wheel or populate ~/.local/share/agent-toolkit/data."
96
+ )
97
+ raise EnvironmentError(f"Cannot locate agent-toolkit data directory.\n{hint}")
98
+
99
+
100
+ _root: Path | None = None
101
+
102
+
103
+ def reset_toolkit_root() -> None:
104
+ """Clear cached toolkit root (e.g. after toggling offline mode)."""
105
+ global _root
106
+ _root = None
107
+
108
+
109
+ def toolkit_root(*, offline: bool | None = None) -> Path:
110
+ """Cached toolkit root."""
111
+ global _root
112
+ if _root is None or offline is not None:
113
+ resolved = find_toolkit_root(offline=offline)
114
+ if offline is None:
115
+ _root = resolved
116
+ return resolved
117
+ return _root
118
+
119
+
120
+ def find_workspace_root(*, override: str | None = None) -> Path | None:
121
+ """Locate the user harness / AI workspace root (not toolkit package data).
122
+
123
+ Resolution order (#207):
124
+ 1. Explicit override (CLI ``--workspace``)
125
+ 2. ``AGENT_TOOLKIT_WORKSPACE``
126
+ 3. ``HARNESS_DIR`` (agentic-harness compatibility)
127
+ 4. Walk up from CWD for ``AGENTS.md`` or ``knowledge/``
128
+ """
129
+ if override:
130
+ p = Path(override).expanduser().resolve()
131
+ return p if p.is_dir() else None
132
+
133
+ for env in ("AGENT_TOOLKIT_WORKSPACE", "HARNESS_DIR"):
134
+ val = os.environ.get(env, "").strip()
135
+ if val:
136
+ p = Path(val).expanduser().resolve()
137
+ if p.is_dir():
138
+ return p
139
+
140
+ current = Path.cwd()
141
+ for candidate in [current, *current.parents]:
142
+ if (candidate / "AGENTS.md").exists() or (candidate / "knowledge").is_dir():
143
+ return candidate
144
+
145
+ return None
File without changes
Binary file
File without changes
@@ -0,0 +1,5 @@
1
+ """Python CLI fallback — python -m agent_toolkit.cli (ADR-021)."""
2
+
3
+ from agent_toolkit.cli.main import main
4
+
5
+ main()
@@ -0,0 +1,278 @@
1
+ """
2
+ build — Compile canonical capabilities into target-specific artifacts.
3
+
4
+ Usage:
5
+ agent-toolkit build [--target TARGET] [--product PRODUCT] [--check] [--output DIR]
6
+
7
+ Options:
8
+ --target TARGET Target platform (claude-code, cursor, etc.)
9
+ --product PRODUCT Product ID to compile (agent-toolkit-core, etc.)
10
+ --check Dry-run: validate without writing files
11
+ --output DIR Output directory (default: plugins/)
12
+ --json Output results as JSON
13
+ --help Show this help
14
+
15
+ Examples:
16
+ agent-toolkit build --target claude-code --product agent-toolkit-core
17
+ agent-toolkit build --check
18
+ agent-toolkit inventory
19
+ agent-toolkit matrix
20
+ """
21
+
22
+ from __future__ import annotations
23
+
24
+ import json
25
+ import sys
26
+ import sys as _sys
27
+ from pathlib import Path
28
+
29
+ from agent_toolkit._paths import toolkit_root
30
+
31
+ if _sys.platform == "win32":
32
+ try:
33
+ _sys.stdout.reconfigure(encoding="utf-8", errors="replace")
34
+ _sys.stderr.reconfigure(encoding="utf-8", errors="replace")
35
+ except Exception:
36
+ pass
37
+
38
+
39
+ def _find_repo_root() -> Path:
40
+ """Find the repo root (where distributions/ lives)."""
41
+ root = toolkit_root()
42
+ # Prefer root with distributions/ directory
43
+ if (root / "distributions").is_dir():
44
+ return root
45
+ # Try package data parent
46
+ if (root.parent / "distributions").is_dir():
47
+ return root.parent
48
+ return root
49
+
50
+
51
+ def cmd_build(args: list[str]) -> int:
52
+ """Build canonical capabilities into target-native artifacts."""
53
+ import argparse
54
+
55
+ parser = argparse.ArgumentParser(prog="agent-toolkit build", add_help=False)
56
+ parser.add_argument("--target", default=None)
57
+ parser.add_argument("--product", default=None)
58
+ parser.add_argument("--check", action="store_true")
59
+ parser.add_argument("--output", default=None)
60
+ parser.add_argument("--json", dest="json_out", action="store_true")
61
+ parser.add_argument("--help", "-h", action="store_true")
62
+
63
+ parsed, _ = parser.parse_known_args(args)
64
+
65
+ if parsed.help:
66
+ print(__doc__)
67
+ return 0
68
+
69
+ repo_root = _find_repo_root()
70
+ json_mode = parsed.json_out
71
+
72
+ def _say(*args, **kwargs):
73
+ if not json_mode:
74
+ print(*args, **kwargs)
75
+
76
+ try:
77
+ from agent_toolkit.compiler.loader import load_graph
78
+ except ImportError as e:
79
+ print(f" ✗ Compiler not available: {e}", file=sys.stderr)
80
+ return 1
81
+
82
+ _say("\nLoading canonical graph...")
83
+ graph = load_graph(repo_root)
84
+
85
+ if graph.errors:
86
+ print(f" ✗ {len(graph.errors)} error(s) loading canonical sources:", file=sys.stderr)
87
+ for err in graph.errors:
88
+ print(f" {err}", file=sys.stderr)
89
+ return 1
90
+
91
+ if graph.warnings:
92
+ for w in graph.warnings:
93
+ _say(f" ⚠ {w}")
94
+
95
+ _say(
96
+ f" ✓ {len(graph.skills)} skills, {len(graph.agents)} agents, "
97
+ f"{len(graph.products)} products loaded"
98
+ )
99
+
100
+ # Select products to build
101
+ products_to_build = list(graph.products.values())
102
+ if parsed.product:
103
+ if parsed.product not in graph.products:
104
+ print(f" ✗ Product '{parsed.product}' not found", file=sys.stderr)
105
+ print(f" Available: {', '.join(graph.products)}", file=sys.stderr)
106
+ return 1
107
+ products_to_build = [graph.products[parsed.product]]
108
+
109
+ # Select targets
110
+ available_targets = {
111
+ "claude-code",
112
+ "cursor",
113
+ "opencode",
114
+ "gemini-cli",
115
+ "copilot-cli",
116
+ "copilot-repository",
117
+ "pi",
118
+ "windsurf",
119
+ "codex",
120
+ "muse-code",
121
+ "muse",
122
+ } # expand as adapters are added
123
+ targets_to_build = [parsed.target] if parsed.target else list(available_targets)
124
+
125
+ for t in targets_to_build:
126
+ if t not in available_targets:
127
+ print(
128
+ f" ✗ Unknown target '{t}'. Available: {', '.join(sorted(available_targets))}",
129
+ file=sys.stderr,
130
+ )
131
+ return 1
132
+
133
+ output_dir = Path(parsed.output) if parsed.output else repo_root / "plugins"
134
+ mode = "check" if parsed.check else "build"
135
+ _say(f"\nMode: {mode} Output: {output_dir}\n")
136
+
137
+ all_results = []
138
+ exit_code = 0
139
+
140
+ for target_id in targets_to_build:
141
+ adapter = _get_adapter(target_id, output_dir, repo_root)
142
+ if adapter is None:
143
+ _say(f" ⚠ No adapter for target '{target_id}' — skipping")
144
+ continue
145
+
146
+ for product in products_to_build:
147
+ _say(f" Building {product.id} → {target_id}...")
148
+ adapter._provenance_records = []
149
+ if parsed.check:
150
+ result = adapter.check(graph, product)
151
+ else:
152
+ result = adapter.compile(graph, product)
153
+ if hasattr(adapter, "_finalize_provenance"):
154
+ adapter._finalize_provenance(product, result)
155
+
156
+ all_results.append(result)
157
+ _say(result.report())
158
+ _say()
159
+
160
+ if not result.is_valid:
161
+ exit_code = 1
162
+
163
+ if json_mode:
164
+ out = [
165
+ {
166
+ "target": r.target,
167
+ "product": r.product,
168
+ "emitted": r.emitted,
169
+ "transformed": r.transformed,
170
+ "omitted": r.omitted,
171
+ "unsupported": r.unsupported,
172
+ "warnings": r.warnings,
173
+ "errors": r.errors,
174
+ "artifacts": [str(a) for a in r.artifacts],
175
+ }
176
+ for r in all_results
177
+ ]
178
+ print(json.dumps(out, indent=2))
179
+
180
+ return exit_code
181
+
182
+
183
+ def cmd_inventory(args: list[str]) -> int:
184
+ """List all canonical capabilities."""
185
+ repo_root = _find_repo_root()
186
+ from agent_toolkit.compiler.loader import load_graph
187
+
188
+ graph = load_graph(repo_root)
189
+
190
+ print("\n═══ agent-toolkit Inventory ═══\n")
191
+
192
+ # Skills by domain
193
+ by_domain: dict[str, list] = {}
194
+ for skill in sorted(graph.skills.values(), key=lambda s: s.id):
195
+ by_domain.setdefault(skill.domain, []).append(skill)
196
+
197
+ print(f"Skills: {len(graph.skills)} across {len(by_domain)} domains\n")
198
+ for domain, skills in sorted(by_domain.items()):
199
+ print(f" {domain}/ ({len(skills)})")
200
+ for s in skills:
201
+ desc = s.description[:60] + "…" if len(s.description) > 60 else s.description
202
+ print(f" ✓ {s.name:<40} {desc}")
203
+
204
+ print(f"\nAgents: {len(graph.agents)}")
205
+ for agent in sorted(graph.agents.values(), key=lambda a: a.name):
206
+ desc = agent.description[:60] + "…" if len(agent.description) > 60 else agent.description
207
+ print(f" ✓ {agent.name:<40} {desc}")
208
+
209
+ print(f"\nProducts: {len(graph.products)}")
210
+ for product in sorted(graph.products.values(), key=lambda p: p.id):
211
+ print(f" ✓ {product.id}")
212
+ print(
213
+ f" skills: {len(product.included_skills)} agents: {len(product.included_agents)}"
214
+ )
215
+
216
+ if graph.errors:
217
+ print(f"\nErrors: {len(graph.errors)}")
218
+ for e in graph.errors:
219
+ print(f" ✗ {e}")
220
+
221
+ return 0
222
+
223
+
224
+ def cmd_matrix(args: list[str]) -> int:
225
+ """Show platform capability matrix from research docs."""
226
+ AT = _find_repo_root()
227
+ matrix_path = AT / "docs" / "research" / "platform-capability-matrix.md"
228
+ if matrix_path.exists():
229
+ print(matrix_path.read_text())
230
+ else:
231
+ print("Matrix not found. Run the research pipeline first.")
232
+ print(f"Expected at: {matrix_path}")
233
+ return 0
234
+
235
+
236
+ def _get_adapter(target_id: str, output_dir: Path, repo_root: Path):
237
+ """Return the adapter for a given target ID."""
238
+ if target_id == "claude-code":
239
+ from agent_toolkit.compiler.targets.claude_code import ClaudeCodeAdapter
240
+
241
+ return ClaudeCodeAdapter(output_dir, repo_root)
242
+ if target_id == "cursor":
243
+ from agent_toolkit.compiler.targets.cursor import CursorAdapter
244
+
245
+ return CursorAdapter(output_dir, repo_root)
246
+ if target_id in ("gemini-cli", "gemini"):
247
+ from agent_toolkit.compiler.targets.gemini_cli import GeminiCLIAdapter
248
+
249
+ return GeminiCLIAdapter(output_dir, repo_root)
250
+ if target_id in ("copilot-cli", "copilot"):
251
+ from agent_toolkit.compiler.targets.copilot import CopilotCLIAdapter
252
+
253
+ return CopilotCLIAdapter(output_dir, repo_root)
254
+ if target_id == "copilot-repository":
255
+ from agent_toolkit.compiler.targets.copilot import CopilotRepositoryAdapter
256
+
257
+ return CopilotRepositoryAdapter(output_dir, repo_root)
258
+ if target_id == "pi":
259
+ from agent_toolkit.compiler.targets.pi import PiAdapter
260
+
261
+ return PiAdapter(output_dir, repo_root)
262
+ if target_id == "windsurf":
263
+ from agent_toolkit.compiler.targets.windsurf import WindsurfAdapter
264
+
265
+ return WindsurfAdapter(output_dir, repo_root)
266
+ if target_id == "codex":
267
+ from agent_toolkit.compiler.targets.codex import CodexAdapter
268
+
269
+ return CodexAdapter(output_dir, repo_root)
270
+ if target_id == "opencode":
271
+ from agent_toolkit.compiler.targets.opencode import OpenCodeAdapter
272
+
273
+ return OpenCodeAdapter(output_dir, repo_root)
274
+ if target_id in ("muse-code", "muse"):
275
+ from agent_toolkit.compiler.targets.muse_code import MuseCodeAdapter
276
+
277
+ return MuseCodeAdapter(output_dir, repo_root)
278
+ return None