@aiwg/cli 0.0.0-bootstrap.0 → 2026.7.17

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 (466) hide show
  1. package/README.md +21 -1
  2. package/bin/aiwg.mjs +349 -0
  3. package/dist/src/a2a/agent-card.js +145 -0
  4. package/dist/src/a2a/client.js +411 -0
  5. package/dist/src/a2a/hitl-cli.js +171 -0
  6. package/dist/src/a2a/hitl-driver.js +370 -0
  7. package/dist/src/a2a/hitl.js +181 -0
  8. package/dist/src/a2a/http.js +193 -0
  9. package/dist/src/a2a/jcs.js +128 -0
  10. package/dist/src/a2a/jws.js +187 -0
  11. package/dist/src/a2a/types.js +24 -0
  12. package/dist/src/a2a/webhook.js +240 -0
  13. package/dist/src/activity-log/cli.js +348 -0
  14. package/dist/src/activity-log/parser.js +81 -0
  15. package/dist/src/activity-log/types.js +50 -0
  16. package/dist/src/agents/agent-deployer.js +367 -0
  17. package/dist/src/agents/agent-packager.js +271 -0
  18. package/dist/src/agents/agent-validator.js +271 -0
  19. package/dist/src/agents/grounding/knowledge-base.js +161 -0
  20. package/dist/src/agents/grounding/types.js +12 -0
  21. package/dist/src/agents/index.js +10 -0
  22. package/dist/src/agents/packaged-agent-inventory.js +75 -0
  23. package/dist/src/agents/types.js +7 -0
  24. package/dist/src/api/index.d.ts +10 -0
  25. package/dist/src/api/index.js +10 -0
  26. package/dist/src/artifacts/address-parser.js +73 -0
  27. package/dist/src/artifacts/audit/cli.js +183 -0
  28. package/dist/src/artifacts/audit/drift.js +122 -0
  29. package/dist/src/artifacts/audit/types.js +12 -0
  30. package/dist/src/artifacts/backends/graphology-backend.js +160 -0
  31. package/dist/src/artifacts/backends/json-backend.js +129 -0
  32. package/dist/src/artifacts/backends/sqlite-backend.js +199 -0
  33. package/dist/src/artifacts/browser-export.js +622 -0
  34. package/dist/src/artifacts/capability-resolver.js +94 -0
  35. package/dist/src/artifacts/checksum-manifest.js +91 -0
  36. package/dist/src/artifacts/citation-parser.js +162 -0
  37. package/dist/src/artifacts/cli.js +1462 -0
  38. package/dist/src/artifacts/corpus-tools/citation-densify.js +311 -0
  39. package/dist/src/artifacts/corpus-tools/cli.js +393 -0
  40. package/dist/src/artifacts/corpus-tools/corpus-graph.js +225 -0
  41. package/dist/src/artifacts/corpus-tools/curator.js +186 -0
  42. package/dist/src/artifacts/corpus-tools/discovery-log.js +70 -0
  43. package/dist/src/artifacts/corpus-tools/funder-network.js +141 -0
  44. package/dist/src/artifacts/corpus-tools/induction-audit.js +233 -0
  45. package/dist/src/artifacts/corpus-tools/integrity-scan.js +202 -0
  46. package/dist/src/artifacts/corpus-tools/profile-communities.js +166 -0
  47. package/dist/src/artifacts/corpus-tools/profile-edges.js +72 -0
  48. package/dist/src/artifacts/corpus-tools/profile-embed.js +113 -0
  49. package/dist/src/artifacts/corpus-tools/profile-generate-fm.js +167 -0
  50. package/dist/src/artifacts/corpus-tools/profile-generate.js +181 -0
  51. package/dist/src/artifacts/corpus-tools/profile-metrics.js +98 -0
  52. package/dist/src/artifacts/corpus-tools/profile-status.js +86 -0
  53. package/dist/src/artifacts/corpus-tools/profile-temporal.js +139 -0
  54. package/dist/src/artifacts/corpus-tools/radar-init.js +93 -0
  55. package/dist/src/artifacts/corpus-tools/radar-report.js +118 -0
  56. package/dist/src/artifacts/corpus-tools/radar-shared.js +189 -0
  57. package/dist/src/artifacts/corpus-tools/radar-status.js +68 -0
  58. package/dist/src/artifacts/corpus-tools/sidecar-lint.js +233 -0
  59. package/dist/src/artifacts/corpus-tools/sidecar-repair.js +277 -0
  60. package/dist/src/artifacts/corpus-tools/snapshot.js +591 -0
  61. package/dist/src/artifacts/corpus-tools/source-types.js +164 -0
  62. package/dist/src/artifacts/corpus-tools/vision-extract.js +243 -0
  63. package/dist/src/artifacts/corpus-views/build.js +126 -0
  64. package/dist/src/artifacts/corpus-views/corpus-config.js +124 -0
  65. package/dist/src/artifacts/corpus-views/ref-parser.js +437 -0
  66. package/dist/src/artifacts/corpus-views/renderers.js +353 -0
  67. package/dist/src/artifacts/corpus-views/taxonomies.js +131 -0
  68. package/dist/src/artifacts/dep-graph.js +173 -0
  69. package/dist/src/artifacts/discover-facets.js +375 -0
  70. package/dist/src/artifacts/embedding-index.js +354 -0
  71. package/dist/src/artifacts/enrichment/cli.js +240 -0
  72. package/dist/src/artifacts/enrichment/prompt.js +47 -0
  73. package/dist/src/artifacts/enrichment/store.js +90 -0
  74. package/dist/src/artifacts/enrichment/types.js +12 -0
  75. package/dist/src/artifacts/fortemi-core-query-adapter.js +475 -0
  76. package/dist/src/artifacts/fortemi-core-sync.js +251 -0
  77. package/dist/src/artifacts/fortemi-shard-export.js +44 -0
  78. package/dist/src/artifacts/fulltext.js +108 -0
  79. package/dist/src/artifacts/graph-backend.js +51 -0
  80. package/dist/src/artifacts/graph-query.js +247 -0
  81. package/dist/src/artifacts/hybrid-query.js +225 -0
  82. package/dist/src/artifacts/index-builder.js +1089 -0
  83. package/dist/src/artifacts/index-reader.js +112 -0
  84. package/dist/src/artifacts/index-status.js +193 -0
  85. package/dist/src/artifacts/legacy-index-migration.js +169 -0
  86. package/dist/src/artifacts/move.js +154 -0
  87. package/dist/src/artifacts/operational-state.js +239 -0
  88. package/dist/src/artifacts/prebuilt-build-lock.js +49 -0
  89. package/dist/src/artifacts/query-engine.js +1955 -0
  90. package/dist/src/artifacts/source-graph.js +529 -0
  91. package/dist/src/artifacts/stats.js +169 -0
  92. package/dist/src/artifacts/types.js +606 -0
  93. package/dist/src/artifacts/views/cli.js +293 -0
  94. package/dist/src/artifacts/views/definition.js +170 -0
  95. package/dist/src/artifacts/views/store.js +149 -0
  96. package/dist/src/artifacts/views/types.js +8 -0
  97. package/dist/src/artifacts/watcher.js +255 -0
  98. package/dist/src/catalog/builtin-models.json +636 -0
  99. package/dist/src/catalog/cli.js +228 -0
  100. package/dist/src/catalog/cli.mjs +289 -0
  101. package/dist/src/catalog/index.js +15 -0
  102. package/dist/src/catalog/loader.js +217 -0
  103. package/dist/src/catalog/loader.mjs +251 -0
  104. package/dist/src/catalog/sources.json +41 -0
  105. package/dist/src/catalog/types.js +8 -0
  106. package/dist/src/channel/manager.mjs +504 -0
  107. package/dist/src/cli/agent-spawn.js +178 -0
  108. package/dist/src/cli/cli-extension-loader.js +245 -0
  109. package/dist/src/cli/command-log.js +275 -0
  110. package/dist/src/cli/config-loader.js +232 -0
  111. package/dist/src/cli/env.js +82 -0
  112. package/dist/src/cli/errors.js +150 -0
  113. package/dist/src/cli/find-package-root.js +40 -0
  114. package/dist/src/cli/git-hooks.js +250 -0
  115. package/dist/src/cli/handlers/agentcard.js +206 -0
  116. package/dist/src/cli/handlers/artifacts.js +76 -0
  117. package/dist/src/cli/handlers/best-practices-audit.js +280 -0
  118. package/dist/src/cli/handlers/cockpit.js +137 -0
  119. package/dist/src/cli/handlers/command-log.js +37 -0
  120. package/dist/src/cli/handlers/daemon.js +59 -0
  121. package/dist/src/cli/handlers/diagnose.js +300 -0
  122. package/dist/src/cli/handlers/execution-mode.js +105 -0
  123. package/dist/src/cli/handlers/feedback.js +341 -0
  124. package/dist/src/cli/handlers/help.js +147 -0
  125. package/dist/src/cli/handlers/index.js +302 -0
  126. package/dist/src/cli/handlers/init.js +179 -0
  127. package/dist/src/cli/handlers/install.js +129 -0
  128. package/dist/src/cli/handlers/issues.js +46 -0
  129. package/dist/src/cli/handlers/lint.js +42 -0
  130. package/dist/src/cli/handlers/local-executor.js +315 -0
  131. package/dist/src/cli/handlers/marketplace.js +168 -0
  132. package/dist/src/cli/handlers/mc.js +1010 -0
  133. package/dist/src/cli/handlers/models.js +352 -0
  134. package/dist/src/cli/handlers/packages.js +155 -0
  135. package/dist/src/cli/handlers/ralph-launcher.js +717 -0
  136. package/dist/src/cli/handlers/ralph.js +575 -0
  137. package/dist/src/cli/handlers/refresh.js +432 -0
  138. package/dist/src/cli/handlers/regenerate.js +336 -0
  139. package/dist/src/cli/handlers/repo-access.js +109 -0
  140. package/dist/src/cli/handlers/run.js +165 -0
  141. package/dist/src/cli/handlers/runtime-info.js +301 -0
  142. package/dist/src/cli/handlers/sandbox.js +197 -0
  143. package/dist/src/cli/handlers/scaffolding.js +149 -0
  144. package/dist/src/cli/handlers/script-runner.js +121 -0
  145. package/dist/src/cli/handlers/sdlc-accelerate.js +148 -0
  146. package/dist/src/cli/handlers/serve.js +1835 -0
  147. package/dist/src/cli/handlers/session.js +348 -0
  148. package/dist/src/cli/handlers/setup.js +440 -0
  149. package/dist/src/cli/handlers/skill-lint.js +367 -0
  150. package/dist/src/cli/handlers/skill-usage.js +74 -0
  151. package/dist/src/cli/handlers/steward.js +567 -0
  152. package/dist/src/cli/handlers/subcommands.js +1702 -0
  153. package/dist/src/cli/handlers/team.js +337 -0
  154. package/dist/src/cli/handlers/types.js +11 -0
  155. package/dist/src/cli/handlers/use.js +2772 -0
  156. package/dist/src/cli/handlers/utilities.js +703 -0
  157. package/dist/src/cli/handlers/version.js +134 -0
  158. package/dist/src/cli/handlers/workspace-context.js +93 -0
  159. package/dist/src/cli/handlers/workspace.js +126 -0
  160. package/dist/src/cli/help-generator.js +178 -0
  161. package/dist/src/cli/hooks/builtin/activity-log-hook.js +126 -0
  162. package/dist/src/cli/hooks/executor.js +96 -0
  163. package/dist/src/cli/hooks/index.js +15 -0
  164. package/dist/src/cli/hooks/registry.js +143 -0
  165. package/dist/src/cli/hooks/types.js +13 -0
  166. package/dist/src/cli/log.js +492 -0
  167. package/dist/src/cli/project-isolation/detect.js +70 -0
  168. package/dist/src/cli/project-isolation/index.js +7 -0
  169. package/dist/src/cli/project-isolation/signals.js +17 -0
  170. package/dist/src/cli/project-isolation/warning.js +102 -0
  171. package/dist/src/cli/prompt-utils.js +155 -0
  172. package/dist/src/cli/provider-deployment-plan.js +126 -0
  173. package/dist/src/cli/provider-resolution.js +119 -0
  174. package/dist/src/cli/router.js +305 -0
  175. package/dist/src/cli/scope-resolver.js +392 -0
  176. package/dist/src/cli/skill-usage.js +616 -0
  177. package/dist/src/cli/ui.js +224 -0
  178. package/dist/src/cli/watch-service.js +203 -0
  179. package/dist/src/cli/workflow-orchestrator.js +478 -0
  180. package/dist/src/cli/workspace-signals.js +321 -0
  181. package/dist/src/community/footer.js +14 -0
  182. package/dist/src/community/links.js +123 -0
  183. package/dist/src/community/milestones.js +46 -0
  184. package/dist/src/community/nudge-policy.js +93 -0
  185. package/dist/src/config/aiwg-config.js +883 -0
  186. package/dist/src/config/cli.js +703 -0
  187. package/dist/src/config/gitignore.js +156 -0
  188. package/dist/src/config/project-artifacts.js +76 -0
  189. package/dist/src/config/user-config.js +428 -0
  190. package/dist/src/config/user-registry.js +127 -0
  191. package/dist/src/config/workspace.js +276 -0
  192. package/dist/src/contributors/detect.js +39 -0
  193. package/dist/src/contributors/discover.js +172 -0
  194. package/dist/src/contributors/heuristic.js +186 -0
  195. package/dist/src/contributors/index.js +11 -0
  196. package/dist/src/contributors/types.js +13 -0
  197. package/dist/src/contributors/validation.js +116 -0
  198. package/dist/src/data/community.schema.json +43 -0
  199. package/dist/src/data/community.yaml +16 -0
  200. package/dist/src/extensions/capability-index.js +270 -0
  201. package/dist/src/extensions/claude-hooks-installer.js +268 -0
  202. package/dist/src/extensions/commands/definitions.js +3485 -0
  203. package/dist/src/extensions/deployment-registration.js +463 -0
  204. package/dist/src/extensions/index.js +22 -0
  205. package/dist/src/extensions/loader.js +132 -0
  206. package/dist/src/extensions/managed-marker.js +100 -0
  207. package/dist/src/extensions/manifest.js +196 -0
  208. package/dist/src/extensions/project-local-activity.js +114 -0
  209. package/dist/src/extensions/project-local-discovery.js +261 -0
  210. package/dist/src/extensions/project-local-doctor.js +281 -0
  211. package/dist/src/extensions/project-local-gitignore.js +176 -0
  212. package/dist/src/extensions/project-local-paths.js +121 -0
  213. package/dist/src/extensions/project-local-promote.js +218 -0
  214. package/dist/src/extensions/project-local-remove.js +373 -0
  215. package/dist/src/extensions/project-local-scaffold.js +252 -0
  216. package/dist/src/extensions/project-quickref.js +291 -0
  217. package/dist/src/extensions/registry.js +368 -0
  218. package/dist/src/extensions/shadow-resolver.js +271 -0
  219. package/dist/src/extensions/types.js +86 -0
  220. package/dist/src/extensions/upstream-registry.js +195 -0
  221. package/dist/src/extensions/validation.js +631 -0
  222. package/dist/src/features/catalog.js +88 -0
  223. package/dist/src/features/cli.js +197 -0
  224. package/dist/src/features/installer.js +57 -0
  225. package/dist/src/features/paths.js +14 -0
  226. package/dist/src/features/runtime.js +21 -0
  227. package/dist/src/features/status.js +134 -0
  228. package/dist/src/hooks/laziness-detection.js +532 -0
  229. package/dist/src/intake/git-history-analyzer.js +486 -0
  230. package/dist/src/intake/index.js +9 -0
  231. package/dist/src/issues/cli.js +327 -0
  232. package/dist/src/issues/index.js +5 -0
  233. package/dist/src/issues/live.js +154 -0
  234. package/dist/src/issues/local.js +666 -0
  235. package/dist/src/issues/sync.js +143 -0
  236. package/dist/src/issues/types.js +2 -0
  237. package/dist/src/issues/workflows.js +164 -0
  238. package/dist/src/kb/cli.js +173 -0
  239. package/dist/src/lint/cli.js +171 -0
  240. package/dist/src/lint/loader.js +225 -0
  241. package/dist/src/lint/reporters.js +141 -0
  242. package/dist/src/lint/runner.js +364 -0
  243. package/dist/src/lint/types.js +10 -0
  244. package/dist/src/marketplace/cache.js +110 -0
  245. package/dist/src/marketplace/identifier.js +63 -0
  246. package/dist/src/marketplace/registry.js +36 -0
  247. package/dist/src/marketplace/sources/clawhub.js +53 -0
  248. package/dist/src/marketplace/sources/git.js +45 -0
  249. package/dist/src/marketplace/types.js +9 -0
  250. package/dist/src/mcp/adapters/codex-runtime.js +224 -0
  251. package/dist/src/mcp/cli.mjs +1197 -0
  252. package/dist/src/mcp/elicitation.mjs +149 -0
  253. package/dist/src/mcp/helpers.mjs +287 -0
  254. package/dist/src/mcp/index.mjs +11 -0
  255. package/dist/src/mcp/profiles.js +263 -0
  256. package/dist/src/mcp/profiles.mjs +360 -0
  257. package/dist/src/mcp/registry.js +376 -0
  258. package/dist/src/mcp/registry.mjs +387 -0
  259. package/dist/src/mcp/server.mjs +633 -0
  260. package/dist/src/mcp/test-simple.mjs +271 -0
  261. package/dist/src/mcp/tools/command-run.mjs +101 -0
  262. package/dist/src/mcp/tools/discovery.mjs +291 -0
  263. package/dist/src/mcp/tools/interaction.mjs +87 -0
  264. package/dist/src/mcp/tools/orchestration.mjs +320 -0
  265. package/dist/src/mcp/tools/subsystems.mjs +640 -0
  266. package/dist/src/memory/cli.js +166 -0
  267. package/dist/src/memory/project-registry.js +282 -0
  268. package/dist/src/metrics/artifact-metrics.js +184 -0
  269. package/dist/src/metrics/context-budget.js +174 -0
  270. package/dist/src/metrics/token-counter.js +133 -0
  271. package/dist/src/models/config-loader.js +228 -0
  272. package/dist/src/models/index.js +22 -0
  273. package/dist/src/models/model-capabilities.v1.json +120 -0
  274. package/dist/src/models/model-catalog.v1.json +96 -0
  275. package/dist/src/models/model-discovery.js +521 -0
  276. package/dist/src/models/provider-models.js +73 -0
  277. package/dist/src/models/provider-policy.js +273 -0
  278. package/dist/src/models/resolver.js +245 -0
  279. package/dist/src/models/router.js +70 -0
  280. package/dist/src/models/types.js +8 -0
  281. package/dist/src/models/wrapper-deployment.js +178 -0
  282. package/dist/src/models/wrapper-route.js +54 -0
  283. package/dist/src/ops/cli.js +268 -0
  284. package/dist/src/ops/registry.js +623 -0
  285. package/dist/src/packages/adapters/clawhub.js +113 -0
  286. package/dist/src/packages/adapters/git.js +153 -0
  287. package/dist/src/packages/adapters/gitea.js +93 -0
  288. package/dist/src/packages/adapters/github.js +69 -0
  289. package/dist/src/packages/adapters/local-cache.js +89 -0
  290. package/dist/src/packages/package-registry.js +143 -0
  291. package/dist/src/packages/registry.js +238 -0
  292. package/dist/src/packages/types.js +11 -0
  293. package/dist/src/plugin/cross-framework-ops.js +475 -0
  294. package/dist/src/plugin/framework-config-loader.js +235 -0
  295. package/dist/src/plugin/framework-detector.js +186 -0
  296. package/dist/src/plugin/framework-isolator.js +341 -0
  297. package/dist/src/plugin/framework-migration.js +371 -0
  298. package/dist/src/plugin/metadata-validator.js +906 -0
  299. package/dist/src/plugin/plugin-installer.js +436 -0
  300. package/dist/src/plugin/plugin-status.js +369 -0
  301. package/dist/src/plugin/plugin-uninstaller.js +473 -0
  302. package/dist/src/plugin/registry-validator.js +344 -0
  303. package/dist/src/plugin/skill-command-translator.js +415 -0
  304. package/dist/src/plugin/workspace-creator.js +189 -0
  305. package/dist/src/plugin/workspace-migrator.js +821 -0
  306. package/dist/src/policy/authorization.js +390 -0
  307. package/dist/src/policy/repo-access.js +215 -0
  308. package/dist/src/provenance/cli.js +16 -0
  309. package/dist/src/providers/capability-matrix.js +300 -0
  310. package/dist/src/providers/capability-matrix.yaml +514 -0
  311. package/dist/src/providers/provider-definitions.js +977 -0
  312. package/dist/src/providers/provider-definitions.mjs +159 -0
  313. package/dist/src/providers/provider-inventory.js +169 -0
  314. package/dist/src/quality/feedback-ab.js +174 -0
  315. package/dist/src/quality/feedback-collector.js +176 -0
  316. package/dist/src/quality/feedback-tracker.js +123 -0
  317. package/dist/src/quality/patterns/adr.json +24 -0
  318. package/dist/src/quality/patterns/sad.json +24 -0
  319. package/dist/src/quality/patterns/test-plan.json +24 -0
  320. package/dist/src/quality/patterns/use-case.json +24 -0
  321. package/dist/src/quality/scoring.js +157 -0
  322. package/dist/src/reflections/cli.js +15 -0
  323. package/dist/src/release/plan.js +139 -0
  324. package/dist/src/research/cache/manager.js +227 -0
  325. package/dist/src/research/clients/arxiv.js +156 -0
  326. package/dist/src/research/clients/base.js +197 -0
  327. package/dist/src/research/clients/crossref.js +112 -0
  328. package/dist/src/research/clients/semantic-scholar.js +126 -0
  329. package/dist/src/research/clients/unpaywall.js +87 -0
  330. package/dist/src/research/index.js +14 -0
  331. package/dist/src/research/query-cli.js +336 -0
  332. package/dist/src/research/services/acquisition.js +313 -0
  333. package/dist/src/research/services/archival.js +225 -0
  334. package/dist/src/research/services/citation.js +279 -0
  335. package/dist/src/research/services/discovery.js +243 -0
  336. package/dist/src/research/services/documentation.js +269 -0
  337. package/dist/src/research/services/index.js +14 -0
  338. package/dist/src/research/services/provenance.js +279 -0
  339. package/dist/src/research/services/quality.js +370 -0
  340. package/dist/src/research/services/types.js +7 -0
  341. package/dist/src/research/storage-cli.js +20 -0
  342. package/dist/src/research/types.js +47 -0
  343. package/dist/src/resources/index.d.ts +2 -0
  344. package/dist/src/resources/index.js +2 -0
  345. package/dist/src/resources/web-release.d.ts +89 -0
  346. package/dist/src/resources/web-release.js +882 -0
  347. package/dist/src/rlm/cache/cli.js +162 -0
  348. package/dist/src/rlm/cache/hash.js +35 -0
  349. package/dist/src/rlm/cache/store.js +170 -0
  350. package/dist/src/rlm/cache/types.js +8 -0
  351. package/dist/src/rlm/cli.js +650 -0
  352. package/dist/src/serve/a2a-terminal-observer.js +120 -0
  353. package/dist/src/serve/agent-router.js +205 -0
  354. package/dist/src/serve/dispatch-router.js +171 -0
  355. package/dist/src/serve/executor-registry.js +715 -0
  356. package/dist/src/serve/mission-conductor.js +177 -0
  357. package/dist/src/serve/orchestrator-adapter.js +113 -0
  358. package/dist/src/serve/orchestrator-override.js +94 -0
  359. package/dist/src/serve/orchestrator-pty.js +133 -0
  360. package/dist/src/serve/pty-bridge.js +799 -0
  361. package/dist/src/serve/sandbox-registry.js +832 -0
  362. package/dist/src/serve/screen-reader.js +228 -0
  363. package/dist/src/serve/stack-adapters.js +68 -0
  364. package/dist/src/serve/telemetry.js +143 -0
  365. package/dist/src/skills/adapters/clawhub.js +250 -0
  366. package/dist/src/skills/adapters/local.js +335 -0
  367. package/dist/src/skills/adapters/openclaw.js +316 -0
  368. package/dist/src/skills/cli.js +334 -0
  369. package/dist/src/skills/registry.js +117 -0
  370. package/dist/src/skills/run.js +259 -0
  371. package/dist/src/skills/runtime.js +94 -0
  372. package/dist/src/skills/types.js +10 -0
  373. package/dist/src/smiths/agentsmith/demo.js +116 -0
  374. package/dist/src/smiths/agentsmith/examples.js +300 -0
  375. package/dist/src/smiths/agentsmith/generator.js +503 -0
  376. package/dist/src/smiths/agentsmith/index.js +11 -0
  377. package/dist/src/smiths/agentsmith/types.js +8 -0
  378. package/dist/src/smiths/commandsmith/example.js +220 -0
  379. package/dist/src/smiths/commandsmith/generator.js +288 -0
  380. package/dist/src/smiths/commandsmith/index.js +41 -0
  381. package/dist/src/smiths/commandsmith/templates.js +296 -0
  382. package/dist/src/smiths/commandsmith/types.js +7 -0
  383. package/dist/src/smiths/context-pipeline/aiwg-md.js +104 -0
  384. package/dist/src/smiths/context-pipeline/allowlist.js +195 -0
  385. package/dist/src/smiths/context-pipeline/claude-hook.js +127 -0
  386. package/dist/src/smiths/context-pipeline/discovery.js +187 -0
  387. package/dist/src/smiths/context-pipeline/external-links-section.js +49 -0
  388. package/dist/src/smiths/context-pipeline/finalization.js +147 -0
  389. package/dist/src/smiths/context-pipeline/generator.js +477 -0
  390. package/dist/src/smiths/context-pipeline/index.js +30 -0
  391. package/dist/src/smiths/context-pipeline/legacy-inject.js +103 -0
  392. package/dist/src/smiths/context-pipeline/managed-hook.js +95 -0
  393. package/dist/src/smiths/context-pipeline/overflow.js +212 -0
  394. package/dist/src/smiths/context-pipeline/parallelism-section.js +94 -0
  395. package/dist/src/smiths/context-pipeline/provider-policy.js +64 -0
  396. package/dist/src/smiths/context-pipeline/sanitizer.js +93 -0
  397. package/dist/src/smiths/context-pipeline/types.js +23 -0
  398. package/dist/src/smiths/context-pipeline/workspace-context.js +988 -0
  399. package/dist/src/smiths/hook-bridge/codex-translator.js +129 -0
  400. package/dist/src/smiths/hook-bridge/copilot-translator.js +64 -0
  401. package/dist/src/smiths/hook-bridge/factory-translator.js +43 -0
  402. package/dist/src/smiths/hook-bridge/hermes-translator.js +88 -0
  403. package/dist/src/smiths/hook-bridge/index.js +79 -0
  404. package/dist/src/smiths/hook-bridge/loader.js +116 -0
  405. package/dist/src/smiths/hook-bridge/shim.js +89 -0
  406. package/dist/src/smiths/hook-bridge/types.js +31 -0
  407. package/dist/src/smiths/index.js +39 -0
  408. package/dist/src/smiths/mcpsmith/analyzers/cli-analyzer.js +390 -0
  409. package/dist/src/smiths/mcpsmith/example.js +119 -0
  410. package/dist/src/smiths/mcpsmith/generator.js +236 -0
  411. package/dist/src/smiths/mcpsmith/index.js +17 -0
  412. package/dist/src/smiths/mcpsmith/types.js +10 -0
  413. package/dist/src/smiths/platform-paths.js +101 -0
  414. package/dist/src/smiths/skillsmith/codex-sidecar.js +85 -0
  415. package/dist/src/smiths/skillsmith/collision-detector.js +249 -0
  416. package/dist/src/smiths/skillsmith/demo.js +83 -0
  417. package/dist/src/smiths/skillsmith/examples.js +161 -0
  418. package/dist/src/smiths/skillsmith/generator.js +316 -0
  419. package/dist/src/smiths/skillsmith/index.js +12 -0
  420. package/dist/src/smiths/skillsmith/namespace-adapter.js +180 -0
  421. package/dist/src/smiths/skillsmith/platform-resolver.js +157 -0
  422. package/dist/src/smiths/skillsmith/types.js +9 -0
  423. package/dist/src/smiths/toolsmith/index.js +10 -0
  424. package/dist/src/smiths/toolsmith/runtime-discovery.mjs +710 -0
  425. package/dist/src/smiths/toolsmith/types.js +8 -0
  426. package/dist/src/storage/backends/fortemi.js +227 -0
  427. package/dist/src/storage/backends/fs.js +134 -0
  428. package/dist/src/storage/backends/logseq.js +309 -0
  429. package/dist/src/storage/backends/obsidian.js +233 -0
  430. package/dist/src/storage/cli.js +468 -0
  431. package/dist/src/storage/config.js +272 -0
  432. package/dist/src/storage/index.js +108 -0
  433. package/dist/src/storage/subsystem-cli.js +201 -0
  434. package/dist/src/storage/types.js +33 -0
  435. package/dist/src/testing/corpus/corpus-builder.js +383 -0
  436. package/dist/src/testing/corpus/ground-truth-manager.js +460 -0
  437. package/dist/src/testing/corpus/index.js +10 -0
  438. package/dist/src/testing/fixtures/index.js +9 -0
  439. package/dist/src/testing/fixtures/test-data-factory.js +472 -0
  440. package/dist/src/testing/generators/index.js +11 -0
  441. package/dist/src/testing/generators/test-case-generator.js +393 -0
  442. package/dist/src/testing/generators/test-code-generator.js +384 -0
  443. package/dist/src/testing/generators/use-case-parser.js +325 -0
  444. package/dist/src/testing/index.js +11 -0
  445. package/dist/src/tracker/capability-protocol.js +118 -0
  446. package/dist/src/update/checker.mjs +396 -0
  447. package/dist/src/update/notifier.mjs +235 -0
  448. package/dist/src/writing/content-diversifier.js +804 -0
  449. package/dist/src/writing/example-generator.js +959 -0
  450. package/dist/src/writing/example-templates.js +99 -0
  451. package/dist/src/writing/pattern-library.js +486 -0
  452. package/dist/src/writing/patterns/banned-phrases.json +4413 -0
  453. package/dist/src/writing/patterns/formulaic-structures.json +1300 -0
  454. package/dist/src/writing/patterns/generic-adjectives.json +1510 -0
  455. package/dist/src/writing/patterns/hedging-language.json +2096 -0
  456. package/dist/src/writing/patterns/transition-words.json +1285 -0
  457. package/dist/src/writing/patterns/weak-verbs.json +1112 -0
  458. package/dist/src/writing/prompt-optimizer.js +660 -0
  459. package/dist/src/writing/prompt-templates.js +583 -0
  460. package/dist/src/writing/scoring-config-loader.js +168 -0
  461. package/dist/src/writing/validation-engine.js +595 -0
  462. package/dist/src/writing/validation-rules.js +380 -0
  463. package/dist/src/writing/voice-analyzer.js +439 -0
  464. package/dist/src/writing/voice-calibration.js +661 -0
  465. package/dist/src/writing/voice-profiles.json +588 -0
  466. package/package.json +64 -9
