@aiwg/cli 0.0.0-bootstrap.0 → 2026.7.18

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 (467) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +22 -1
  3. package/bin/aiwg.mjs +349 -0
  4. package/dist/src/a2a/agent-card.js +145 -0
  5. package/dist/src/a2a/client.js +411 -0
  6. package/dist/src/a2a/hitl-cli.js +171 -0
  7. package/dist/src/a2a/hitl-driver.js +370 -0
  8. package/dist/src/a2a/hitl.js +181 -0
  9. package/dist/src/a2a/http.js +193 -0
  10. package/dist/src/a2a/jcs.js +128 -0
  11. package/dist/src/a2a/jws.js +187 -0
  12. package/dist/src/a2a/types.js +24 -0
  13. package/dist/src/a2a/webhook.js +240 -0
  14. package/dist/src/activity-log/cli.js +348 -0
  15. package/dist/src/activity-log/parser.js +81 -0
  16. package/dist/src/activity-log/types.js +50 -0
  17. package/dist/src/agents/agent-deployer.js +367 -0
  18. package/dist/src/agents/agent-packager.js +271 -0
  19. package/dist/src/agents/agent-validator.js +271 -0
  20. package/dist/src/agents/grounding/knowledge-base.js +161 -0
  21. package/dist/src/agents/grounding/types.js +12 -0
  22. package/dist/src/agents/index.js +10 -0
  23. package/dist/src/agents/packaged-agent-inventory.js +75 -0
  24. package/dist/src/agents/types.js +7 -0
  25. package/dist/src/api/index.d.ts +10 -0
  26. package/dist/src/api/index.js +10 -0
  27. package/dist/src/artifacts/address-parser.js +73 -0
  28. package/dist/src/artifacts/audit/cli.js +183 -0
  29. package/dist/src/artifacts/audit/drift.js +122 -0
  30. package/dist/src/artifacts/audit/types.js +12 -0
  31. package/dist/src/artifacts/backends/graphology-backend.js +160 -0
  32. package/dist/src/artifacts/backends/json-backend.js +129 -0
  33. package/dist/src/artifacts/backends/sqlite-backend.js +199 -0
  34. package/dist/src/artifacts/browser-export.js +622 -0
  35. package/dist/src/artifacts/capability-resolver.js +94 -0
  36. package/dist/src/artifacts/checksum-manifest.js +91 -0
  37. package/dist/src/artifacts/citation-parser.js +162 -0
  38. package/dist/src/artifacts/cli.js +1486 -0
  39. package/dist/src/artifacts/corpus-tools/citation-densify.js +311 -0
  40. package/dist/src/artifacts/corpus-tools/cli.js +393 -0
  41. package/dist/src/artifacts/corpus-tools/corpus-graph.js +225 -0
  42. package/dist/src/artifacts/corpus-tools/curator.js +186 -0
  43. package/dist/src/artifacts/corpus-tools/discovery-log.js +70 -0
  44. package/dist/src/artifacts/corpus-tools/funder-network.js +141 -0
  45. package/dist/src/artifacts/corpus-tools/induction-audit.js +233 -0
  46. package/dist/src/artifacts/corpus-tools/integrity-scan.js +202 -0
  47. package/dist/src/artifacts/corpus-tools/profile-communities.js +166 -0
  48. package/dist/src/artifacts/corpus-tools/profile-edges.js +72 -0
  49. package/dist/src/artifacts/corpus-tools/profile-embed.js +113 -0
  50. package/dist/src/artifacts/corpus-tools/profile-generate-fm.js +167 -0
  51. package/dist/src/artifacts/corpus-tools/profile-generate.js +181 -0
  52. package/dist/src/artifacts/corpus-tools/profile-metrics.js +98 -0
  53. package/dist/src/artifacts/corpus-tools/profile-status.js +86 -0
  54. package/dist/src/artifacts/corpus-tools/profile-temporal.js +139 -0
  55. package/dist/src/artifacts/corpus-tools/radar-init.js +93 -0
  56. package/dist/src/artifacts/corpus-tools/radar-report.js +118 -0
  57. package/dist/src/artifacts/corpus-tools/radar-shared.js +189 -0
  58. package/dist/src/artifacts/corpus-tools/radar-status.js +68 -0
  59. package/dist/src/artifacts/corpus-tools/sidecar-lint.js +233 -0
  60. package/dist/src/artifacts/corpus-tools/sidecar-repair.js +277 -0
  61. package/dist/src/artifacts/corpus-tools/snapshot.js +591 -0
  62. package/dist/src/artifacts/corpus-tools/source-types.js +164 -0
  63. package/dist/src/artifacts/corpus-tools/vision-extract.js +243 -0
  64. package/dist/src/artifacts/corpus-views/build.js +126 -0
  65. package/dist/src/artifacts/corpus-views/corpus-config.js +124 -0
  66. package/dist/src/artifacts/corpus-views/ref-parser.js +437 -0
  67. package/dist/src/artifacts/corpus-views/renderers.js +353 -0
  68. package/dist/src/artifacts/corpus-views/taxonomies.js +131 -0
  69. package/dist/src/artifacts/dep-graph.js +173 -0
  70. package/dist/src/artifacts/discover-facets.js +375 -0
  71. package/dist/src/artifacts/embedding-index.js +354 -0
  72. package/dist/src/artifacts/enrichment/cli.js +240 -0
  73. package/dist/src/artifacts/enrichment/prompt.js +47 -0
  74. package/dist/src/artifacts/enrichment/store.js +90 -0
  75. package/dist/src/artifacts/enrichment/types.js +12 -0
  76. package/dist/src/artifacts/fortemi-core-query-adapter.js +475 -0
  77. package/dist/src/artifacts/fortemi-core-sync.js +251 -0
  78. package/dist/src/artifacts/fortemi-shard-export.js +44 -0
  79. package/dist/src/artifacts/fulltext.js +108 -0
  80. package/dist/src/artifacts/graph-backend.js +51 -0
  81. package/dist/src/artifacts/graph-query.js +247 -0
  82. package/dist/src/artifacts/hybrid-query.js +225 -0
  83. package/dist/src/artifacts/index-builder.js +1089 -0
  84. package/dist/src/artifacts/index-reader.js +112 -0
  85. package/dist/src/artifacts/index-status.js +193 -0
  86. package/dist/src/artifacts/legacy-index-migration.js +169 -0
  87. package/dist/src/artifacts/move.js +154 -0
  88. package/dist/src/artifacts/operational-state.js +239 -0
  89. package/dist/src/artifacts/prebuilt-build-lock.js +49 -0
  90. package/dist/src/artifacts/query-engine.js +1955 -0
  91. package/dist/src/artifacts/source-graph.js +529 -0
  92. package/dist/src/artifacts/stats.js +169 -0
  93. package/dist/src/artifacts/types.js +606 -0
  94. package/dist/src/artifacts/views/cli.js +293 -0
  95. package/dist/src/artifacts/views/definition.js +170 -0
  96. package/dist/src/artifacts/views/store.js +149 -0
  97. package/dist/src/artifacts/views/types.js +8 -0
  98. package/dist/src/artifacts/watcher.js +255 -0
  99. package/dist/src/catalog/builtin-models.json +636 -0
  100. package/dist/src/catalog/cli.js +228 -0
  101. package/dist/src/catalog/cli.mjs +289 -0
  102. package/dist/src/catalog/index.js +15 -0
  103. package/dist/src/catalog/loader.js +217 -0
  104. package/dist/src/catalog/loader.mjs +251 -0
  105. package/dist/src/catalog/sources.json +41 -0
  106. package/dist/src/catalog/types.js +8 -0
  107. package/dist/src/channel/manager.mjs +504 -0
  108. package/dist/src/cli/agent-spawn.js +178 -0
  109. package/dist/src/cli/cli-extension-loader.js +245 -0
  110. package/dist/src/cli/command-log.js +275 -0
  111. package/dist/src/cli/config-loader.js +232 -0
  112. package/dist/src/cli/env.js +82 -0
  113. package/dist/src/cli/errors.js +150 -0
  114. package/dist/src/cli/find-package-root.js +40 -0
  115. package/dist/src/cli/git-hooks.js +250 -0
  116. package/dist/src/cli/handlers/agentcard.js +206 -0
  117. package/dist/src/cli/handlers/artifacts.js +76 -0
  118. package/dist/src/cli/handlers/best-practices-audit.js +280 -0
  119. package/dist/src/cli/handlers/cockpit.js +137 -0
  120. package/dist/src/cli/handlers/command-log.js +37 -0
  121. package/dist/src/cli/handlers/daemon.js +59 -0
  122. package/dist/src/cli/handlers/diagnose.js +300 -0
  123. package/dist/src/cli/handlers/execution-mode.js +105 -0
  124. package/dist/src/cli/handlers/feedback.js +341 -0
  125. package/dist/src/cli/handlers/help.js +147 -0
  126. package/dist/src/cli/handlers/index.js +302 -0
  127. package/dist/src/cli/handlers/init.js +179 -0
  128. package/dist/src/cli/handlers/install.js +129 -0
  129. package/dist/src/cli/handlers/issues.js +46 -0
  130. package/dist/src/cli/handlers/lint.js +42 -0
  131. package/dist/src/cli/handlers/local-executor.js +315 -0
  132. package/dist/src/cli/handlers/marketplace.js +168 -0
  133. package/dist/src/cli/handlers/mc.js +1010 -0
  134. package/dist/src/cli/handlers/models.js +352 -0
  135. package/dist/src/cli/handlers/packages.js +155 -0
  136. package/dist/src/cli/handlers/ralph-launcher.js +717 -0
  137. package/dist/src/cli/handlers/ralph.js +575 -0
  138. package/dist/src/cli/handlers/refresh.js +432 -0
  139. package/dist/src/cli/handlers/regenerate.js +336 -0
  140. package/dist/src/cli/handlers/repo-access.js +109 -0
  141. package/dist/src/cli/handlers/run.js +165 -0
  142. package/dist/src/cli/handlers/runtime-info.js +301 -0
  143. package/dist/src/cli/handlers/sandbox.js +197 -0
  144. package/dist/src/cli/handlers/scaffolding.js +149 -0
  145. package/dist/src/cli/handlers/script-runner.js +121 -0
  146. package/dist/src/cli/handlers/sdlc-accelerate.js +148 -0
  147. package/dist/src/cli/handlers/serve.js +1835 -0
  148. package/dist/src/cli/handlers/session.js +348 -0
  149. package/dist/src/cli/handlers/setup.js +440 -0
  150. package/dist/src/cli/handlers/skill-lint.js +367 -0
  151. package/dist/src/cli/handlers/skill-usage.js +74 -0
  152. package/dist/src/cli/handlers/steward.js +567 -0
  153. package/dist/src/cli/handlers/subcommands.js +1702 -0
  154. package/dist/src/cli/handlers/team.js +337 -0
  155. package/dist/src/cli/handlers/types.js +11 -0
  156. package/dist/src/cli/handlers/use.js +2772 -0
  157. package/dist/src/cli/handlers/utilities.js +703 -0
  158. package/dist/src/cli/handlers/version.js +134 -0
  159. package/dist/src/cli/handlers/workspace-context.js +93 -0
  160. package/dist/src/cli/handlers/workspace.js +126 -0
  161. package/dist/src/cli/help-generator.js +178 -0
  162. package/dist/src/cli/hooks/builtin/activity-log-hook.js +126 -0
  163. package/dist/src/cli/hooks/executor.js +96 -0
  164. package/dist/src/cli/hooks/index.js +15 -0
  165. package/dist/src/cli/hooks/registry.js +143 -0
  166. package/dist/src/cli/hooks/types.js +13 -0
  167. package/dist/src/cli/log.js +492 -0
  168. package/dist/src/cli/project-isolation/detect.js +70 -0
  169. package/dist/src/cli/project-isolation/index.js +7 -0
  170. package/dist/src/cli/project-isolation/signals.js +17 -0
  171. package/dist/src/cli/project-isolation/warning.js +102 -0
  172. package/dist/src/cli/prompt-utils.js +155 -0
  173. package/dist/src/cli/provider-deployment-plan.js +126 -0
  174. package/dist/src/cli/provider-resolution.js +119 -0
  175. package/dist/src/cli/router.js +305 -0
  176. package/dist/src/cli/scope-resolver.js +392 -0
  177. package/dist/src/cli/skill-usage.js +616 -0
  178. package/dist/src/cli/ui.js +224 -0
  179. package/dist/src/cli/watch-service.js +203 -0
  180. package/dist/src/cli/workflow-orchestrator.js +478 -0
  181. package/dist/src/cli/workspace-signals.js +321 -0
  182. package/dist/src/community/footer.js +14 -0
  183. package/dist/src/community/links.js +123 -0
  184. package/dist/src/community/milestones.js +46 -0
  185. package/dist/src/community/nudge-policy.js +93 -0
  186. package/dist/src/config/aiwg-config.js +883 -0
  187. package/dist/src/config/cli.js +703 -0
  188. package/dist/src/config/gitignore.js +156 -0
  189. package/dist/src/config/project-artifacts.js +76 -0
  190. package/dist/src/config/user-config.js +428 -0
  191. package/dist/src/config/user-registry.js +127 -0
  192. package/dist/src/config/workspace.js +276 -0
  193. package/dist/src/contributors/detect.js +39 -0
  194. package/dist/src/contributors/discover.js +172 -0
  195. package/dist/src/contributors/heuristic.js +186 -0
  196. package/dist/src/contributors/index.js +11 -0
  197. package/dist/src/contributors/types.js +13 -0
  198. package/dist/src/contributors/validation.js +116 -0
  199. package/dist/src/data/community.schema.json +43 -0
  200. package/dist/src/data/community.yaml +16 -0
  201. package/dist/src/extensions/capability-index.js +270 -0
  202. package/dist/src/extensions/claude-hooks-installer.js +268 -0
  203. package/dist/src/extensions/commands/definitions.js +3485 -0
  204. package/dist/src/extensions/deployment-registration.js +463 -0
  205. package/dist/src/extensions/index.js +22 -0
  206. package/dist/src/extensions/loader.js +132 -0
  207. package/dist/src/extensions/managed-marker.js +100 -0
  208. package/dist/src/extensions/manifest.js +196 -0
  209. package/dist/src/extensions/project-local-activity.js +114 -0
  210. package/dist/src/extensions/project-local-discovery.js +261 -0
  211. package/dist/src/extensions/project-local-doctor.js +281 -0
  212. package/dist/src/extensions/project-local-gitignore.js +176 -0
  213. package/dist/src/extensions/project-local-paths.js +121 -0
  214. package/dist/src/extensions/project-local-promote.js +218 -0
  215. package/dist/src/extensions/project-local-remove.js +373 -0
  216. package/dist/src/extensions/project-local-scaffold.js +252 -0
  217. package/dist/src/extensions/project-quickref.js +291 -0
  218. package/dist/src/extensions/registry.js +368 -0
  219. package/dist/src/extensions/shadow-resolver.js +271 -0
  220. package/dist/src/extensions/types.js +86 -0
  221. package/dist/src/extensions/upstream-registry.js +195 -0
  222. package/dist/src/extensions/validation.js +631 -0
  223. package/dist/src/features/catalog.js +88 -0
  224. package/dist/src/features/cli.js +197 -0
  225. package/dist/src/features/installer.js +57 -0
  226. package/dist/src/features/paths.js +14 -0
  227. package/dist/src/features/runtime.js +21 -0
  228. package/dist/src/features/status.js +134 -0
  229. package/dist/src/hooks/laziness-detection.js +532 -0
  230. package/dist/src/intake/git-history-analyzer.js +486 -0
  231. package/dist/src/intake/index.js +9 -0
  232. package/dist/src/issues/cli.js +327 -0
  233. package/dist/src/issues/index.js +5 -0
  234. package/dist/src/issues/live.js +154 -0
  235. package/dist/src/issues/local.js +666 -0
  236. package/dist/src/issues/sync.js +143 -0
  237. package/dist/src/issues/types.js +2 -0
  238. package/dist/src/issues/workflows.js +164 -0
  239. package/dist/src/kb/cli.js +173 -0
  240. package/dist/src/lint/cli.js +171 -0
  241. package/dist/src/lint/loader.js +225 -0
  242. package/dist/src/lint/reporters.js +141 -0
  243. package/dist/src/lint/runner.js +364 -0
  244. package/dist/src/lint/types.js +10 -0
  245. package/dist/src/marketplace/cache.js +110 -0
  246. package/dist/src/marketplace/identifier.js +63 -0
  247. package/dist/src/marketplace/registry.js +36 -0
  248. package/dist/src/marketplace/sources/clawhub.js +53 -0
  249. package/dist/src/marketplace/sources/git.js +45 -0
  250. package/dist/src/marketplace/types.js +9 -0
  251. package/dist/src/mcp/adapters/codex-runtime.js +224 -0
  252. package/dist/src/mcp/cli.mjs +1197 -0
  253. package/dist/src/mcp/elicitation.mjs +149 -0
  254. package/dist/src/mcp/helpers.mjs +287 -0
  255. package/dist/src/mcp/index.mjs +11 -0
  256. package/dist/src/mcp/profiles.js +263 -0
  257. package/dist/src/mcp/profiles.mjs +360 -0
  258. package/dist/src/mcp/registry.js +376 -0
  259. package/dist/src/mcp/registry.mjs +387 -0
  260. package/dist/src/mcp/server.mjs +633 -0
  261. package/dist/src/mcp/test-simple.mjs +271 -0
  262. package/dist/src/mcp/tools/command-run.mjs +101 -0
  263. package/dist/src/mcp/tools/discovery.mjs +291 -0
  264. package/dist/src/mcp/tools/interaction.mjs +87 -0
  265. package/dist/src/mcp/tools/orchestration.mjs +320 -0
  266. package/dist/src/mcp/tools/subsystems.mjs +640 -0
  267. package/dist/src/memory/cli.js +166 -0
  268. package/dist/src/memory/project-registry.js +282 -0
  269. package/dist/src/metrics/artifact-metrics.js +184 -0
  270. package/dist/src/metrics/context-budget.js +174 -0
  271. package/dist/src/metrics/token-counter.js +133 -0
  272. package/dist/src/models/config-loader.js +228 -0
  273. package/dist/src/models/index.js +22 -0
  274. package/dist/src/models/model-capabilities.v1.json +120 -0
  275. package/dist/src/models/model-catalog.v1.json +96 -0
  276. package/dist/src/models/model-discovery.js +521 -0
  277. package/dist/src/models/provider-models.js +73 -0
  278. package/dist/src/models/provider-policy.js +273 -0
  279. package/dist/src/models/resolver.js +245 -0
  280. package/dist/src/models/router.js +70 -0
  281. package/dist/src/models/types.js +8 -0
  282. package/dist/src/models/wrapper-deployment.js +178 -0
  283. package/dist/src/models/wrapper-route.js +54 -0
  284. package/dist/src/ops/cli.js +268 -0
  285. package/dist/src/ops/registry.js +623 -0
  286. package/dist/src/packages/adapters/clawhub.js +113 -0
  287. package/dist/src/packages/adapters/git.js +153 -0
  288. package/dist/src/packages/adapters/gitea.js +93 -0
  289. package/dist/src/packages/adapters/github.js +69 -0
  290. package/dist/src/packages/adapters/local-cache.js +89 -0
  291. package/dist/src/packages/package-registry.js +143 -0
  292. package/dist/src/packages/registry.js +238 -0
  293. package/dist/src/packages/types.js +11 -0
  294. package/dist/src/plugin/cross-framework-ops.js +475 -0
  295. package/dist/src/plugin/framework-config-loader.js +235 -0
  296. package/dist/src/plugin/framework-detector.js +186 -0
  297. package/dist/src/plugin/framework-isolator.js +341 -0
  298. package/dist/src/plugin/framework-migration.js +371 -0
  299. package/dist/src/plugin/metadata-validator.js +906 -0
  300. package/dist/src/plugin/plugin-installer.js +436 -0
  301. package/dist/src/plugin/plugin-status.js +369 -0
  302. package/dist/src/plugin/plugin-uninstaller.js +473 -0
  303. package/dist/src/plugin/registry-validator.js +344 -0
  304. package/dist/src/plugin/skill-command-translator.js +415 -0
  305. package/dist/src/plugin/workspace-creator.js +189 -0
  306. package/dist/src/plugin/workspace-migrator.js +821 -0
  307. package/dist/src/policy/authorization.js +390 -0
  308. package/dist/src/policy/repo-access.js +215 -0
  309. package/dist/src/provenance/cli.js +16 -0
  310. package/dist/src/providers/capability-matrix.js +300 -0
  311. package/dist/src/providers/capability-matrix.yaml +514 -0
  312. package/dist/src/providers/provider-definitions.js +977 -0
  313. package/dist/src/providers/provider-definitions.mjs +159 -0
  314. package/dist/src/providers/provider-inventory.js +169 -0
  315. package/dist/src/quality/feedback-ab.js +174 -0
  316. package/dist/src/quality/feedback-collector.js +176 -0
  317. package/dist/src/quality/feedback-tracker.js +123 -0
  318. package/dist/src/quality/patterns/adr.json +24 -0
  319. package/dist/src/quality/patterns/sad.json +24 -0
  320. package/dist/src/quality/patterns/test-plan.json +24 -0
  321. package/dist/src/quality/patterns/use-case.json +24 -0
  322. package/dist/src/quality/scoring.js +157 -0
  323. package/dist/src/reflections/cli.js +15 -0
  324. package/dist/src/release/plan.js +139 -0
  325. package/dist/src/research/cache/manager.js +227 -0
  326. package/dist/src/research/clients/arxiv.js +156 -0
  327. package/dist/src/research/clients/base.js +197 -0
  328. package/dist/src/research/clients/crossref.js +112 -0
  329. package/dist/src/research/clients/semantic-scholar.js +126 -0
  330. package/dist/src/research/clients/unpaywall.js +87 -0
  331. package/dist/src/research/index.js +14 -0
  332. package/dist/src/research/query-cli.js +336 -0
  333. package/dist/src/research/services/acquisition.js +313 -0
  334. package/dist/src/research/services/archival.js +225 -0
  335. package/dist/src/research/services/citation.js +279 -0
  336. package/dist/src/research/services/discovery.js +243 -0
  337. package/dist/src/research/services/documentation.js +269 -0
  338. package/dist/src/research/services/index.js +14 -0
  339. package/dist/src/research/services/provenance.js +279 -0
  340. package/dist/src/research/services/quality.js +370 -0
  341. package/dist/src/research/services/types.js +7 -0
  342. package/dist/src/research/storage-cli.js +20 -0
  343. package/dist/src/research/types.js +47 -0
  344. package/dist/src/resources/index.d.ts +2 -0
  345. package/dist/src/resources/index.js +2 -0
  346. package/dist/src/resources/web-release.d.ts +89 -0
  347. package/dist/src/resources/web-release.js +886 -0
  348. package/dist/src/rlm/cache/cli.js +162 -0
  349. package/dist/src/rlm/cache/hash.js +35 -0
  350. package/dist/src/rlm/cache/store.js +170 -0
  351. package/dist/src/rlm/cache/types.js +8 -0
  352. package/dist/src/rlm/cli.js +650 -0
  353. package/dist/src/serve/a2a-terminal-observer.js +120 -0
  354. package/dist/src/serve/agent-router.js +205 -0
  355. package/dist/src/serve/dispatch-router.js +171 -0
  356. package/dist/src/serve/executor-registry.js +715 -0
  357. package/dist/src/serve/mission-conductor.js +177 -0
  358. package/dist/src/serve/orchestrator-adapter.js +113 -0
  359. package/dist/src/serve/orchestrator-override.js +94 -0
  360. package/dist/src/serve/orchestrator-pty.js +133 -0
  361. package/dist/src/serve/pty-bridge.js +799 -0
  362. package/dist/src/serve/sandbox-registry.js +832 -0
  363. package/dist/src/serve/screen-reader.js +228 -0
  364. package/dist/src/serve/stack-adapters.js +68 -0
  365. package/dist/src/serve/telemetry.js +143 -0
  366. package/dist/src/skills/adapters/clawhub.js +250 -0
  367. package/dist/src/skills/adapters/local.js +335 -0
  368. package/dist/src/skills/adapters/openclaw.js +316 -0
  369. package/dist/src/skills/cli.js +334 -0
  370. package/dist/src/skills/registry.js +117 -0
  371. package/dist/src/skills/run.js +259 -0
  372. package/dist/src/skills/runtime.js +94 -0
  373. package/dist/src/skills/types.js +10 -0
  374. package/dist/src/smiths/agentsmith/demo.js +116 -0
  375. package/dist/src/smiths/agentsmith/examples.js +300 -0
  376. package/dist/src/smiths/agentsmith/generator.js +503 -0
  377. package/dist/src/smiths/agentsmith/index.js +11 -0
  378. package/dist/src/smiths/agentsmith/types.js +8 -0
  379. package/dist/src/smiths/commandsmith/example.js +220 -0
  380. package/dist/src/smiths/commandsmith/generator.js +288 -0
  381. package/dist/src/smiths/commandsmith/index.js +41 -0
  382. package/dist/src/smiths/commandsmith/templates.js +296 -0
  383. package/dist/src/smiths/commandsmith/types.js +7 -0
  384. package/dist/src/smiths/context-pipeline/aiwg-md.js +104 -0
  385. package/dist/src/smiths/context-pipeline/allowlist.js +195 -0
  386. package/dist/src/smiths/context-pipeline/claude-hook.js +127 -0
  387. package/dist/src/smiths/context-pipeline/discovery.js +187 -0
  388. package/dist/src/smiths/context-pipeline/external-links-section.js +49 -0
  389. package/dist/src/smiths/context-pipeline/finalization.js +147 -0
  390. package/dist/src/smiths/context-pipeline/generator.js +477 -0
  391. package/dist/src/smiths/context-pipeline/index.js +30 -0
  392. package/dist/src/smiths/context-pipeline/legacy-inject.js +103 -0
  393. package/dist/src/smiths/context-pipeline/managed-hook.js +95 -0
  394. package/dist/src/smiths/context-pipeline/overflow.js +212 -0
  395. package/dist/src/smiths/context-pipeline/parallelism-section.js +94 -0
  396. package/dist/src/smiths/context-pipeline/provider-policy.js +64 -0
  397. package/dist/src/smiths/context-pipeline/sanitizer.js +93 -0
  398. package/dist/src/smiths/context-pipeline/types.js +23 -0
  399. package/dist/src/smiths/context-pipeline/workspace-context.js +988 -0
  400. package/dist/src/smiths/hook-bridge/codex-translator.js +129 -0
  401. package/dist/src/smiths/hook-bridge/copilot-translator.js +64 -0
  402. package/dist/src/smiths/hook-bridge/factory-translator.js +43 -0
  403. package/dist/src/smiths/hook-bridge/hermes-translator.js +88 -0
  404. package/dist/src/smiths/hook-bridge/index.js +79 -0
  405. package/dist/src/smiths/hook-bridge/loader.js +116 -0
  406. package/dist/src/smiths/hook-bridge/shim.js +89 -0
  407. package/dist/src/smiths/hook-bridge/types.js +31 -0
  408. package/dist/src/smiths/index.js +39 -0
  409. package/dist/src/smiths/mcpsmith/analyzers/cli-analyzer.js +390 -0
  410. package/dist/src/smiths/mcpsmith/example.js +119 -0
  411. package/dist/src/smiths/mcpsmith/generator.js +236 -0
  412. package/dist/src/smiths/mcpsmith/index.js +17 -0
  413. package/dist/src/smiths/mcpsmith/types.js +10 -0
  414. package/dist/src/smiths/platform-paths.js +101 -0
  415. package/dist/src/smiths/skillsmith/codex-sidecar.js +85 -0
  416. package/dist/src/smiths/skillsmith/collision-detector.js +249 -0
  417. package/dist/src/smiths/skillsmith/demo.js +83 -0
  418. package/dist/src/smiths/skillsmith/examples.js +161 -0
  419. package/dist/src/smiths/skillsmith/generator.js +316 -0
  420. package/dist/src/smiths/skillsmith/index.js +12 -0
  421. package/dist/src/smiths/skillsmith/namespace-adapter.js +180 -0
  422. package/dist/src/smiths/skillsmith/platform-resolver.js +157 -0
  423. package/dist/src/smiths/skillsmith/types.js +9 -0
  424. package/dist/src/smiths/toolsmith/index.js +10 -0
  425. package/dist/src/smiths/toolsmith/runtime-discovery.mjs +710 -0
  426. package/dist/src/smiths/toolsmith/types.js +8 -0
  427. package/dist/src/storage/backends/fortemi.js +227 -0
  428. package/dist/src/storage/backends/fs.js +134 -0
  429. package/dist/src/storage/backends/logseq.js +309 -0
  430. package/dist/src/storage/backends/obsidian.js +233 -0
  431. package/dist/src/storage/cli.js +468 -0
  432. package/dist/src/storage/config.js +272 -0
  433. package/dist/src/storage/index.js +108 -0
  434. package/dist/src/storage/subsystem-cli.js +201 -0
  435. package/dist/src/storage/types.js +33 -0
  436. package/dist/src/testing/corpus/corpus-builder.js +383 -0
  437. package/dist/src/testing/corpus/ground-truth-manager.js +460 -0
  438. package/dist/src/testing/corpus/index.js +10 -0
  439. package/dist/src/testing/fixtures/index.js +9 -0
  440. package/dist/src/testing/fixtures/test-data-factory.js +472 -0
  441. package/dist/src/testing/generators/index.js +11 -0
  442. package/dist/src/testing/generators/test-case-generator.js +393 -0
  443. package/dist/src/testing/generators/test-code-generator.js +384 -0
  444. package/dist/src/testing/generators/use-case-parser.js +325 -0
  445. package/dist/src/testing/index.js +11 -0
  446. package/dist/src/tracker/capability-protocol.js +118 -0
  447. package/dist/src/update/checker.mjs +396 -0
  448. package/dist/src/update/notifier.mjs +235 -0
  449. package/dist/src/writing/content-diversifier.js +804 -0
  450. package/dist/src/writing/example-generator.js +959 -0
  451. package/dist/src/writing/example-templates.js +99 -0
  452. package/dist/src/writing/pattern-library.js +486 -0
  453. package/dist/src/writing/patterns/banned-phrases.json +4413 -0
  454. package/dist/src/writing/patterns/formulaic-structures.json +1300 -0
  455. package/dist/src/writing/patterns/generic-adjectives.json +1510 -0
  456. package/dist/src/writing/patterns/hedging-language.json +2096 -0
  457. package/dist/src/writing/patterns/transition-words.json +1285 -0
  458. package/dist/src/writing/patterns/weak-verbs.json +1112 -0
  459. package/dist/src/writing/prompt-optimizer.js +660 -0
  460. package/dist/src/writing/prompt-templates.js +583 -0
  461. package/dist/src/writing/scoring-config-loader.js +168 -0
  462. package/dist/src/writing/validation-engine.js +595 -0
  463. package/dist/src/writing/validation-rules.js +380 -0
  464. package/dist/src/writing/voice-analyzer.js +439 -0
  465. package/dist/src/writing/voice-calibration.js +661 -0
  466. package/dist/src/writing/voice-profiles.json +588 -0
  467. package/package.json +65 -9
