@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,235 @@
1
+ /**
2
+ * FrameworkConfigLoader - Load and merge framework configurations
3
+ *
4
+ * Handles loading framework-specific configs, merging with shared configs,
5
+ * and managing configuration precedence. Supports JSON and YAML formats.
6
+ *
7
+ * FID-007 Framework-Scoped Workspaces configuration management.
8
+ *
9
+ * @module src/plugin/framework-config-loader
10
+ * @version 1.0.0
11
+ * @since 2025-10-23
12
+ */
13
+ import * as fs from 'fs/promises';
14
+ import * as path from 'path';
15
+ // ===========================
16
+ // FrameworkConfigLoader Class
17
+ // ===========================
18
+ export class FrameworkConfigLoader {
19
+ projectRoot;
20
+ configCache = new Map();
21
+ constructor(projectRoot) {
22
+ this.projectRoot = path.resolve(projectRoot);
23
+ }
24
+ /**
25
+ * Load framework configuration
26
+ *
27
+ * @param framework - Framework name
28
+ * @param options - Load options
29
+ * @returns Merged configuration
30
+ */
31
+ async loadConfig(framework, options = {}) {
32
+ const cacheKey = `${framework}-${options.environment || 'default'}`;
33
+ // Check cache
34
+ if (this.configCache.has(cacheKey)) {
35
+ return this.configCache.get(cacheKey);
36
+ }
37
+ // Load shared config
38
+ const sharedConfig = await this.loadSharedConfig();
39
+ // Load framework-specific config
40
+ const frameworkConfig = await this.loadFrameworkConfig(framework);
41
+ // Load environment-specific config
42
+ let envConfig = {};
43
+ if (options.environment) {
44
+ envConfig = await this.loadEnvironmentConfig(framework, options.environment);
45
+ }
46
+ // Load local overrides
47
+ let localConfig = {};
48
+ if (options.includeLocal) {
49
+ localConfig = await this.loadLocalConfig(framework);
50
+ }
51
+ // Merge configs (later configs override earlier)
52
+ let merged = this.deepMerge(sharedConfig, frameworkConfig, envConfig, localConfig);
53
+ // Apply merge strategy if requested
54
+ if (options.respectMergeStrategy && sharedConfig.mergeStrategy) {
55
+ merged = this.applyMergeStrategy(merged, sharedConfig.mergeStrategy);
56
+ }
57
+ // Cache result
58
+ this.configCache.set(cacheKey, merged);
59
+ return merged;
60
+ }
61
+ /**
62
+ * Get specific config value
63
+ *
64
+ * @param framework - Framework name
65
+ * @param key - Config key (supports dot notation)
66
+ * @param defaultValue - Default value if key not found
67
+ * @returns Config value
68
+ */
69
+ getConfigValue(framework, key, defaultValue) {
70
+ const config = this.configCache.get(`${framework}-default`);
71
+ if (!config) {
72
+ return defaultValue;
73
+ }
74
+ const keys = key.split('.');
75
+ let value = config;
76
+ for (const k of keys) {
77
+ if (value && typeof value === 'object' && k in value) {
78
+ value = value[k];
79
+ }
80
+ else {
81
+ return defaultValue;
82
+ }
83
+ }
84
+ return value !== undefined ? value : defaultValue;
85
+ }
86
+ /**
87
+ * Save framework configuration
88
+ *
89
+ * @param framework - Framework name
90
+ * @param config - Configuration to save
91
+ */
92
+ async saveConfig(framework, config) {
93
+ const configPath = path.join(this.projectRoot, '.aiwg', framework, 'settings.json');
94
+ // Ensure directory exists
95
+ await fs.mkdir(path.dirname(configPath), { recursive: true });
96
+ // Write config
97
+ await fs.writeFile(configPath, JSON.stringify(config, null, 2));
98
+ // Invalidate cache
99
+ this.configCache.delete(`${framework}-default`);
100
+ }
101
+ // ===========================
102
+ // Private Methods
103
+ // ===========================
104
+ async loadSharedConfig() {
105
+ const workspacePath = path.join(this.projectRoot, '.aiwg', 'workspace.json');
106
+ try {
107
+ const content = await fs.readFile(workspacePath, 'utf-8');
108
+ const workspace = JSON.parse(content);
109
+ return workspace.shared || {};
110
+ }
111
+ catch {
112
+ return {};
113
+ }
114
+ }
115
+ async loadFrameworkConfig(framework) {
116
+ // Try JSON first
117
+ const jsonPath = path.join(this.projectRoot, '.aiwg', framework, 'settings.json');
118
+ try {
119
+ const content = await fs.readFile(jsonPath, 'utf-8');
120
+ return JSON.parse(content);
121
+ }
122
+ catch {
123
+ // Try YAML
124
+ const yamlPath = path.join(this.projectRoot, '.aiwg', framework, 'config.yaml');
125
+ try {
126
+ const content = await fs.readFile(yamlPath, 'utf-8');
127
+ return this.parseSimpleYaml(content);
128
+ }
129
+ catch {
130
+ // Return default config
131
+ return { framework };
132
+ }
133
+ }
134
+ }
135
+ async loadEnvironmentConfig(framework, environment) {
136
+ const envPath = path.join(this.projectRoot, '.aiwg', framework, `settings.${environment}.json`);
137
+ try {
138
+ const content = await fs.readFile(envPath, 'utf-8');
139
+ return JSON.parse(content);
140
+ }
141
+ catch {
142
+ return {};
143
+ }
144
+ }
145
+ async loadLocalConfig(framework) {
146
+ const localPath = path.join(this.projectRoot, '.aiwg', framework, 'settings.local.json');
147
+ try {
148
+ const content = await fs.readFile(localPath, 'utf-8');
149
+ return JSON.parse(content);
150
+ }
151
+ catch {
152
+ return {};
153
+ }
154
+ }
155
+ deepMerge(...objects) {
156
+ const result = {};
157
+ for (const obj of objects) {
158
+ if (!obj)
159
+ continue;
160
+ for (const key in obj) {
161
+ if (obj.hasOwnProperty(key)) {
162
+ const value = obj[key];
163
+ if (value !== null && typeof value === 'object' && !Array.isArray(value)) {
164
+ // Merge objects recursively
165
+ result[key] = this.deepMerge(result[key] || {}, value);
166
+ }
167
+ else {
168
+ // Override with new value
169
+ result[key] = value;
170
+ }
171
+ }
172
+ }
173
+ }
174
+ return result;
175
+ }
176
+ applyMergeStrategy(config, strategy) {
177
+ // Apply merge strategies (e.g., append arrays instead of override)
178
+ const result = { ...config };
179
+ for (const key in strategy) {
180
+ if (strategy[key] === 'append' && Array.isArray(config[key])) {
181
+ // Append strategy already handled in initial merge
182
+ // This is a placeholder for more complex strategies
183
+ }
184
+ }
185
+ return result;
186
+ }
187
+ parseSimpleYaml(content) {
188
+ const result = {};
189
+ const lines = content.split('\n');
190
+ let currentKey = null;
191
+ for (const line of lines) {
192
+ const trimmed = line.trim();
193
+ if (!trimmed || trimmed.startsWith('#'))
194
+ continue;
195
+ // Check for array items
196
+ if (trimmed.startsWith('- ')) {
197
+ const value = trimmed.slice(2).trim();
198
+ if (currentKey) {
199
+ if (!Array.isArray(result[currentKey])) {
200
+ result[currentKey] = [];
201
+ }
202
+ result[currentKey].push(value);
203
+ }
204
+ continue;
205
+ }
206
+ const colonIndex = trimmed.indexOf(':');
207
+ if (colonIndex === -1)
208
+ continue;
209
+ const key = trimmed.slice(0, colonIndex).trim();
210
+ const value = trimmed.slice(colonIndex + 1).trim();
211
+ if (value) {
212
+ // Simple key-value - handle booleans and numbers
213
+ if (value === 'true') {
214
+ result[key] = true;
215
+ }
216
+ else if (value === 'false') {
217
+ result[key] = false;
218
+ }
219
+ else if (!isNaN(Number(value))) {
220
+ result[key] = Number(value);
221
+ }
222
+ else {
223
+ result[key] = value;
224
+ }
225
+ currentKey = null;
226
+ }
227
+ else {
228
+ // Key with no value - next lines will be array items or nested object
229
+ currentKey = key;
230
+ }
231
+ }
232
+ return result;
233
+ }
234
+ }
235
+ //# sourceMappingURL=framework-config-loader.js.map
@@ -0,0 +1,186 @@
1
+ /**
2
+ * FrameworkDetector - Detect framework-scoped workspaces
3
+ *
4
+ * Detects frameworks from directory structure (.claude/, .codex/, .cursor/)
5
+ * and configuration files. Distinguishes legacy workspaces from framework-scoped.
6
+ *
7
+ * FID-007 Framework-Scoped Workspaces detection logic.
8
+ *
9
+ * @module src/plugin/framework-detector
10
+ * @version 1.0.0
11
+ * @since 2025-10-23
12
+ */
13
+ import * as fs from 'fs/promises';
14
+ import * as path from 'path';
15
+ // ===========================
16
+ // FrameworkDetector Class
17
+ // ===========================
18
+ export class FrameworkDetector {
19
+ projectRoot;
20
+ // Provider directories (used by detectFrameworks() to enumerate which
21
+ // platforms the workspace is deployed to). These are NOT the same as
22
+ // "framework-scoped workspace" (`.aiwg/frameworks/`). See issue #1516.
23
+ FRAMEWORK_DIRS = ['claude', 'codex', 'cursor'];
24
+ // Marker for framework-scoped workspace layout per PR #54.
25
+ FRAMEWORKS_DIR = 'frameworks';
26
+ // SDLC-canonical artifact dirs. Their presence ALONE is not "legacy" —
27
+ // they coexist with `.aiwg/frameworks/` by design when sdlc-complete is
28
+ // deployed (documented in CLAUDE.md / AIWG.md). Treat as legacy only when
29
+ // `.aiwg/frameworks/` is absent.
30
+ SDLC_CANONICAL_DIRS = [
31
+ 'intake', 'requirements', 'architecture', 'planning',
32
+ 'risks', 'testing', 'security', 'quality', 'deployment',
33
+ 'reports', 'working', 'handoffs', 'gates', 'decisions', 'team', 'management',
34
+ 'agents', 'commands', 'memory', 'context'
35
+ ];
36
+ // Orphan non-SDLC top-level dirs left over from the pre-#1516 deploy bug.
37
+ // Their presence is always a migration signal regardless of frameworks/.
38
+ ORPHAN_LEGACY_DIRS = [
39
+ 'forensics', 'kb', 'media', 'media-curator', 'marketing', 'security-engineering'
40
+ ];
41
+ constructor(projectRoot) {
42
+ this.projectRoot = path.resolve(projectRoot);
43
+ }
44
+ /**
45
+ * Detect all frameworks present in the project
46
+ *
47
+ * @returns Array of framework names
48
+ */
49
+ async detectFrameworks() {
50
+ const frameworks = new Set();
51
+ // Check for .framework/ directories
52
+ for (const framework of this.FRAMEWORK_DIRS) {
53
+ try {
54
+ await fs.access(path.join(this.projectRoot, `.${framework}`));
55
+ frameworks.add(framework);
56
+ }
57
+ catch {
58
+ // Framework directory doesn't exist
59
+ }
60
+ }
61
+ // Check for .aiwg/framework/ directories
62
+ const aiwgPath = path.join(this.projectRoot, '.aiwg');
63
+ try {
64
+ const entries = await fs.readdir(aiwgPath, { withFileTypes: true });
65
+ for (const entry of entries) {
66
+ if (entry.isDirectory() && this.FRAMEWORK_DIRS.includes(entry.name)) {
67
+ frameworks.add(entry.name);
68
+ }
69
+ }
70
+ }
71
+ catch {
72
+ // .aiwg doesn't exist
73
+ }
74
+ return Array.from(frameworks).sort();
75
+ }
76
+ /**
77
+ * Check if workspace is legacy (non-framework-scoped)
78
+ *
79
+ * @returns True if legacy workspace detected
80
+ */
81
+ async isLegacyWorkspace() {
82
+ const aiwgPath = path.join(this.projectRoot, '.aiwg');
83
+ try {
84
+ await fs.access(aiwgPath);
85
+ }
86
+ catch {
87
+ return false; // No .aiwg directory
88
+ }
89
+ let sdlcCanonicalCount = 0;
90
+ let orphanLegacyCount = 0;
91
+ let hasFrameworksDir = false;
92
+ try {
93
+ const entries = await fs.readdir(aiwgPath, { withFileTypes: true });
94
+ for (const entry of entries) {
95
+ if (!entry.isDirectory())
96
+ continue;
97
+ if (entry.name === this.FRAMEWORKS_DIR) {
98
+ hasFrameworksDir = true;
99
+ continue;
100
+ }
101
+ if (this.SDLC_CANONICAL_DIRS.includes(entry.name)) {
102
+ sdlcCanonicalCount++;
103
+ }
104
+ if (this.ORPHAN_LEGACY_DIRS.includes(entry.name)) {
105
+ orphanLegacyCount++;
106
+ }
107
+ }
108
+ }
109
+ catch {
110
+ return false;
111
+ }
112
+ // Orphan non-SDLC top-level dirs always indicate a migration is needed
113
+ // (residue from the pre-#1516 deploy bug).
114
+ if (orphanLegacyCount > 0)
115
+ return true;
116
+ // SDLC top-level dirs are only "legacy" when .aiwg/frameworks/ is absent;
117
+ // otherwise they're the documented canonical SDLC artifact layout.
118
+ return sdlcCanonicalCount > 0 && !hasFrameworksDir;
119
+ }
120
+ /**
121
+ * Get detailed information about a framework
122
+ *
123
+ * @param frameworkName - Framework name
124
+ * @returns Framework information
125
+ */
126
+ async getFrameworkInfo(frameworkName) {
127
+ // Check .aiwg/framework/ first
128
+ const aiwgPath = path.join(this.projectRoot, '.aiwg', frameworkName);
129
+ const rootPath = path.join(this.projectRoot, `.${frameworkName}`);
130
+ let frameworkPath;
131
+ let configPath;
132
+ try {
133
+ await fs.access(aiwgPath);
134
+ frameworkPath = aiwgPath;
135
+ configPath = path.join(aiwgPath, 'settings.json');
136
+ }
137
+ catch {
138
+ try {
139
+ await fs.access(rootPath);
140
+ frameworkPath = rootPath;
141
+ configPath = path.join(rootPath, 'settings.json');
142
+ }
143
+ catch {
144
+ throw new Error(`Framework not found: ${frameworkName}`);
145
+ }
146
+ }
147
+ // Load config
148
+ let config = {};
149
+ try {
150
+ const configContent = await fs.readFile(configPath, 'utf-8');
151
+ config = JSON.parse(configContent);
152
+ }
153
+ catch {
154
+ // Config doesn't exist or is invalid, use defaults
155
+ }
156
+ // Count agents and commands
157
+ let agentCount = 0;
158
+ let commandCount = 0;
159
+ try {
160
+ const agentsPath = path.join(frameworkPath, 'agents');
161
+ const agents = await fs.readdir(agentsPath);
162
+ agentCount = agents.filter(f => f.endsWith('.md')).length;
163
+ }
164
+ catch {
165
+ // Agents directory doesn't exist
166
+ }
167
+ try {
168
+ const commandsPath = path.join(frameworkPath, 'commands');
169
+ const commands = await fs.readdir(commandsPath);
170
+ commandCount = commands.filter(f => f.endsWith('.md')).length;
171
+ }
172
+ catch {
173
+ // Commands directory doesn't exist
174
+ }
175
+ return {
176
+ name: frameworkName,
177
+ path: frameworkPath,
178
+ type: 'ide',
179
+ version: config.version,
180
+ capabilities: config.capabilities,
181
+ agentCount,
182
+ commandCount
183
+ };
184
+ }
185
+ }
186
+ //# sourceMappingURL=framework-detector.js.map