@@ -0,0 +1,178 @@
1
+ import { promises as fs } from 'node:fs';
2
+ import path from 'node:path';
3
+ import { load as loadYaml } from 'js-yaml';
4
+ import { MODEL_WRAPPERS } from './provider-models.js';
5
+ const TIERS = {
6
+ reasoning: 'premium',
7
+ coding: 'standard',
8
+ efficiency: 'economy',
9
+ };
10
+ const EFFORTS = {
11
+ reasoning: 'high',
12
+ coding: 'medium',
13
+ efficiency: 'low',
14
+ };
15
+ const CLAUDE_ALIASES = {
16
+ reasoning: 'opus',
17
+ coding: 'sonnet',
18
+ efficiency: 'haiku',
19
+ };
20
+ async function collectFiles(root) {
21
+ const files = [];
22
+ async function walk(directory) {
23
+ let entries;
24
+ try {
25
+ entries = await fs.readdir(directory, { withFileTypes: true });
26
+ }
27
+ catch {
28
+ return;
29
+ }
30
+ for (const entry of entries) {
31
+ const item = path.join(directory, entry.name);
32
+ if (entry.isDirectory())
33
+ await walk(item);
34
+ else if (entry.isFile())
35
+ files.push(item);
36
+ }
37
+ }
38
+ await walk(root);
39
+ return files.sort();
40
+ }
41
+ function tomlFields(content) {
42
+ const fields = {};
43
+ for (const line of content.split(/\r?\n/)) {
44
+ const match = line.match(/^([A-Za-z0-9_.-]+)\s*=\s*"((?:\\.|[^"\\])*)"\s*$/);
45
+ if (!match)
46
+ continue;
47
+ try {
48
+ fields[match[1]] = JSON.parse(`"${match[2]}"`);
49
+ }
50
+ catch {
51
+ fields[match[1]] = match[2];
52
+ }
53
+ }
54
+ return fields;
55
+ }
56
+ function markdownFields(content) {
57
+ const match = content.match(/^---\r?\n([\s\S]*?)\r?\n---(?:\r?\n|$)/);
58
+ if (!match)
59
+ return null;
60
+ const parsed = loadYaml(match[1]);
61
+ return parsed && typeof parsed === 'object' ? parsed : null;
62
+ }
63
+ function artifactFields(file, content) {
64
+ if (/\.toml$/i.test(file))
65
+ return tomlFields(content);
66
+ if (/\.json$/i.test(file)) {
67
+ try {
68
+ const parsed = JSON.parse(content);
69
+ return parsed && typeof parsed === 'object' ? parsed : null;
70
+ }
71
+ catch {
72
+ return null;
73
+ }
74
+ }
75
+ if (/\.(?:md|yaml|yml)$/i.test(file))
76
+ return markdownFields(content);
77
+ return null;
78
+ }
79
+ function fieldValue(fields, ...names) {
80
+ for (const name of names) {
81
+ const value = fields[name];
82
+ if (typeof value === 'string' && value.trim())
83
+ return value.trim();
84
+ }
85
+ return undefined;
86
+ }
87
+ function addMismatch(mismatches, wrapper, file, field, reason, expected, actual) {
88
+ mismatches.push({
89
+ wrapper,
90
+ path: file,
91
+ field,
92
+ ...(expected !== undefined ? { expected } : {}),
93
+ ...(actual !== undefined ? { actual } : {}),
94
+ reason,
95
+ });
96
+ }
97
+ async function validateArtifact(file, role, expectation) {
98
+ const wrapper = MODEL_WRAPPERS[role];
99
+ const mismatches = [];
100
+ const content = await fs.readFile(file, 'utf8');
101
+ if (!content.trim()) {
102
+ addMismatch(mismatches, wrapper, file, 'content', 'wrapper artifact is empty');
103
+ return mismatches;
104
+ }
105
+ const fields = artifactFields(file, content);
106
+ if (!fields) {
107
+ addMismatch(mismatches, wrapper, file, 'format', 'wrapper artifact is malformed or has no parseable metadata');
108
+ return mismatches;
109
+ }
110
+ const actualName = fieldValue(fields, 'name');
111
+ if (actualName !== wrapper)
112
+ addMismatch(mismatches, wrapper, file, 'name', 'wrapper identity does not match its deployed filename', wrapper, actualName);
113
+ const actualRole = fieldValue(fields, 'model-role', 'modelRole', 'aiwg-model-role');
114
+ if (actualRole && actualRole !== role)
115
+ addMismatch(mismatches, wrapper, file, 'model-role', 'wrapper role is stale or mismatched', role, actualRole);
116
+ const actualTier = fieldValue(fields, 'model-tier', 'modelTier', 'aiwg-model-tier');
117
+ if (actualTier && actualTier !== TIERS[role])
118
+ addMismatch(mismatches, wrapper, file, 'model-tier', 'wrapper tier is stale or mismatched', TIERS[role], actualTier);
119
+ const actualModel = fieldValue(fields, 'model', 'model_hint', 'modelHint');
120
+ const expectedModel = expectation.models?.[role];
121
+ if (expectation.provider === 'codex') {
122
+ if (!actualModel)
123
+ addMismatch(mismatches, wrapper, file, 'model', 'Codex wrapper has no exact model pin', expectedModel);
124
+ else if (expectedModel && actualModel !== expectedModel)
125
+ addMismatch(mismatches, wrapper, file, 'model', 'Codex wrapper model does not match the effective catalog', expectedModel, actualModel);
126
+ const actualEffort = fieldValue(fields, 'model_reasoning_effort');
127
+ if (actualEffort !== EFFORTS[role])
128
+ addMismatch(mismatches, wrapper, file, 'model_reasoning_effort', 'Codex wrapper effort does not match its role', EFFORTS[role], actualEffort);
129
+ if (!fieldValue(fields, 'developer_instructions'))
130
+ addMismatch(mismatches, wrapper, file, 'developer_instructions', 'Codex wrapper has no bootstrap instructions', 'non-empty');
131
+ }
132
+ else if (expectation.provider === 'claude') {
133
+ const accepted = new Set([CLAUDE_ALIASES[role], expectedModel].filter(Boolean));
134
+ if (!actualModel || !accepted.has(actualModel))
135
+ addMismatch(mismatches, wrapper, file, 'model', 'Claude wrapper does not carry the semantic role alias or effective model', [...accepted].join(' or '), actualModel);
136
+ if (!actualRole)
137
+ addMismatch(mismatches, wrapper, file, 'model-role', 'Claude wrapper is missing its canonical role', role);
138
+ if (!actualTier)
139
+ addMismatch(mismatches, wrapper, file, 'model-tier', 'Claude wrapper is missing its canonical tier', TIERS[role]);
140
+ }
141
+ return mismatches;
142
+ }
143
+ export async function verifyModelWrapperDeployment(agentsPath, expectation = {}) {
144
+ const expected = Object.entries(MODEL_WRAPPERS);
145
+ if (!agentsPath)
146
+ return {
147
+ supported: false,
148
+ valid: false,
149
+ agentsPath: null,
150
+ found: [],
151
+ missing: expected.map(([, wrapper]) => wrapper),
152
+ mismatches: [],
153
+ };
154
+ const files = await collectFiles(agentsPath);
155
+ const found = [];
156
+ const missing = [];
157
+ const mismatches = [];
158
+ for (const [role, wrapper] of expected) {
159
+ const matches = files.filter(file => path.basename(file).replace(/\.(?:md|toml|json|yaml|yml)$/i, '') === wrapper);
160
+ if (matches.length === 0) {
161
+ missing.push(wrapper);
162
+ continue;
163
+ }
164
+ found.push(wrapper);
165
+ if (matches.length > 1)
166
+ addMismatch(mismatches, wrapper, matches[0], 'path', `multiple deployed wrapper artifacts found: ${matches.join(', ')}`);
167
+ mismatches.push(...await validateArtifact(matches[0], role, expectation));
168
+ }
169
+ return {
170
+ supported: true,
171
+ valid: missing.length === 0 && mismatches.length === 0,
172
+ agentsPath,
173
+ found,
174
+ missing,
175
+ mismatches,
176
+ };
177
+ }
178
+ //# sourceMappingURL=wrapper-deployment.js.map
@@ -0,0 +1,54 @@
1
+ import { compileModelPolicy, } from './provider-policy.js';
2
+ import { MODEL_WRAPPERS } from './provider-models.js';
3
+ import { routeModelTier } from './router.js';
4
+ function roleForTier(tier) {
5
+ if (tier === 'economy')
6
+ return 'efficiency';
7
+ if (tier === 'premium' || tier === 'max-quality')
8
+ return 'reasoning';
9
+ if (tier === 'standard')
10
+ return 'coding';
11
+ return null;
12
+ }
13
+ export function buildWrapperRouteEnvelope(request) {
14
+ if (!request.assignment.trim())
15
+ throw new Error('Wrapper routing requires a bounded assignment.');
16
+ const decision = routeModelTier(request);
17
+ const tier = decision.modelTier;
18
+ const role = roleForTier(tier);
19
+ const wrapper = role ? MODEL_WRAPPERS[role] : null;
20
+ const model = role && tier
21
+ ? compileModelPolicy({
22
+ provider: request.provider,
23
+ artifact: 'agent',
24
+ policy: { role, tier: tier === 'max-quality' ? 'premium' : tier },
25
+ ...(request.catalog ? { catalog: request.catalog } : {}),
26
+ })
27
+ : null;
28
+ const prompt = wrapper
29
+ ? [
30
+ `Run this assignment through ${wrapper}.`,
31
+ `Selected capability: ${request.capability.type} ${request.capability.name} (${request.capability.id}).`,
32
+ `Load it with aiwg show ${request.capability.type === 'workflow' ? 'metadata' : request.capability.type} ${request.capability.id} after discover-first validation.`,
33
+ `Assignment: ${request.assignment.trim()}`,
34
+ 'Return capability evidence, changed artifacts, validation results, and remaining risks.',
35
+ ].join('\n')
36
+ : `No model call is required. Execute the deterministic assignment: ${request.assignment.trim()}`;
37
+ return {
38
+ version: 1,
39
+ provider: request.provider,
40
+ decision,
41
+ role,
42
+ tier,
43
+ wrapper,
44
+ capability: request.capability,
45
+ assignment: request.assignment.trim(),
46
+ model,
47
+ launch: {
48
+ mechanism: request.launchMechanism,
49
+ target: wrapper,
50
+ prompt,
51
+ },
52
+ };
53
+ }
54
+ //# sourceMappingURL=wrapper-route.js.map
@@ -0,0 +1,268 @@
1
+ /**
2
+ * Ops CLI — Subcommand router for `aiwg ops`
3
+ *
4
+ * Subcommands:
5
+ * init — Bootstrap a new ops workspace
6
+ * status — Show workspace health
7
+ * use <workspace> — Switch active workspace
8
+ * list — List registered workspaces
9
+ * push — Push workspace repos to remote
10
+ *
11
+ * @implements #544
12
+ */
13
+ import { OpsRegistry } from './registry.js';
14
+ /**
15
+ * Main CLI entry point for `aiwg ops <subcommand> [args]`
16
+ */
17
+ export async function main(args) {
18
+ // Extract global flags
19
+ let configDir;
20
+ const filteredArgs = [];
21
+ for (let i = 0; i < args.length; i++) {
22
+ if (args[i] === '--config-dir' && i + 1 < args.length) {
23
+ configDir = args[i + 1];
24
+ i++;
25
+ }
26
+ else {
27
+ filteredArgs.push(args[i]);
28
+ }
29
+ }
30
+ const subcommand = filteredArgs[0];
31
+ const subArgs = filteredArgs.slice(1);
32
+ const registry = new OpsRegistry(configDir);
33
+ switch (subcommand) {
34
+ case 'init':
35
+ await handleInit(registry, subArgs);
36
+ break;
37
+ case 'status':
38
+ await handleStatus(registry, subArgs);
39
+ break;
40
+ case 'use':
41
+ await handleUse(registry, subArgs);
42
+ break;
43
+ case 'list':
44
+ case 'ls':
45
+ await handleList(registry);
46
+ break;
47
+ case 'push':
48
+ await handlePush(registry, subArgs);
49
+ break;
50
+ case 'discover':
51
+ await handleDiscover(registry, subArgs);
52
+ break;
53
+ case 'adopt':
54
+ await handleAdopt(registry, subArgs);
55
+ break;
56
+ default:
57
+ printUsage();
58
+ if (subcommand) {
59
+ throw new Error(`Unknown ops subcommand: ${subcommand}`);
60
+ }
61
+ break;
62
+ }
63
+ }
64
+ async function handleInit(registry, args) {
65
+ // Parse flags
66
+ let silent = false;
67
+ let workspace;
68
+ let home;
69
+ let mode = 'multi-repo';
70
+ let extensions = ['sys', 'it', 'dev'];
71
+ let prefix;
72
+ let provider;
73
+ let from;
74
+ for (let i = 0; i < args.length; i++) {
75
+ switch (args[i]) {
76
+ case '--silent':
77
+ silent = true;
78
+ break;
79
+ case '--workspace':
80
+ workspace = args[++i];
81
+ break;
82
+ case '--home':
83
+ home = args[++i];
84
+ break;
85
+ case '--mode':
86
+ mode = args[++i];
87
+ break;
88
+ case '--ext':
89
+ extensions = args[++i].split(',');
90
+ break;
91
+ case '--prefix':
92
+ prefix = args[++i];
93
+ break;
94
+ case '--provider':
95
+ provider = args[++i];
96
+ break;
97
+ case '--from':
98
+ from = args[++i];
99
+ break;
100
+ }
101
+ }
102
+ if (!workspace) {
103
+ workspace = 'default';
104
+ }
105
+ await registry.initWorkspace({
106
+ name: workspace,
107
+ home,
108
+ mode,
109
+ extensions,
110
+ prefix,
111
+ provider,
112
+ silent,
113
+ from,
114
+ });
115
+ }
116
+ async function handleAdopt(registry, args) {
117
+ let path;
118
+ let workspace;
119
+ let extensions;
120
+ let name;
121
+ let silent = false;
122
+ for (let i = 0; i < args.length; i++) {
123
+ const a = args[i];
124
+ if (a === '--workspace')
125
+ workspace = args[++i];
126
+ else if (a === '--ext')
127
+ extensions = args[++i].split(',');
128
+ else if (a === '--name')
129
+ name = args[++i];
130
+ else if (a === '--silent')
131
+ silent = true;
132
+ else if (!a.startsWith('--') && !path)
133
+ path = a;
134
+ }
135
+ if (!path) {
136
+ throw new Error('Usage: aiwg ops adopt <path> [--workspace <n>] [--ext <list>] [--name <n>]');
137
+ }
138
+ await registry.adoptRepo(path, { workspace, extensions, name, silent });
139
+ }
140
+ async function handleStatus(registry, args) {
141
+ const showAll = args.includes('--all');
142
+ await registry.showStatus(showAll);
143
+ }
144
+ async function handleUse(registry, args) {
145
+ const workspace = args[0];
146
+ if (!workspace) {
147
+ throw new Error('Usage: aiwg ops use <workspace>');
148
+ }
149
+ await registry.switchWorkspace(workspace);
150
+ }
151
+ async function handleList(registry) {
152
+ await registry.listWorkspaces();
153
+ }
154
+ async function handlePush(registry, args) {
155
+ let workspace;
156
+ for (let i = 0; i < args.length; i++) {
157
+ if (args[i] === '--workspace') {
158
+ workspace = args[++i];
159
+ }
160
+ }
161
+ await registry.pushWorkspace(workspace);
162
+ }
163
+ async function handleDiscover(registry, args) {
164
+ const roots = [];
165
+ let maxDepth = 3;
166
+ let register = false;
167
+ let workspaceName = 'discovered';
168
+ let asJson = false;
169
+ for (let i = 0; i < args.length; i++) {
170
+ const a = args[i];
171
+ if (a === '--max-depth') {
172
+ maxDepth = Number(args[++i]);
173
+ }
174
+ else if (a === '--register' || a === '--yes' || a === '-y') {
175
+ register = true;
176
+ }
177
+ else if (a === '--workspace') {
178
+ workspaceName = args[++i];
179
+ }
180
+ else if (a === '--json') {
181
+ asJson = true;
182
+ }
183
+ else if (!a.startsWith('--')) {
184
+ roots.push(a);
185
+ }
186
+ }
187
+ const candidates = await registry.discoverWorkspaces({
188
+ roots: roots.length > 0 ? roots : undefined,
189
+ maxDepth,
190
+ });
191
+ if (asJson) {
192
+ console.log(JSON.stringify({ candidates }, null, 2));
193
+ }
194
+ else if (candidates.length === 0) {
195
+ console.log('No ops workspace candidates found.');
196
+ }
197
+ else {
198
+ console.log(`Found ${candidates.length} candidate(s):\n`);
199
+ console.log(' STATUS NAME REMOTE PATH');
200
+ for (const c of candidates) {
201
+ const status = c.alreadyRegistered ? 'KNOWN ' : 'NEW ';
202
+ const name = (c.name + ' '.repeat(14)).slice(0, 14);
203
+ const remote = (c.remote || '-').slice(0, 40).padEnd(40);
204
+ console.log(` ${status} ${name} ${remote} ${c.path}`);
205
+ }
206
+ console.log('');
207
+ }
208
+ if (register) {
209
+ const result = await registry.registerDiscovered(workspaceName, candidates);
210
+ console.log(`Registered ${result.added} new entr${result.added === 1 ? 'y' : 'ies'} ` +
211
+ `(skipped ${result.skipped} already-known) into workspace "${workspaceName}".`);
212
+ }
213
+ else if (candidates.some((c) => !c.alreadyRegistered)) {
214
+ console.log('Run with --register to add NEW candidates to the registry.');
215
+ }
216
+ }
217
+ function printUsage() {
218
+ console.log(`Usage: aiwg ops <subcommand> [options]
219
+
220
+ Subcommands:
221
+ init Bootstrap a new ops workspace
222
+ status [--all] Show workspace health
223
+ use <workspace> Switch active workspace
224
+ list List registered workspaces
225
+ push [--workspace <n>] Push workspace repos to remote
226
+ discover [root...] Scan filesystem for orphaned ops-workspace clones
227
+ adopt <path> Register an existing local clone as a repo entry
228
+
229
+ Init options:
230
+ --silent Skip interactive prompts
231
+ --workspace <name> Workspace name (default: "default")
232
+ --home <path> Parent directory for repos
233
+ --mode <mode> single-repo or multi-repo (default: multi-repo)
234
+ --ext <list> Comma-separated extensions: sys,it,dev,stream,repo-maintainer
235
+ --prefix <name> Repo naming prefix (e.g., "myorg")
236
+ --provider <name> Remote provider for auto-push (github, gitea, or URL)
237
+ --from <git-url> Clone this URL into the target repo instead of init.
238
+ Requires single-repo mode or exactly one --ext value.
239
+
240
+ Global flags:
241
+ --config-dir <path> Override config directory
242
+
243
+ Examples:
244
+ aiwg ops init
245
+ aiwg ops init --silent --workspace personal --ext sys,dev
246
+ aiwg ops init --mode single-repo --workspace homelab
247
+ aiwg ops status
248
+ aiwg ops status --all
249
+ aiwg ops use client-acme
250
+ aiwg ops list
251
+ aiwg ops push --workspace personal
252
+ aiwg ops discover ~/projects ~/work --max-depth 4
253
+ aiwg ops discover --register --workspace home
254
+
255
+ Discover options:
256
+ --max-depth <n> Max walk depth from each root (default: 3)
257
+ --register Write NEW candidates into the registry
258
+ --yes, -y Alias for --register
259
+ --workspace <name> Bucket workspace for registered entries (default: "discovered")
260
+ --json Machine-readable output
261
+
262
+ Adopt options:
263
+ --workspace <name> Workspace to attach to (default: "default")
264
+ --ext <list> Comma-separated extensions for the adopted repo
265
+ --name <name> Override repo name (default: basename of path)
266
+ --silent Suppress informational logging`);
267
+ }
268
+ //# sourceMappingURL=cli.js.map