@@ -0,0 +1,334 @@
1
+ /**
2
+ * Skills CLI Commands
3
+ *
4
+ * Provides CLI interface for multi-registry skill operations:
5
+ * - search: Search skills across registries
6
+ * - info: Show detailed skill information
7
+ * - list: List all available skills
8
+ * - install: Install a skill from a registry
9
+ * - publish: Publish a skill to a registry
10
+ *
11
+ * @implements #539
12
+ */
13
+ import { spawn } from 'child_process';
14
+ import { searchSkills, listSkills, getSkillInfo, installSkill, publishSkill, getAllAdapters, } from './registry.js';
15
+ import { parseAgentSpawnFlags, buildAgentArgs, getProviderConfig, isSpawnableProvider, } from '../cli/agent-spawn.js';
16
+ const SUPPORTED_TARGETS = [
17
+ 'claude', 'copilot', 'factory', 'cursor', 'codex', 'opencode',
18
+ 'warp', 'windsurf', 'openclaw', 'openhuman', 'hermes', 'generic',
19
+ ];
20
+ /**
21
+ * Parse --provider and --target flags from args
22
+ */
23
+ function parseFlags(args) {
24
+ const rest = [];
25
+ let provider;
26
+ let target;
27
+ for (let i = 0; i < args.length; i++) {
28
+ if (args[i] === '--provider' && i + 1 < args.length) {
29
+ provider = args[i + 1];
30
+ i++;
31
+ }
32
+ else if (args[i] === '--target' && i + 1 < args.length) {
33
+ target = args[i + 1];
34
+ i++;
35
+ }
36
+ else {
37
+ rest.push(args[i]);
38
+ }
39
+ }
40
+ return { provider, target, rest };
41
+ }
42
+ /**
43
+ * Format skill results as a table
44
+ */
45
+ function displaySkillsTable(skills) {
46
+ if (skills.length === 0) {
47
+ console.log(' No skills found.');
48
+ return;
49
+ }
50
+ // Group by source
51
+ const bySource = new Map();
52
+ for (const skill of skills) {
53
+ const list = bySource.get(skill.source) || [];
54
+ list.push(skill);
55
+ bySource.set(skill.source, list);
56
+ }
57
+ for (const [source, sourceSkills] of bySource) {
58
+ console.log(`\n ${source} (${sourceSkills.length} skills):`);
59
+ console.log(' ' + '-'.repeat(70));
60
+ for (const skill of sourceSkills) {
61
+ const name = skill.name.padEnd(28);
62
+ const pkg = (skill.package || '').padEnd(18);
63
+ const desc = skill.description.slice(0, 40);
64
+ console.log(` ${name} ${pkg} ${desc}`);
65
+ }
66
+ }
67
+ }
68
+ /**
69
+ * Handle 'skills search' command
70
+ */
71
+ async function handleSearch(args) {
72
+ const { provider, rest } = parseFlags(args);
73
+ const query = rest.join(' ');
74
+ if (!query) {
75
+ console.error('Error: Search query required');
76
+ console.log('Usage: aiwg skills search <query> [--provider <registry>]');
77
+ process.exit(1);
78
+ }
79
+ const results = await searchSkills(query, provider);
80
+ console.log('');
81
+ console.log(`Search results for "${query}"${provider ? ` (${provider})` : ''}:`);
82
+ displaySkillsTable(results);
83
+ console.log('');
84
+ console.log(` ${results.length} skill(s) found`);
85
+ console.log('');
86
+ }
87
+ /**
88
+ * Handle 'skills info' command
89
+ */
90
+ async function handleInfo(args) {
91
+ const { provider, rest } = parseFlags(args);
92
+ const name = rest[0];
93
+ if (!name) {
94
+ console.error('Error: Skill name required');
95
+ console.log('Usage: aiwg skills info <name> [--provider <registry>]');
96
+ process.exit(1);
97
+ }
98
+ const details = await getSkillInfo(name, provider);
99
+ if (!details) {
100
+ console.error(`Error: Skill '${name}' not found`);
101
+ console.log("Run 'aiwg skills search <query>' to find skills");
102
+ process.exit(1);
103
+ }
104
+ console.log('');
105
+ console.log(`Skill: ${details.name}`);
106
+ console.log('');
107
+ console.log(`Source: ${details.source}`);
108
+ if (details.package)
109
+ console.log(`Package: ${details.package}`);
110
+ if (details.version)
111
+ console.log(`Version: ${details.version}`);
112
+ console.log(`Description: ${details.description}`);
113
+ if (details.platforms && details.platforms.length > 0) {
114
+ console.log(`Platforms: ${details.platforms.join(', ')}`);
115
+ }
116
+ if (details.triggers && details.triggers.length > 0) {
117
+ console.log('');
118
+ console.log('Triggers:');
119
+ for (const trigger of details.triggers) {
120
+ console.log(` - ${trigger}`);
121
+ }
122
+ }
123
+ if (details.scripts && details.scripts.length > 0) {
124
+ console.log('');
125
+ console.log('Scripts:');
126
+ for (const script of details.scripts) {
127
+ console.log(` - ${script}`);
128
+ }
129
+ }
130
+ if (details.path) {
131
+ console.log('');
132
+ console.log(`Path: ${details.path}`);
133
+ }
134
+ console.log('');
135
+ }
136
+ /**
137
+ * Handle 'skills list' command
138
+ */
139
+ async function handleList(args) {
140
+ const { provider } = parseFlags(args);
141
+ const results = await listSkills(provider);
142
+ console.log('');
143
+ console.log(`Available skills${provider ? ` (${provider})` : ''}:`);
144
+ displaySkillsTable(results);
145
+ console.log('');
146
+ console.log(` ${results.length} skill(s) total`);
147
+ // Show registry availability
148
+ const adapters = getAllAdapters();
149
+ console.log('');
150
+ console.log(' Registries:');
151
+ for (const adapter of adapters) {
152
+ const available = await adapter.isAvailable();
153
+ const status = available ? '\u2713' : '\u2013';
154
+ console.log(` ${status} ${adapter.name} (${adapter.id})`);
155
+ }
156
+ console.log('');
157
+ }
158
+ /**
159
+ * Handle 'skills install' command
160
+ *
161
+ * Supports cross-platform deployment:
162
+ * aiwg skills install <name> --provider <registry> --target <platform>
163
+ *
164
+ * --provider: which registry to pull from (local, clawhub, openclaw)
165
+ * --target: which platform to deploy to (claude, copilot, cursor, etc.)
166
+ * Defaults to claude. Uses platform-aware path translation.
167
+ */
168
+ async function handleInstall(args) {
169
+ const { provider, target, rest } = parseFlags(args);
170
+ const name = rest[0];
171
+ if (!name) {
172
+ console.error('Error: Skill name required');
173
+ console.log('Usage: aiwg skills install <name> [--provider <registry>] [--target <platform>]');
174
+ console.log('');
175
+ console.log('Options:');
176
+ console.log(' --provider Registry to pull from (local, clawhub, openclaw). Default: local');
177
+ console.log(' --target Platform to deploy to (claude, copilot, cursor, etc.). Default: claude');
178
+ console.log('');
179
+ console.log('Examples:');
180
+ console.log(' aiwg skills install parallel-dispatch');
181
+ console.log(' aiwg skills install parallel-dispatch --target copilot');
182
+ console.log(' aiwg skills install my-skill --provider clawhub --target cursor');
183
+ console.log('');
184
+ console.log(`Supported targets: ${SUPPORTED_TARGETS.join(', ')}`);
185
+ process.exit(1);
186
+ }
187
+ const registry = provider || 'local';
188
+ const targetPlatform = target || 'claude';
189
+ if (target && !SUPPORTED_TARGETS.includes(target)) {
190
+ console.error(`Error: Unknown target platform '${target}'`);
191
+ console.log(`Supported: ${SUPPORTED_TARGETS.join(', ')}`);
192
+ process.exit(1);
193
+ }
194
+ try {
195
+ await installSkill(name, { projectDir: process.cwd(), target: targetPlatform }, registry);
196
+ console.log(`Installed skill '${name}' from ${registry} → ${targetPlatform}`);
197
+ }
198
+ catch (error) {
199
+ console.error(`Error: ${error instanceof Error ? error.message : String(error)}`);
200
+ process.exit(1);
201
+ }
202
+ }
203
+ /**
204
+ * Handle 'skills publish' command
205
+ */
206
+ async function handlePublish(args) {
207
+ const { provider, rest } = parseFlags(args);
208
+ const packageDir = rest[0] || process.cwd();
209
+ if (!provider) {
210
+ console.error('Error: --provider required');
211
+ console.log('Usage: aiwg skills publish [dir] --provider <registry>');
212
+ console.log('');
213
+ console.log('Example:');
214
+ console.log(' aiwg skills publish --provider clawhub');
215
+ process.exit(1);
216
+ }
217
+ try {
218
+ await publishSkill(packageDir, provider);
219
+ console.log(`Published skill to ${provider}`);
220
+ }
221
+ catch (error) {
222
+ console.error(`Error: ${error instanceof Error ? error.message : String(error)}`);
223
+ process.exit(1);
224
+ }
225
+ }
226
+ /**
227
+ * Handle 'skills run' command
228
+ *
229
+ * Looks up a skill by name, substitutes $ARGUMENTS, and dispatches
230
+ * the full skill prompt to the configured provider for execution.
231
+ *
232
+ * Always routes through a provider — no local execution fallback.
233
+ *
234
+ * @implements roctinam/aiwg#630
235
+ */
236
+ async function handleRun(args) {
237
+ const { opts, remaining } = parseAgentSpawnFlags(args);
238
+ const skillName = remaining[0];
239
+ const skillArgs = remaining.slice(1);
240
+ if (!skillName) {
241
+ console.error('Error: Skill name required');
242
+ console.log('Usage: aiwg skills run <skill-name> [args...] [--provider <provider>]');
243
+ console.log('');
244
+ console.log('Examples:');
245
+ console.log(' aiwg skills run workspace-health');
246
+ console.log(' aiwg skills run ralph "Fix failing tests" --completion "npm test passes"');
247
+ console.log(' aiwg skills run doc-sync --dry-run --provider claude');
248
+ process.exit(1);
249
+ }
250
+ const details = await getSkillInfo(skillName);
251
+ if (!details) {
252
+ console.error(`Error: Skill '${skillName}' not found`);
253
+ console.log("Run 'aiwg skills list' to see available skills");
254
+ process.exit(1);
255
+ }
256
+ if (!details.content) {
257
+ console.error(`Error: Skill '${skillName}' has no executable content`);
258
+ process.exit(1);
259
+ }
260
+ // Substitute $ARGUMENTS with the provided args
261
+ const argString = skillArgs.join(' ');
262
+ const prompt = details.content.replace(/\$ARGUMENTS/g, argString);
263
+ // Resolve provider — default to claude
264
+ const providerName = opts.provider ?? 'claude';
265
+ if (!isSpawnableProvider(providerName)) {
266
+ const config = getProviderConfig(providerName);
267
+ console.error(`Error: Provider '${config.name}' cannot be spawned from the CLI.`);
268
+ if (config.guidanceMessage) {
269
+ console.log('');
270
+ console.log(config.guidanceMessage);
271
+ }
272
+ process.exit(1);
273
+ }
274
+ const config = getProviderConfig(providerName);
275
+ const spawnArgs = buildAgentArgs(prompt, opts);
276
+ console.log(`Running skill '${skillName}' via ${config.name}...`);
277
+ console.log('');
278
+ const child = spawn(config.binary, spawnArgs, { stdio: 'inherit' });
279
+ child.on('error', (err) => {
280
+ console.error(`Error: Failed to spawn ${config.binary}: ${err.message}`);
281
+ process.exit(1);
282
+ });
283
+ child.on('close', (code) => {
284
+ process.exit(code ?? 1);
285
+ });
286
+ }
287
+ /**
288
+ * Main skills command router
289
+ */
290
+ export async function main(args) {
291
+ const subcommand = args[0];
292
+ const subcommandArgs = args.slice(1);
293
+ switch (subcommand) {
294
+ case 'run':
295
+ await handleRun(subcommandArgs);
296
+ break;
297
+ case 'search':
298
+ await handleSearch(subcommandArgs);
299
+ break;
300
+ case 'info':
301
+ await handleInfo(subcommandArgs);
302
+ break;
303
+ case 'list':
304
+ await handleList(subcommandArgs);
305
+ break;
306
+ case 'install':
307
+ await handleInstall(subcommandArgs);
308
+ break;
309
+ case 'publish':
310
+ await handlePublish(subcommandArgs);
311
+ break;
312
+ case undefined:
313
+ console.error('Error: Skills subcommand required');
314
+ console.log('Available: run, search, info, list, install, publish');
315
+ console.log('');
316
+ console.log('Examples:');
317
+ console.log(' aiwg skills run workspace-health');
318
+ console.log(' aiwg skills run ralph "Fix failing tests" --completion "npm test passes"');
319
+ console.log(' aiwg skills list');
320
+ console.log(' aiwg skills search "parallel"');
321
+ console.log(' aiwg skills info parallel-dispatch');
322
+ console.log(' aiwg skills search "testing" --provider clawhub');
323
+ console.log(' aiwg skills install parallel-dispatch');
324
+ console.log(' aiwg skills install parallel-dispatch --target copilot');
325
+ console.log(' aiwg skills install my-skill --provider clawhub --target cursor');
326
+ process.exit(1);
327
+ break;
328
+ default:
329
+ console.error(`Error: Unknown skills subcommand '${subcommand}'`);
330
+ console.log('Available: run, search, info, list, install, publish');
331
+ process.exit(1);
332
+ }
333
+ }
334
+ //# sourceMappingURL=cli.js.map
@@ -0,0 +1,117 @@
1
+ /**
2
+ * Skills Registry Coordinator
3
+ *
4
+ * Aggregates search results across multiple registry adapters
5
+ * (local, clawhub, openclaw) into a unified interface.
6
+ *
7
+ * @implements #539
8
+ */
9
+ import { LocalAdapter } from './adapters/local.js';
10
+ import { ClawHubAdapter } from './adapters/clawhub.js';
11
+ import { OpenClawAdapter } from './adapters/openclaw.js';
12
+ /**
13
+ * All known registry adapters
14
+ */
15
+ const ALL_ADAPTERS = [
16
+ new LocalAdapter(),
17
+ new ClawHubAdapter(),
18
+ new OpenClawAdapter(),
19
+ ];
20
+ /**
21
+ * Get adapter by ID
22
+ */
23
+ export function getAdapter(id) {
24
+ return ALL_ADAPTERS.find((a) => a.id === id);
25
+ }
26
+ /**
27
+ * Get all registered adapters
28
+ */
29
+ export function getAllAdapters() {
30
+ return ALL_ADAPTERS;
31
+ }
32
+ /**
33
+ * Search across all adapters (or a specific one)
34
+ */
35
+ export async function searchSkills(query, providerId) {
36
+ const adapters = providerId
37
+ ? ALL_ADAPTERS.filter((a) => a.id === providerId)
38
+ : ALL_ADAPTERS;
39
+ const results = [];
40
+ for (const adapter of adapters) {
41
+ const available = await adapter.isAvailable();
42
+ if (!available)
43
+ continue;
44
+ const adapterResults = await adapter.search(query);
45
+ results.push(...adapterResults);
46
+ }
47
+ return results;
48
+ }
49
+ /**
50
+ * List all skills across adapters (or a specific one)
51
+ */
52
+ export async function listSkills(providerId) {
53
+ const adapters = providerId
54
+ ? ALL_ADAPTERS.filter((a) => a.id === providerId)
55
+ : ALL_ADAPTERS;
56
+ const results = [];
57
+ for (const adapter of adapters) {
58
+ const available = await adapter.isAvailable();
59
+ if (!available)
60
+ continue;
61
+ const adapterResults = await adapter.list();
62
+ results.push(...adapterResults);
63
+ }
64
+ return results;
65
+ }
66
+ /**
67
+ * Get detailed skill info (checks adapters in order)
68
+ */
69
+ export async function getSkillInfo(name, providerId) {
70
+ const adapters = providerId
71
+ ? ALL_ADAPTERS.filter((a) => a.id === providerId)
72
+ : ALL_ADAPTERS;
73
+ for (const adapter of adapters) {
74
+ const available = await adapter.isAvailable();
75
+ if (!available)
76
+ continue;
77
+ const info = await adapter.info(name);
78
+ if (info)
79
+ return info;
80
+ }
81
+ return undefined;
82
+ }
83
+ /**
84
+ * Install a skill from a specific registry with cross-platform deployment
85
+ */
86
+ export async function installSkill(name, options, providerId) {
87
+ const adapter = getAdapter(providerId);
88
+ if (!adapter) {
89
+ throw new Error(`Unknown registry: ${providerId}`);
90
+ }
91
+ if (!adapter.install) {
92
+ throw new Error(`Registry '${providerId}' does not support install`);
93
+ }
94
+ const available = await adapter.isAvailable();
95
+ if (!available) {
96
+ throw new Error(`Registry '${providerId}' is not available`);
97
+ }
98
+ await adapter.install(name, options);
99
+ }
100
+ /**
101
+ * Publish a skill to a specific registry
102
+ */
103
+ export async function publishSkill(packageDir, providerId) {
104
+ const adapter = getAdapter(providerId);
105
+ if (!adapter) {
106
+ throw new Error(`Unknown registry: ${providerId}`);
107
+ }
108
+ if (!adapter.publish) {
109
+ throw new Error(`Registry '${providerId}' does not support publish`);
110
+ }
111
+ const available = await adapter.isAvailable();
112
+ if (!available) {
113
+ throw new Error(`Registry '${providerId}' is not available`);
114
+ }
115
+ await adapter.publish(packageDir);
116
+ }
117
+ //# sourceMappingURL=registry.js.map