opkg 0.7.9 → 0.8.1

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 (364) hide show
  1. package/README.md +26 -10
  2. package/dist/commands/add.js +2 -3
  3. package/dist/commands/add.js.map +1 -1
  4. package/dist/commands/configure.js +2 -6
  5. package/dist/commands/configure.js.map +1 -1
  6. package/dist/commands/install.js +13 -184
  7. package/dist/commands/install.js.map +1 -1
  8. package/dist/commands/list.js +88 -75
  9. package/dist/commands/list.js.map +1 -1
  10. package/dist/commands/publish.js +16 -0
  11. package/dist/commands/publish.js.map +1 -0
  12. package/dist/commands/remove.js +2 -3
  13. package/dist/commands/remove.js.map +1 -1
  14. package/dist/commands/uninstall.js +1 -2
  15. package/dist/commands/uninstall.js.map +1 -1
  16. package/dist/constants/index.js +3 -0
  17. package/dist/constants/index.js.map +1 -1
  18. package/dist/core/add/add-to-source-pipeline.js +0 -32
  19. package/dist/core/add/add-to-source-pipeline.js.map +1 -1
  20. package/dist/core/add/package-index-updater.js +3 -2
  21. package/dist/core/add/package-index-updater.js.map +1 -1
  22. package/dist/core/dependency-resolver.js +49 -31
  23. package/dist/core/dependency-resolver.js.map +1 -1
  24. package/dist/core/flows/flow-executor.js +83 -1
  25. package/dist/core/flows/flow-executor.js.map +1 -1
  26. package/dist/core/flows/flow-key-mapper.js +0 -99
  27. package/dist/core/flows/flow-key-mapper.js.map +1 -1
  28. package/dist/core/flows/flow-transforms.js +0 -16
  29. package/dist/core/flows/flow-transforms.js.map +1 -1
  30. package/dist/core/install/ambiguity-prompts.js +110 -0
  31. package/dist/core/install/ambiguity-prompts.js.map +1 -0
  32. package/dist/core/install/base-detector.js +321 -0
  33. package/dist/core/install/base-detector.js.map +1 -0
  34. package/dist/core/install/content-detector.js +447 -0
  35. package/dist/core/install/content-detector.js.map +1 -0
  36. package/dist/core/install/content-path-parser.js +103 -0
  37. package/dist/core/install/content-path-parser.js.map +1 -0
  38. package/dist/core/install/content-type-registry.js +95 -0
  39. package/dist/core/install/content-type-registry.js.map +1 -0
  40. package/dist/core/install/convenience-matchers.js +334 -0
  41. package/dist/core/install/convenience-matchers.js.map +1 -0
  42. package/dist/core/install/flow-based-installer.js +1 -93
  43. package/dist/core/install/flow-based-installer.js.map +1 -1
  44. package/dist/core/install/git-package-loader.js +15 -2
  45. package/dist/core/install/git-package-loader.js.map +1 -1
  46. package/dist/core/install/handlers/index.js +6 -0
  47. package/dist/core/install/handlers/index.js.map +1 -0
  48. package/dist/core/install/helpers/conflict-detection.js +1 -1
  49. package/dist/core/install/helpers/file-discovery.js +28 -4
  50. package/dist/core/install/helpers/file-discovery.js.map +1 -1
  51. package/dist/core/install/install-errors.js +1 -1
  52. package/dist/core/install/install-errors.js.map +1 -1
  53. package/dist/core/install/install-flow.js +7 -13
  54. package/dist/core/install/install-flow.js.map +1 -1
  55. package/dist/core/install/install-reporting.js +25 -16
  56. package/dist/core/install/install-reporting.js.map +1 -1
  57. package/dist/core/install/intent-parser.js +84 -0
  58. package/dist/core/install/intent-parser.js.map +1 -0
  59. package/dist/core/install/marketplace-handler.js +89 -53
  60. package/dist/core/install/marketplace-handler.js.map +1 -1
  61. package/dist/core/install/naming-context-builder.js +203 -0
  62. package/dist/core/install/naming-context-builder.js.map +1 -0
  63. package/dist/core/install/naming-context.js +77 -0
  64. package/dist/core/install/naming-context.js.map +1 -0
  65. package/dist/core/install/operations/conflict-handler.js +0 -34
  66. package/dist/core/install/operations/conflict-handler.js.map +1 -1
  67. package/dist/core/install/orchestrator/index.js +3 -0
  68. package/dist/core/install/orchestrator/index.js.map +1 -0
  69. package/dist/core/install/orchestrator/orchestrator.js +403 -0
  70. package/dist/core/install/orchestrator/orchestrator.js.map +1 -0
  71. package/dist/core/install/orchestrator/strategies/base.js +43 -0
  72. package/dist/core/install/orchestrator/strategies/base.js.map +1 -0
  73. package/dist/core/install/orchestrator/strategies/bulk-strategy.js +52 -0
  74. package/dist/core/install/orchestrator/strategies/bulk-strategy.js.map +1 -0
  75. package/dist/core/install/orchestrator/strategies/git-strategy.js +108 -0
  76. package/dist/core/install/orchestrator/strategies/git-strategy.js.map +1 -0
  77. package/dist/core/install/orchestrator/strategies/index.js +21 -0
  78. package/dist/core/install/orchestrator/strategies/index.js.map +1 -0
  79. package/dist/core/install/orchestrator/strategies/path-strategy.js +61 -0
  80. package/dist/core/install/orchestrator/strategies/path-strategy.js.map +1 -0
  81. package/dist/core/install/orchestrator/strategies/registry-strategy.js +38 -0
  82. package/dist/core/install/orchestrator/strategies/registry-strategy.js.map +1 -0
  83. package/dist/core/install/orchestrator/types.js +2 -0
  84. package/dist/core/install/orchestrator/types.js.map +1 -0
  85. package/dist/core/install/orchestrator.js +332 -0
  86. package/dist/core/install/orchestrator.js.map +1 -0
  87. package/dist/core/install/package-name-service.js +194 -0
  88. package/dist/core/install/package-name-service.js.map +1 -0
  89. package/dist/core/install/path-package-loader.js +63 -4
  90. package/dist/core/install/path-package-loader.js.map +1 -1
  91. package/dist/core/install/platform-resolution.js +2 -1
  92. package/dist/core/install/platform-resolution.js.map +1 -1
  93. package/dist/core/install/plugin-detector.js +2 -15
  94. package/dist/core/install/plugin-detector.js.map +1 -1
  95. package/dist/core/install/plugin-sources.js +6 -4
  96. package/dist/core/install/plugin-sources.js.map +1 -1
  97. package/dist/core/install/plugin-transformer.js +8 -43
  98. package/dist/core/install/plugin-transformer.js.map +1 -1
  99. package/dist/core/install/preprocessing/base-resolver.js +86 -0
  100. package/dist/core/install/preprocessing/base-resolver.js.map +1 -0
  101. package/dist/core/install/preprocessing/convenience-preprocessor.js +21 -0
  102. package/dist/core/install/preprocessing/convenience-preprocessor.js.map +1 -0
  103. package/dist/core/install/preprocessing/index.js +5 -0
  104. package/dist/core/install/preprocessing/index.js.map +1 -0
  105. package/dist/core/install/preprocessing/input-classifier.js +133 -0
  106. package/dist/core/install/preprocessing/input-classifier.js.map +1 -0
  107. package/dist/core/install/preprocessing/options-normalizer.js +38 -0
  108. package/dist/core/install/preprocessing/options-normalizer.js.map +1 -0
  109. package/dist/core/install/remote-flow.js +1 -57
  110. package/dist/core/install/remote-flow.js.map +1 -1
  111. package/dist/core/install/resolution/executor.js +152 -0
  112. package/dist/core/install/resolution/executor.js.map +1 -0
  113. package/dist/core/install/resolution/graph-builder.js +252 -0
  114. package/dist/core/install/resolution/graph-builder.js.map +1 -0
  115. package/dist/core/install/resolution/id-generator.js +70 -0
  116. package/dist/core/install/resolution/id-generator.js.map +1 -0
  117. package/dist/core/install/resolution/index.js +11 -0
  118. package/dist/core/install/resolution/index.js.map +1 -0
  119. package/dist/core/install/resolution/installation-planner.js +178 -0
  120. package/dist/core/install/resolution/installation-planner.js.map +1 -0
  121. package/dist/core/install/resolution/manifest-reader.js +112 -0
  122. package/dist/core/install/resolution/manifest-reader.js.map +1 -0
  123. package/dist/core/install/resolution/package-loader.js +168 -0
  124. package/dist/core/install/resolution/package-loader.js.map +1 -0
  125. package/dist/core/install/resolution/types.js +6 -0
  126. package/dist/core/install/resolution/types.js.map +1 -0
  127. package/dist/core/install/resolvers/content-resolver.js +94 -0
  128. package/dist/core/install/resolvers/content-resolver.js.map +1 -0
  129. package/dist/core/install/resolvers/index.js +8 -0
  130. package/dist/core/install/resolvers/index.js.map +1 -0
  131. package/dist/core/install/resolvers/target-resolver.js +211 -0
  132. package/dist/core/install/resolvers/target-resolver.js.map +1 -0
  133. package/dist/core/install/skill-path-parser.js +96 -0
  134. package/dist/core/install/skill-path-parser.js.map +1 -0
  135. package/dist/core/install/skills-detector.js +326 -0
  136. package/dist/core/install/skills-detector.js.map +1 -0
  137. package/dist/core/install/skills-marketplace-handler.js +454 -0
  138. package/dist/core/install/skills-marketplace-handler.js.map +1 -0
  139. package/dist/core/install/sources/base.js.map +1 -1
  140. package/dist/core/install/sources/git-source.js +67 -24
  141. package/dist/core/install/sources/git-source.js.map +1 -1
  142. package/dist/core/install/sources/loader-factory.js +0 -6
  143. package/dist/core/install/sources/loader-factory.js.map +1 -1
  144. package/dist/core/install/sources/path-source.js +79 -13
  145. package/dist/core/install/sources/path-source.js.map +1 -1
  146. package/dist/core/install/sources/registry-source.js +0 -5
  147. package/dist/core/install/sources/registry-source.js.map +1 -1
  148. package/dist/core/install/sources/workspace-source.js +1 -4
  149. package/dist/core/install/sources/workspace-source.js.map +1 -1
  150. package/dist/core/install/strategies/base-strategy.js +47 -0
  151. package/dist/core/install/strategies/base-strategy.js.map +1 -1
  152. package/dist/core/install/strategies/conversion-strategy.js +1 -2
  153. package/dist/core/install/strategies/conversion-strategy.js.map +1 -1
  154. package/dist/core/install/strategies/flow-based-strategy.js +3 -1
  155. package/dist/core/install/strategies/flow-based-strategy.js.map +1 -1
  156. package/dist/core/install/strategies/helpers/result-converter.js +0 -17
  157. package/dist/core/install/strategies/helpers/result-converter.js.map +1 -1
  158. package/dist/core/install/strategies/helpers/temp-directory.js +2 -30
  159. package/dist/core/install/strategies/helpers/temp-directory.js.map +1 -1
  160. package/dist/core/install/types/index.js +9 -0
  161. package/dist/core/install/types/index.js.map +1 -0
  162. package/dist/core/install/types/intent.js +7 -0
  163. package/dist/core/install/types/intent.js.map +1 -0
  164. package/dist/core/install/types/source.js +7 -0
  165. package/dist/core/install/types/source.js.map +1 -0
  166. package/dist/core/install/types/target.js +7 -0
  167. package/dist/core/install/types/target.js.map +1 -0
  168. package/dist/core/install/unified/context-builders.js +167 -86
  169. package/dist/core/install/unified/context-builders.js.map +1 -1
  170. package/dist/core/install/unified/context-helpers.js +5 -13
  171. package/dist/core/install/unified/context-helpers.js.map +1 -1
  172. package/dist/core/install/unified/index.js +2 -9
  173. package/dist/core/install/unified/index.js.map +1 -1
  174. package/dist/core/install/unified/multi-context-pipeline.js +39 -0
  175. package/dist/core/install/unified/multi-context-pipeline.js.map +1 -0
  176. package/dist/core/install/unified/phases/execute.js +6 -2
  177. package/dist/core/install/unified/phases/execute.js.map +1 -1
  178. package/dist/core/install/unified/phases/load-package.js +61 -5
  179. package/dist/core/install/unified/phases/load-package.js.map +1 -1
  180. package/dist/core/install/unified/phases/manifest.js +15 -5
  181. package/dist/core/install/unified/phases/manifest.js.map +1 -1
  182. package/dist/core/install/unified/phases/report.js +3 -2
  183. package/dist/core/install/unified/phases/report.js.map +1 -1
  184. package/dist/core/install/unified/pipeline.js +20 -8
  185. package/dist/core/install/unified/pipeline.js.map +1 -1
  186. package/dist/core/install/v2/detection/content-scanner.js +120 -0
  187. package/dist/core/install/v2/detection/content-scanner.js.map +1 -0
  188. package/dist/core/install/v2/detection/manifest-detector.js +100 -0
  189. package/dist/core/install/v2/detection/manifest-detector.js.map +1 -0
  190. package/dist/core/install/v2/index.js +55 -0
  191. package/dist/core/install/v2/index.js.map +1 -0
  192. package/dist/core/install/v2/patterns/deepest-match.js +134 -0
  193. package/dist/core/install/v2/patterns/deepest-match.js.map +1 -0
  194. package/dist/core/install/v2/patterns/pattern-registry.js +130 -0
  195. package/dist/core/install/v2/patterns/pattern-registry.js.map +1 -0
  196. package/dist/core/install/v2/pipeline.js +173 -0
  197. package/dist/core/install/v2/pipeline.js.map +1 -0
  198. package/dist/core/install/v2/prompts/base-selection.js +73 -0
  199. package/dist/core/install/v2/prompts/base-selection.js.map +1 -0
  200. package/dist/core/install/v2/prompts/content-selection.js +115 -0
  201. package/dist/core/install/v2/prompts/content-selection.js.map +1 -0
  202. package/dist/core/install/v2/prompts/plugin-selection.js +66 -0
  203. package/dist/core/install/v2/prompts/plugin-selection.js.map +1 -0
  204. package/dist/core/install/v2/stages/execute-install.js +271 -0
  205. package/dist/core/install/v2/stages/execute-install.js.map +1 -0
  206. package/dist/core/install/v2/stages/fetch-source.js +112 -0
  207. package/dist/core/install/v2/stages/fetch-source.js.map +1 -0
  208. package/dist/core/install/v2/stages/parse-input.js +156 -0
  209. package/dist/core/install/v2/stages/parse-input.js.map +1 -0
  210. package/dist/core/install/v2/stages/resolve-base.js +119 -0
  211. package/dist/core/install/v2/stages/resolve-base.js.map +1 -0
  212. package/dist/core/install/v2/stages/resolve-targets.js +325 -0
  213. package/dist/core/install/v2/stages/resolve-targets.js.map +1 -0
  214. package/dist/core/install/v2/types.js +87 -0
  215. package/dist/core/install/v2/types.js.map +1 -0
  216. package/dist/core/install/v2/utils/manifest-writer.js +136 -0
  217. package/dist/core/install/v2/utils/manifest-writer.js.map +1 -0
  218. package/dist/core/install/validators/index.js +3 -0
  219. package/dist/core/install/validators/index.js.map +1 -0
  220. package/dist/core/install/validators/options-validator.js +28 -0
  221. package/dist/core/install/validators/options-validator.js.map +1 -0
  222. package/dist/core/install/validators/target-validator.js +19 -0
  223. package/dist/core/install/validators/target-validator.js.map +1 -0
  224. package/dist/core/install/version-selection.js +2 -32
  225. package/dist/core/install/version-selection.js.map +1 -1
  226. package/dist/core/openpackage.js +6 -6
  227. package/dist/core/openpackage.js.map +1 -1
  228. package/dist/core/package-context.js +2 -3
  229. package/dist/core/package-context.js.map +1 -1
  230. package/dist/core/platforms.js +3 -95
  231. package/dist/core/platforms.js.map +1 -1
  232. package/dist/core/publish/publish-errors.js +55 -0
  233. package/dist/core/publish/publish-errors.js.map +1 -0
  234. package/dist/core/publish/publish-output.js +20 -0
  235. package/dist/core/publish/publish-output.js.map +1 -0
  236. package/dist/core/publish/publish-pipeline.js +103 -0
  237. package/dist/core/publish/publish-pipeline.js.map +1 -0
  238. package/dist/core/publish/publish-types.js +2 -0
  239. package/dist/core/publish/publish-types.js.map +1 -0
  240. package/dist/core/publish/publish-upload.js +50 -0
  241. package/dist/core/publish/publish-upload.js.map +1 -0
  242. package/dist/core/remote-pull.js +31 -3
  243. package/dist/core/remote-pull.js.map +1 -1
  244. package/dist/core/remove/remove-from-source-pipeline.js +0 -32
  245. package/dist/core/remove/remove-from-source-pipeline.js.map +1 -1
  246. package/dist/core/scoping/package-scoping.js +3 -3
  247. package/dist/core/scoping/package-scoping.js.map +1 -1
  248. package/dist/core/source-resolution/dependency-graph.js +15 -4
  249. package/dist/core/source-resolution/dependency-graph.js.map +1 -1
  250. package/dist/core/source-resolution/resolve-mutable-source.js +5 -4
  251. package/dist/core/source-resolution/resolve-mutable-source.js.map +1 -1
  252. package/dist/core/uninstall/uninstall-pipeline.js +3 -2
  253. package/dist/core/uninstall/uninstall-pipeline.js.map +1 -1
  254. package/dist/index.js +13 -26
  255. package/dist/index.js.map +1 -1
  256. package/dist/types/index.js +0 -4
  257. package/dist/types/index.js.map +1 -1
  258. package/dist/utils/errors.js +1 -42
  259. package/dist/utils/errors.js.map +1 -1
  260. package/dist/utils/flow-index-installer.js +27 -6
  261. package/dist/utils/flow-index-installer.js.map +1 -1
  262. package/dist/utils/formatters.js +0 -38
  263. package/dist/utils/formatters.js.map +1 -1
  264. package/dist/utils/git-clone.js +48 -22
  265. package/dist/utils/git-clone.js.map +1 -1
  266. package/dist/utils/git-url-detection.js +327 -0
  267. package/dist/utils/git-url-detection.js.map +1 -0
  268. package/dist/utils/index-based-installer.js +3 -2
  269. package/dist/utils/index-based-installer.js.map +1 -1
  270. package/dist/utils/install-error-messages.js +201 -0
  271. package/dist/utils/install-error-messages.js.map +1 -0
  272. package/dist/utils/install-helpers.js +14 -5
  273. package/dist/utils/install-helpers.js.map +1 -1
  274. package/dist/utils/logger.js +0 -2
  275. package/dist/utils/logger.js.map +1 -1
  276. package/dist/utils/manifest-paths.js +0 -8
  277. package/dist/utils/manifest-paths.js.map +1 -1
  278. package/dist/utils/package-input.js +4 -4
  279. package/dist/utils/package-input.js.map +1 -1
  280. package/dist/utils/package-installation.js +1 -1
  281. package/dist/utils/package-installation.js.map +1 -1
  282. package/dist/utils/package-management.js +100 -126
  283. package/dist/utils/package-management.js.map +1 -1
  284. package/dist/utils/package-name-resolver.js +146 -0
  285. package/dist/utils/package-name-resolver.js.map +1 -0
  286. package/dist/utils/package-name.js +98 -5
  287. package/dist/utils/package-name.js.map +1 -1
  288. package/dist/utils/package-yml.js +183 -7
  289. package/dist/utils/package-yml.js.map +1 -1
  290. package/dist/utils/path-normalization.js +0 -8
  291. package/dist/utils/path-normalization.js.map +1 -1
  292. package/dist/utils/pattern-matcher.js +179 -0
  293. package/dist/utils/pattern-matcher.js.map +1 -0
  294. package/dist/utils/platform-file.js +3 -2
  295. package/dist/utils/platform-file.js.map +1 -1
  296. package/dist/utils/platform-mapper.js +24 -51
  297. package/dist/utils/platform-mapper.js.map +1 -1
  298. package/dist/utils/plugin-naming.js +212 -69
  299. package/dist/utils/plugin-naming.js.map +1 -1
  300. package/dist/utils/prompts.js +0 -23
  301. package/dist/utils/prompts.js.map +1 -1
  302. package/dist/utils/registry-entry-filter.js +3 -2
  303. package/dist/utils/registry-entry-filter.js.map +1 -1
  304. package/dist/utils/resource-arg-parser.js +228 -0
  305. package/dist/utils/resource-arg-parser.js.map +1 -0
  306. package/dist/utils/spinner.js +0 -16
  307. package/dist/utils/spinner.js.map +1 -1
  308. package/dist/utils/workspace-index-yml.js +114 -2
  309. package/dist/utils/workspace-index-yml.js.map +1 -1
  310. package/package.json +1 -1
  311. package/platforms.jsonc +2 -1
  312. package/specs/README.md +5 -4
  313. package/specs/add/README.md +18 -53
  314. package/specs/architecture.md +19 -24
  315. package/specs/cli-options.md +8 -8
  316. package/specs/commands-overview.md +46 -64
  317. package/specs/install/git-sources.md +131 -48
  318. package/specs/install/install-behavior.md +6 -6
  319. package/specs/install/package-yml-canonical.md +15 -16
  320. package/specs/install/plugin-installation.md +47 -3
  321. package/specs/{status → list}/README.md +3 -3
  322. package/specs/new/README.md +4 -22
  323. package/specs/new/SUMMARY.md +9 -20
  324. package/specs/new/scope-behavior.md +14 -16
  325. package/specs/package/package-index-yml.md +3 -6
  326. package/specs/package-sources.md +26 -8
  327. package/specs/platforms/configuration.md +1 -1
  328. package/specs/platforms/detection.md +2 -2
  329. package/specs/platforms/directory-layout.md +1 -1
  330. package/specs/platforms/examples.md +2 -2
  331. package/specs/platforms/flow-reference.md +1 -1
  332. package/specs/platforms/flows.md +5 -6
  333. package/specs/platforms/overview.md +2 -2
  334. package/specs/platforms/troubleshooting.md +8 -46
  335. package/specs/platforms/universal-converter.md +2 -2
  336. package/specs/publish/README.md +177 -0
  337. package/specs/registry.md +2 -8
  338. package/specs/remove/README.md +15 -53
  339. package/specs/set/README.md +1 -1
  340. package/examples/custom-subdirs-platform.jsonc +0 -157
  341. package/plans/conversion-context-architecture.md +0 -695
  342. package/plans/conversion-context-implementation-guide.md +0 -1327
  343. package/specs/apply/README.md +0 -21
  344. package/specs/apply/apply-behavior.md +0 -102
  345. package/specs/apply/apply-command.md +0 -55
  346. package/specs/apply/conflicts.md +0 -41
  347. package/specs/apply/index-effects.md +0 -81
  348. package/specs/push/README.md +0 -20
  349. package/specs/push/push-behavior.md +0 -204
  350. package/specs/push/push-errors-and-hints.md +0 -135
  351. package/specs/push/push-remote-upload.md +0 -93
  352. package/specs/push/push-scoping.md +0 -40
  353. package/specs/push/push-version-selection.md +0 -90
  354. package/specs/save/README.md +0 -44
  355. package/specs/save/save-conflict-resolution.md +0 -268
  356. package/specs/save/save-file-discovery.md +0 -103
  357. package/specs/save/save-frontmatter-overrides.md +0 -77
  358. package/specs/save/save-modes-inputs.md +0 -25
  359. package/specs/save/save-naming-scoping.md +0 -93
  360. package/specs/save/save-package-detection.md +0 -60
  361. package/specs/save/save-registry-sync.md +0 -36
  362. package/specs/save/save-versioning.md +0 -80
  363. package/specs/show/README.md +0 -483
  364. package/specs/show/show-remote.md +0 -494
package/README.md CHANGED
@@ -78,28 +78,44 @@ Installs all files from a package into the codebase at cwd, formatted and conver
78
78
 
79
79
  The install command supports various package sources:
80
80
  ```bash title="Terminal"
81
- opkg install essentials # Local/remote registry
81
+ # Registry packages
82
+ opkg install essentials # From registry
83
+ opkg install essentials@1.0.0 # Specific version
84
+
85
+ # Local packages
82
86
  opkg install ../packages/essentials/ # Local path
83
87
 
84
- # GitHub package repo
85
- opkg install git:https://github.com/enulus/awesome-openpackage.git
88
+ # GitHub packages (modern syntax)
89
+ opkg install gh@anthropics/claude-code # GitHub shorthand
90
+ opkg install gh@anthropics/claude-code/plugins/feature # With subdirectory
91
+ opkg install https://github.com/anthropics/claude-code # Direct URL
86
92
 
87
- # GitHub Claude Code Plugins marketplace
88
- opkg install github:anthropics/claude-code
93
+ # Other git repositories
94
+ opkg install https://gitlab.com/user/repo.git # GitLab
95
+ opkg install https://example.com/repo.git#v1.0.0 # With version tag
89
96
  ```
90
97
 
98
+ For marketplaces, use `--plugins` to install specific plugins non-interactively:
99
+ ```bash title="Terminal"
100
+ # Install specific plugins by name (bypasses interactive selection)
101
+ opkg install gh@anthropics/claude-code --plugins plugin1 plugin2
102
+
103
+ # Multiple plugins with space separation
104
+ opkg install gh@user/marketplace --plugins plugin-a plugin-b plugin-c
105
+ ```
106
+
91
107
  Use the `--global` (or `-g`) option to install files to user scope:
92
108
  ```bash title="Terminal"
93
109
  # Installs to home dir, ex: ~/.cursor/, ~/.opencode/
94
- opkg install github:anthropics/claude-code -g
95
- ```
110
+ opkg install gh@anthropics/claude-code -g
111
+ ```
96
112
 
97
113
  ### Show installed packages and files
98
114
  ```bash title="Terminal"
99
- opkg status # Lists packages installed to workspace at cwd
100
- opkg status <package> # Lists installed files for specified package
115
+ opkg list # Lists packages installed to workspace at cwd
116
+ opkg list <package> # Lists installed files for specified package
101
117
  ```
102
- Use the status command to show an overview of packages and files installed.
118
+ Use the list command to show an overview of packages and files installed.
103
119
 
104
120
  ### Uninstall packages
105
121
  ```bash title="Terminal"
@@ -30,14 +30,14 @@ function displayAddResults(data, options) {
30
30
  console.log(`✓ Added files: ${filesAdded}`);
31
31
  }
32
32
  // Show hints only for non-workspace-root adds
33
- if (!options.apply && !isWorkspaceRoot) {
33
+ if (!isWorkspaceRoot) {
34
34
  // Check if package is installed in workspace
35
35
  readWorkspaceIndex(cwd).then(workspaceIndexRecord => {
36
36
  const isInstalled = !!workspaceIndexRecord.index.packages[resolvedName];
37
37
  if (isInstalled) {
38
38
  console.log(`\n💡 Changes not synced to workspace.`);
39
39
  console.log(` To sync changes, run:`);
40
- console.log(` opkg apply ${resolvedName}`);
40
+ console.log(` opkg install ${resolvedName}`);
41
41
  }
42
42
  else {
43
43
  console.log(`\n💡 Package not installed in workspace.`);
@@ -56,7 +56,6 @@ export function setupAddCommand(program) {
56
56
  .argument('[path]', 'file or directory to add')
57
57
  .description('Add files to a mutable package source or workspace package')
58
58
  .option('--platform-specific', 'Save platform-specific variants for platform subdir inputs')
59
- .option('--apply', 'Apply changes to workspace immediately (requires package to be installed)')
60
59
  .action(withErrorHandling(async (packageName, pathArg, options) => {
61
60
  const result = await runAddToSourcePipeline(packageName, pathArg, options);
62
61
  if (!result.success) {
@@ -1 +1 @@
1
- {"version":3,"file":"add.js","sourceRoot":"","sources":["../../src/commands/add.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"add.js","sourceRoot":"","sources":["../../src/commands/add.ts"],"names":[],"mappings":"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"}
@@ -42,15 +42,11 @@ async function setupProfile(profileName) {
42
42
  console.log(`✅ Profile '${profileName}' configured successfully`);
43
43
  if (profileName === 'default') {
44
44
  console.log('');
45
- console.log('💡 You can now use:');
46
- console.log(' opkg push <package-name>');
47
- console.log(' opkg pull <package-name>');
45
+ console.log('💡 You can now use remote registry features with this profile.');
48
46
  }
49
47
  else {
50
48
  console.log('');
51
- console.log('💡 You can now use:');
52
- console.log(` opkg push <package-name> --profile ${profileName}`);
53
- console.log(` opkg pull <package-name> --profile ${profileName}`);
49
+ console.log(`💡 You can now use remote registry features with --profile ${profileName}`);
54
50
  }
55
51
  return {
56
52
  success: true,
@@ -1 +1 @@
1
- {"version":3,"file":"configure.js","sourceRoot":"","sources":["../../src/commands/configure.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"configure.js","sourceRoot":"","sources":["../../src/commands/configure.ts"],"names":[],"mappings":"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"}
@@ -1,169 +1,6 @@
1
1
  import { withErrorHandling } from '../utils/errors.js';
2
- import { normalizePlatforms } from '../utils/platform-mapper.js';
3
- import { buildInstallContext } from '../core/install/unified/context-builders.js';
4
- import { runUnifiedInstallPipeline } from '../core/install/unified/pipeline.js';
5
- import { determineResolutionMode } from '../utils/resolution-mode.js';
6
- import { DIR_PATTERNS, PACKAGE_PATHS } from '../constants/index.js';
7
- import { normalizePathForProcessing } from '../utils/path-normalization.js';
8
- import { getLoaderForSource } from '../core/install/sources/loader-factory.js';
9
- import { logger } from '../utils/logger.js';
10
- /**
11
- * Validate that target directory is not inside .openpackage metadata
12
- */
13
- function assertTargetDirOutsideMetadata(targetDir) {
14
- const normalized = normalizePathForProcessing(targetDir ?? '.');
15
- if (!normalized || normalized === '.') {
16
- return; // default install root
17
- }
18
- if (normalized === DIR_PATTERNS.OPENPACKAGE ||
19
- normalized.startsWith(`${DIR_PATTERNS.OPENPACKAGE}/`)) {
20
- throw new Error(`Installation target '${targetDir}' cannot point inside ${DIR_PATTERNS.OPENPACKAGE} ` +
21
- `(reserved for metadata like ${PACKAGE_PATHS.INDEX_RELATIVE}). ` +
22
- `Choose a workspace path outside metadata.`);
23
- }
24
- }
25
- /**
26
- * Validate resolution flags
27
- */
28
- export function validateResolutionFlags(options) {
29
- if (options.remote && options.local) {
30
- throw new Error('--remote and --local cannot be used together. Choose one resolution mode.');
31
- }
32
- }
33
- /**
34
- * Main install command handler
35
- */
36
- async function installCommand(packageInput, options) {
37
- const cwd = process.cwd();
38
- const targetDir = '.';
39
- // Validate inputs
40
- assertTargetDirOutsideMetadata(targetDir);
41
- validateResolutionFlags(options);
42
- // Set resolution mode
43
- options.resolutionMode = determineResolutionMode(options);
44
- // Build context(s)
45
- const contexts = await buildInstallContext(cwd, packageInput, options);
46
- // Handle bulk install (multiple contexts)
47
- if (Array.isArray(contexts)) {
48
- return await runBulkInstall(contexts);
49
- }
50
- // For git sources, we need to load the package first to detect if it's a marketplace
51
- // Marketplaces are detected during loadPackagePhase, so we need to check after loading
52
- if (contexts.source.type === 'git') {
53
- // Load package to detect marketplace
54
- const loader = getLoaderForSource(contexts.source);
55
- const loaded = await loader.load(contexts.source, options, cwd);
56
- // Update context with loaded info
57
- contexts.source.packageName = loaded.packageName;
58
- contexts.source.version = loaded.version;
59
- contexts.source.contentRoot = loaded.contentRoot;
60
- contexts.source.pluginMetadata = loaded.pluginMetadata;
61
- // Store commitSha for marketplace handling
62
- if (loaded.sourceMetadata?.commitSha) {
63
- contexts.source._commitSha = loaded.sourceMetadata.commitSha;
64
- }
65
- // Check if marketplace - handle at command level
66
- if (contexts.source.pluginMetadata?.pluginType === 'marketplace') {
67
- return await handleMarketplaceInstallation(contexts, options, cwd);
68
- }
69
- // Not a marketplace, continue with normal pipeline
70
- // Create resolved package for the loaded package
71
- contexts.resolvedPackages = [{
72
- name: loaded.packageName,
73
- version: loaded.version,
74
- pkg: { metadata: loaded.metadata, files: [], _format: undefined },
75
- isRoot: true,
76
- source: 'git',
77
- contentRoot: loaded.contentRoot
78
- }];
79
- }
80
- // Single package install
81
- return await runUnifiedInstallPipeline(contexts);
82
- }
83
- /**
84
- * Handle marketplace installation with plugin selection
85
- */
86
- async function handleMarketplaceInstallation(context, options, cwd) {
87
- const { parseMarketplace, promptPluginSelection, installMarketplacePlugins } = await import('../core/install/marketplace-handler.js');
88
- const { Spinner } = await import('../utils/spinner.js');
89
- // Load the marketplace package (already loaded, use context data)
90
- if (!context.source.pluginMetadata?.manifestPath) {
91
- throw new Error('Marketplace manifest not found');
92
- }
93
- const spinner = new Spinner('Loading marketplace');
94
- spinner.start();
95
- // Parse marketplace manifest
96
- const marketplace = await parseMarketplace(context.source.pluginMetadata.manifestPath, {
97
- repoPath: context.source.contentRoot
98
- });
99
- spinner.stop();
100
- // Prompt user to select plugins
101
- const selectedPlugins = await promptPluginSelection(marketplace);
102
- if (selectedPlugins.length === 0) {
103
- console.log('No plugins selected. Installation cancelled.');
104
- return { success: true, data: { installed: 0, skipped: 0 } };
105
- }
106
- // Install selected plugins using marketplace handler
107
- // At this point we know it's a git source with a gitUrl
108
- if (context.source.type !== 'git' || !context.source.gitUrl) {
109
- throw new Error('Marketplace must be from a git source');
110
- }
111
- // Get commitSha from source metadata
112
- const commitSha = context.source._commitSha || '';
113
- if (!commitSha) {
114
- logger.error('Marketplace commit SHA not available', {
115
- source: context.source,
116
- hasSourceMetadata: !!context.source.sourceMetadata,
117
- _commitSha: context.source._commitSha
118
- });
119
- throw new Error('Marketplace commit SHA not available. Please report this issue.');
120
- }
121
- return await installMarketplacePlugins(context.source.contentRoot, marketplace, selectedPlugins, context.source.gitUrl, context.source.gitRef, commitSha, options, cwd);
122
- }
123
- /**
124
- * Run bulk installation for multiple packages
125
- */
126
- async function runBulkInstall(contexts) {
127
- if (contexts.length === 0) {
128
- console.log('⚠️ No packages found in openpackage.yml');
129
- console.log('\n💡 Tips:');
130
- console.log(' • Add packages to the "packages" array in openpackage.yml');
131
- console.log(' • Add development packages to the "dev-packages" array');
132
- console.log(' • Use "opkg install <package-name>" to install a specific package');
133
- return { success: true, data: { installed: 0, skipped: 0 } };
134
- }
135
- console.log(`✓ Installing ${contexts.length} package${contexts.length === 1 ? '' : 's'} from openpackage.yml`);
136
- let totalInstalled = 0;
137
- let totalSkipped = 0;
138
- const results = [];
139
- for (const ctx of contexts) {
140
- try {
141
- const result = await runUnifiedInstallPipeline(ctx);
142
- if (result.success) {
143
- totalInstalled++;
144
- results.push({ name: ctx.source.packageName, success: true });
145
- }
146
- else {
147
- totalSkipped++;
148
- results.push({ name: ctx.source.packageName, success: false, error: result.error });
149
- console.log(`❌ ${ctx.source.packageName}: ${result.error}`);
150
- }
151
- }
152
- catch (error) {
153
- totalSkipped++;
154
- results.push({ name: ctx.source.packageName, success: false, error: String(error) });
155
- console.log(`❌ ${ctx.source.packageName}: ${error}`);
156
- }
157
- }
158
- // Display summary
159
- console.log(`✓ Installation complete: ${totalInstalled} installed${totalSkipped > 0 ? `, ${totalSkipped} failed` : ''}`);
160
- const allSuccessful = totalSkipped === 0;
161
- return {
162
- success: allSuccessful,
163
- data: { installed: totalInstalled, skipped: totalSkipped, results },
164
- error: allSuccessful ? undefined : `${totalSkipped} packages failed to install`
165
- };
166
- }
2
+ import { createOrchestrator } from '../core/install/orchestrator/index.js';
3
+ import { normalizeInstallOptions } from '../core/install/preprocessing/index.js';
167
4
  /**
168
5
  * Setup install command
169
6
  */
@@ -177,31 +14,23 @@ export function setupInstallCommand(program) {
177
14
  .option('--dry-run', 'preview changes without applying them')
178
15
  .option('--force', 'overwrite existing files')
179
16
  .option('--conflicts <strategy>', 'conflict handling strategy: keep-both, overwrite, skip, or ask')
180
- .option('--dev', 'add package to dev-packages instead of packages')
17
+ .option('--dev', 'add package to dev-dependencies instead of dependencies')
181
18
  .option('--platforms <platforms...>', 'prepare specific platforms (e.g., cursor claudecode opencode)')
182
19
  .option('--remote', 'pull and install from remote registry, ignoring local versions')
183
20
  .option('--local', 'resolve and install using only local registry versions, skipping remote metadata and pulls')
184
21
  .option('--profile <profile>', 'profile to use for authentication')
185
22
  .option('--api-key <key>', 'API key for authentication (overrides profile)')
23
+ .option('--plugins <names...>', 'install specific plugins from marketplace (bypasses interactive selection)')
24
+ .option('--agents <names...>', 'install specific agents by name (matches frontmatter name or filename)')
25
+ .option('--skills <names...>', 'install specific skills by name (matches SKILL.md frontmatter name or directory name)')
186
26
  .action(withErrorHandling(async (packageName, options) => {
187
- // Normalize platforms
188
- options.platforms = normalizePlatforms(options.platforms);
189
- // Normalize conflict strategy
190
- const commandOptions = options;
191
- const rawConflictStrategy = commandOptions.conflicts ?? options.conflictStrategy;
192
- if (rawConflictStrategy) {
193
- const normalizedStrategy = rawConflictStrategy.toLowerCase();
194
- const allowedStrategies = [
195
- 'keep-both', 'overwrite', 'skip', 'ask'
196
- ];
197
- if (!allowedStrategies.includes(normalizedStrategy)) {
198
- throw new Error(`Invalid --conflicts value '${rawConflictStrategy}'. ` +
199
- `Use one of: keep-both, overwrite, skip, ask.`);
200
- }
201
- options.conflictStrategy = normalizedStrategy;
202
- }
203
- // Execute install
204
- const result = await installCommand(packageName, options);
27
+ const cwd = process.cwd();
28
+ // Normalize all options at CLI boundary
29
+ const normalizedOptions = normalizeInstallOptions(options);
30
+ // Create and execute orchestrator
31
+ const orchestrator = createOrchestrator();
32
+ const result = await orchestrator.execute(packageName, normalizedOptions, cwd);
33
+ // Handle result
205
34
  if (!result.success) {
206
35
  if (result.error === 'Package not found') {
207
36
  return; // Already displayed message
@@ -1 +1 @@
1
- {"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAC;AAC3E,OAAO,EAAE,uBAAuB,EAAE,MAAM,wCAAwC,CAAC;AAEjF;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,OAAgB;IAClD,OAAO;SACJ,OAAO,CAAC,SAAS,CAAC;SAClB,KAAK,CAAC,GAAG,CAAC;SACV,WAAW,CAAC,+BAA+B,CAAC;SAC5C,QAAQ,CACP,gBAAgB,EAChB,qIAAqI;QACrI,kCAAkC,CACnC;SACA,MAAM,CAAC,WAAW,EAAE,uCAAuC,CAAC;SAC5D,MAAM,CAAC,SAAS,EAAE,0BAA0B,CAAC;SAC7C,MAAM,CAAC,wBAAwB,EAAE,gEAAgE,CAAC;SAClG,MAAM,CAAC,OAAO,EAAE,yDAAyD,CAAC;SAC1E,MAAM,CAAC,4BAA4B,EAAE,+DAA+D,CAAC;SACrG,MAAM,CAAC,UAAU,EAAE,gEAAgE,CAAC;SACpF,MAAM,CAAC,SAAS,EAAE,4FAA4F,CAAC;SAC/G,MAAM,CAAC,qBAAqB,EAAE,mCAAmC,CAAC;SAClE,MAAM,CAAC,iBAAiB,EAAE,gDAAgD,CAAC;SAC3E,MAAM,CAAC,sBAAsB,EAAE,4EAA4E,CAAC;SAC5G,MAAM,CAAC,qBAAqB,EAAE,wEAAwE,CAAC;SACvG,MAAM,CAAC,qBAAqB,EAAE,uFAAuF,CAAC;SACtH,MAAM,CAAC,iBAAiB,CAAC,KAAK,EAC7B,WAA+B,EAC/B,OAIC,EACD,EAAE;QACF,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QAE1B,wCAAwC;QACxC,MAAM,iBAAiB,GAAG,uBAAuB,CAAC,OAAO,CAAC,CAAC;QAE3D,kCAAkC;QAClC,MAAM,YAAY,GAAG,kBAAkB,EAAE,CAAC;QAC1C,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,OAAO,CAAC,WAAW,EAAE,iBAAiB,EAAE,GAAG,CAAC,CAAC;QAE/E,gBAAgB;QAChB,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,IAAI,MAAM,CAAC,KAAK,KAAK,mBAAmB,EAAE,CAAC;gBACzC,OAAO,CAAC,4BAA4B;YACtC,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI,+BAA+B,CAAC,CAAC;QACnE,CAAC;IACH,CAAC,CAAC,CAAC,CAAC;AACR,CAAC"}
@@ -1,90 +1,103 @@
1
- import { ensureRegistryDirectories } from '../core/directory.js';
2
- import { registryManager } from '../core/registry.js';
1
+ import { withErrorHandling, ValidationError } from '../utils/errors.js';
2
+ import { runListPipeline } from '../core/list/list-pipeline.js';
3
3
  import { logger } from '../utils/logger.js';
4
- import { withErrorHandling } from '../utils/errors.js';
5
- import { displayPackageTable } from '../utils/formatters.js';
6
- import { arePackageNamesEquivalent } from '../utils/package-name.js';
7
- import { isUnversionedVersion } from '../utils/package-versioning.js';
8
- /**
9
- * List packages command implementation
10
- */
11
- async function listPackagesCommand(options) {
12
- logger.info('Listing local packages');
13
- // Ensure registry directories exist
14
- await ensureRegistryDirectories();
15
- try {
16
- // If package name is provided, use exact matching; otherwise use filter
17
- const filter = options.packageName || options.filter;
18
- // When package name is specified, show all versions automatically
19
- const showAllVersions = options.packageName ? true : options.all;
20
- const entries = await registryManager.listPackages(filter, showAllVersions);
21
- const formatVersionDisplay = (version) => (isUnversionedVersion(version) ? 'Unversioned' : (version ?? 'Unversioned'));
22
- // If a specific package name was provided, filter for exact matches only
23
- let filteredEntries = entries;
24
- if (options.packageName) {
25
- const target = options.packageName;
26
- filteredEntries = entries.filter(entry => arePackageNamesEquivalent(entry.name, target));
4
+ import { parsePackageYml } from '../utils/package-yml.js';
5
+ import { getLocalPackageYmlPath } from '../utils/paths.js';
6
+ // ANSI escape codes for styling
7
+ const DIM = '\x1b[2m';
8
+ const RESET = '\x1b[0m';
9
+ function dim(text) {
10
+ return `${DIM}${text}${RESET}`;
11
+ }
12
+ function printTreeView(workspaceName, workspaceVersion, packages, cwd) {
13
+ // Omit version if it's 0.0.0 (unversioned)
14
+ const version = workspaceVersion && workspaceVersion !== '0.0.0' ? `@${workspaceVersion}` : '';
15
+ console.log(`${workspaceName}${version} ${cwd}`);
16
+ if (packages.length === 0) {
17
+ return;
18
+ }
19
+ packages.forEach((pkg, index) => {
20
+ const isLast = index === packages.length - 1;
21
+ const treeChar = isLast ? '└──' : '├──';
22
+ // Omit version if it's 0.0.0 (unversioned)
23
+ const pkgVersion = pkg.version && pkg.version !== '0.0.0' ? `@${pkg.version}` : '';
24
+ // Add dimmed status indicator if not synced
25
+ let statusSuffix = '';
26
+ if (pkg.state === 'partial') {
27
+ statusSuffix = dim(` (partial ${pkg.existingFiles}/${pkg.totalFiles})`);
27
28
  }
28
- const displayEntries = filteredEntries.map(entry => ({
29
- ...entry,
30
- version: formatVersionDisplay(entry.version)
31
- }));
32
- if (filteredEntries.length === 0) {
33
- if (options.packageName) {
34
- console.log(`Package not found: ${options.packageName}`);
35
- }
36
- else if (options.filter) {
37
- console.log(`No packages found matching filter: ${options.filter}`);
38
- }
39
- else {
40
- console.log('No packages found. Use "opkg new <package-name>" to create your first package.');
41
- }
42
- return { success: true, data: [] };
29
+ else if (pkg.state === 'missing') {
30
+ statusSuffix = dim(' (missing)');
43
31
  }
44
- // Display results
45
- if (options.format === 'json') {
46
- console.log(JSON.stringify(displayEntries, null, 2));
32
+ console.log(`${treeChar} ${pkg.name}${pkgVersion}${statusSuffix}`);
33
+ });
34
+ }
35
+ function printDetailedView(pkg) {
36
+ // Omit version if it's 0.0.0 (unversioned)
37
+ const version = pkg.version && pkg.version !== '0.0.0' ? `@${pkg.version}` : '';
38
+ console.log(`${pkg.name}${version}`);
39
+ // Status line
40
+ if (pkg.state === 'partial') {
41
+ console.log(`Status: ${pkg.state} (${pkg.existingFiles}/${pkg.totalFiles} files)`);
42
+ }
43
+ else {
44
+ console.log(`Status: ${pkg.state}`);
45
+ }
46
+ console.log(`Source: ${pkg.path}`);
47
+ // Show files or error
48
+ if (pkg.state === 'missing') {
49
+ console.log('Error: Source directory not found');
50
+ }
51
+ else if (pkg.fileList && pkg.fileList.length > 0) {
52
+ console.log(`Files (${pkg.fileList.length}):`);
53
+ for (const file of pkg.fileList) {
54
+ console.log(` ${file.source} → ${file.target}`);
47
55
  }
48
- else {
49
- // Table format using shared formatter
50
- const tableEntries = displayEntries.map(entry => ({
51
- name: entry.name,
52
- version: entry.version,
53
- description: entry.description
54
- }));
55
- let title;
56
- if (options.packageName) {
57
- title = `Package '${options.packageName}' (all versions):`;
58
- }
59
- else {
60
- title = options.all ? 'Local packages (all versions):' : 'Local packages (latest versions):';
56
+ }
57
+ }
58
+ async function listCommand(packageName) {
59
+ const cwd = process.cwd();
60
+ logger.info(`Listing packages for directory: ${cwd}`);
61
+ try {
62
+ const result = await runListPipeline(packageName);
63
+ const packages = result.data?.packages ?? [];
64
+ // If specific package requested, show detailed view
65
+ if (packageName) {
66
+ if (packages.length === 0) {
67
+ throw new ValidationError(`Package '${packageName}' not found in workspace index`);
61
68
  }
62
- displayPackageTable(tableEntries, title, showAllVersions);
69
+ printDetailedView(packages[0]);
70
+ return { success: true, data: { packages } };
71
+ }
72
+ // Otherwise show tree view
73
+ const manifestPath = getLocalPackageYmlPath(cwd);
74
+ let workspaceName = 'Unnamed';
75
+ let workspaceVersion;
76
+ try {
77
+ const manifest = await parsePackageYml(manifestPath);
78
+ workspaceName = manifest.name || 'Unnamed';
79
+ workspaceVersion = manifest.version;
63
80
  }
64
- return {
65
- success: true,
66
- data: displayEntries
67
- };
81
+ catch (error) {
82
+ logger.warn(`Failed to read workspace manifest: ${error}`);
83
+ }
84
+ printTreeView(workspaceName, workspaceVersion, packages, cwd);
85
+ return { success: true, data: { packages } };
68
86
  }
69
87
  catch (error) {
70
- logger.error('Failed to list packages', { error });
71
- throw new Error(`Failed to list packages: ${error}`);
88
+ if (error instanceof ValidationError) {
89
+ throw error;
90
+ }
91
+ throw error;
72
92
  }
73
93
  }
74
- /**
75
- * Setup the list command
76
- */
77
94
  export function setupListCommand(program) {
78
95
  program
79
- .command('list [package-name]')
80
- .alias('ls')
81
- .description('List local packages')
82
- .option('--format <format>', 'output format (table|json)', 'table')
83
- .option('--filter <pattern>', 'filter packages by name pattern')
84
- .option('--all', 'show all versions (default shows only latest)')
85
- .action(withErrorHandling(async (packageName, options) => {
86
- options.packageName = packageName;
87
- await listPackagesCommand(options);
96
+ .command('list')
97
+ .description('Show installed packages and files')
98
+ .argument('[package]', 'Optional package name to show installed per package')
99
+ .action(withErrorHandling(async (packageName) => {
100
+ await listCommand(packageName);
88
101
  }));
89
102
  }
90
103
  //# sourceMappingURL=list.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"list.js","sourceRoot":"","sources":["../../src/commands/list.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAqB,MAAM,wBAAwB,CAAC;AAChF,OAAO,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AACrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AAEtE;;GAEG;AACH,KAAK,UAAU,mBAAmB,CAAC,OAAoB;IACrD,MAAM,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;IAEtC,oCAAoC;IACpC,MAAM,yBAAyB,EAAE,CAAC;IAElC,IAAI,CAAC;QACH,wEAAwE;QACxE,MAAM,MAAM,GAAG,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC;QACrD,kEAAkE;QAClE,MAAM,eAAe,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC;QACjE,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC,YAAY,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;QAC5E,MAAM,oBAAoB,GAAG,CAAC,OAAgB,EAAE,EAAE,CAAC,CACjD,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,aAAa,CAAC,CAC3E,CAAC;QAEF,yEAAyE;QACzE,IAAI,eAAe,GAAG,OAAO,CAAC;QAC9B,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;YACxB,MAAM,MAAM,GAAE,OAAO,CAAC,WAAW,CAAC;YAClC,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,yBAAyB,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;QAC3F,CAAC;QACD,MAAM,cAAc,GAAG,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACnD,GAAG,KAAK;YACR,OAAO,EAAE,oBAAoB,CAAC,KAAK,CAAC,OAAO,CAAC;SAC7C,CAAC,CAAC,CAAC;QAEJ,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACjC,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;gBACxB,OAAO,CAAC,GAAG,CAAC,sBAAsB,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;YAC3D,CAAC;iBAAM,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;gBAC1B,OAAO,CAAC,GAAG,CAAC,sCAAsC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;YACtE,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,gFAAgF,CAAC,CAAC;YAChG,CAAC;YACD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;QACrC,CAAC;QAED,kBAAkB;QAClB,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YAC9B,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QACvD,CAAC;aAAM,CAAC;YACN,sCAAsC;YACtC,MAAM,YAAY,GAAwB,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBACrE,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,WAAW,EAAE,KAAK,CAAC,WAAW;aAC/B,CAAC,CAAC,CAAC;YAEJ,IAAI,KAAa,CAAC;YAClB,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;gBACxB,KAAK,GAAG,YAAY,OAAO,CAAC,WAAW,mBAAmB,CAAC;YAC7D,CAAC;iBAAM,CAAC;gBACN,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,gCAAgC,CAAC,CAAC,CAAC,mCAAmC,CAAC;YAC/F,CAAC;YAED,mBAAmB,CAAC,YAAY,EAAE,KAAK,EAAE,eAAe,CAAC,CAAC;QAC5D,CAAC;QAED,OAAO;YACL,OAAO,EAAE,IAAI;YACb,IAAI,EAAE,cAAc;SACrB,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CAAC,yBAAyB,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QACnD,MAAM,IAAI,KAAK,CAAC,4BAA4B,KAAK,EAAE,CAAC,CAAC;IACvD,CAAC;AACH,CAAC;AAGD;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAAgB;IAC/C,OAAO;SACJ,OAAO,CAAC,qBAAqB,CAAC;SAC9B,KAAK,CAAC,IAAI,CAAC;SACX,WAAW,CAAC,qBAAqB,CAAC;SAClC,MAAM,CAAC,mBAAmB,EAAE,4BAA4B,EAAE,OAAO,CAAC;SAClE,MAAM,CAAC,oBAAoB,EAAE,iCAAiC,CAAC;SAC/D,MAAM,CAAC,OAAO,EAAE,+CAA+C,CAAC;SAChE,MAAM,CAAC,iBAAiB,CAAC,KAAK,EAAE,WAA+B,EAAE,OAAoB,EAAE,EAAE;QACxF,OAAO,CAAC,WAAW,GAAG,WAAW,CAAC;QAClC,MAAM,mBAAmB,CAAC,OAAO,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC,CAAC;AACR,CAAC"}
1
+ {"version":3,"file":"list.js","sourceRoot":"","sources":["../../src/commands/list.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import { withErrorHandling } from '../utils/errors.js';
2
+ import { runPublishPipeline } from '../core/publish/publish-pipeline.js';
3
+ export function setupPublishCommand(program) {
4
+ program
5
+ .command('publish')
6
+ .description('Publish package from current directory to remote registry')
7
+ .option('--profile <profile>', 'profile to use for authentication')
8
+ .option('--api-key <key>', 'API key for authentication (overrides profile)')
9
+ .action(withErrorHandling(async (options) => {
10
+ const result = await runPublishPipeline(options);
11
+ if (!result.success) {
12
+ throw new Error(result.error || 'Publish operation failed');
13
+ }
14
+ }));
15
+ }
16
+ //# sourceMappingURL=publish.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"publish.js","sourceRoot":"","sources":["../../src/commands/publish.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAGzE,MAAM,UAAU,mBAAmB,CAAC,OAAgB;IAClD,OAAO;SACJ,OAAO,CAAC,SAAS,CAAC;SAClB,WAAW,CAAC,2DAA2D,CAAC;SACxE,MAAM,CAAC,qBAAqB,EAAE,mCAAmC,CAAC;SAClE,MAAM,CAAC,iBAAiB,EAAE,gDAAgD,CAAC;SAC3E,MAAM,CAAC,iBAAiB,CAAC,KAAK,EAAE,OAAuB,EAAE,EAAE;QAC1D,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,OAAO,CAAC,CAAC;QACjD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI,0BAA0B,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC,CAAC,CAAC,CAAC;AACR,CAAC"}