diff --git a/.changeset/cli-readme-toolbox.md b/.changeset/cli-readme-toolbox.md deleted file mode 100644 index 167c50ad..00000000 --- a/.changeset/cli-readme-toolbox.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -"@rrlab/cli": patch ---- - -Refresh the README for the microkernel model. - -Drop the stale, hand-maintained `Toolbox` section (it still listed `rimraf`, which isn't a plugin) and fold the tool list into the `Plugins` section as the single source of truth. The official plugins are now named there — `biome`, `oxc`, `ts`, `tsdown` — each linked to the tool it wraps, framed as capabilities added via plugins rather than a flat bag of tools. diff --git a/.changeset/clibuddy-drop-muted.md b/.changeset/clibuddy-drop-muted.md deleted file mode 100644 index cb089fdb..00000000 --- a/.changeset/clibuddy-drop-muted.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -"@vlandoss/clibuddy": patch -"@vlandoss/vland": patch ---- - -Drop the `muted` token from `palette` and route its callers through `palette.dim`. - -`muted` (a fixed `#a8afb5` gray) overlapped with `dim` for the secondary-text role it was used in (`$` command prefix, `v`, the `vland init` "Next steps" / source path). Consolidating on `dim` keeps a single secondary tone and lets it follow the terminal's dim attribute. `@vlandoss/vland`'s banner, `--usage` hint, and `init` output move to `dim` accordingly. diff --git a/.changeset/rrlab-cli-decoupling.md b/.changeset/rrlab-cli-decoupling.md deleted file mode 100644 index ac71983b..00000000 --- a/.changeset/rrlab-cli-decoupling.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -"@rrlab/cli": minor -"@rrlab/biome-plugin": patch -"@rrlab/oxc-plugin": patch -"@rrlab/ts-plugin": patch -"@rrlab/tsdown-plugin": patch ---- - -Decouple the CLI into framework-agnostic layers and redesign the help surface. - -Every command body becomes a free-function action (`src/actions/*`) that takes a single `ActionConfig` object; commander commands are thin wrappers that resolve their service via the `ctx.plugins` facade (throwing `MissingPluginError` when no configured plugin provides the capability) and delegate to exactly one action. Actions depend only on `services`/`render`/`lib`, never on the CLI framework. The plugin SDK moves to `src/lib/plugin/*`, ad-hoc errors become domain error classes (`src/errors/*` for kernel errors, `src/lib/plugin/errors.ts` for SDK errors), and a plugin's `ui` label is now derived from a single `color` function it provides — plugins no longer hard-code their own `ui` string. The `plugins` command monolith is split into `actions/plugins/*`, and the official plugin list is reshaped into `src/lib/plugin/directory.ts` (`PLUGINS_DIRECTORY` + `allPluginNames`/`isPluginName`). - -The help surface is rebuilt on commander's native formatter instead of a bespoke help class: the root program is a `RunRunCmd` subclass that groups commands (`Code quality:` / `Build:` / `Maintenance:` / `Meta:`) and attaches a banner and an installed/available plugins footer via `addHelpText`. Unknown commands now use commander's native `showSuggestionAfterError` "Did you mean?" output. `--about` credits, per-command `Powered by:` / `See also:` lines (auto-derived from each command's declared capabilities by the `Cmd` base class in `src/program/base.ts`), the installed/available plugins footer (`render/footer.ts`), a `rr config` plugins table (package + version), and a small table/line builder (`render/lines.ts`) round out the rendering layer. diff --git a/run-run/biome-plugin/CHANGELOG.md b/run-run/biome-plugin/CHANGELOG.md index 2b9195a4..f815dbc3 100644 --- a/run-run/biome-plugin/CHANGELOG.md +++ b/run-run/biome-plugin/CHANGELOG.md @@ -1,5 +1,18 @@ # @rrlab/biome-plugin +## 1.1.1 + +### Patch Changes + +- [#235](https://github.com/variableland/dx/pull/235) [`c82191d`](https://github.com/variableland/dx/commit/c82191d8b450eaf551c5c488858193a385a48a50) Thanks [@rqbazan](https://github.com/rqbazan)! - Decouple the CLI into framework-agnostic layers and redesign the help surface. + + Every command body becomes a free-function action (`src/actions/*`) that takes a single `ActionConfig` object; commander commands are thin wrappers that resolve their service via the `ctx.plugins` facade (throwing `MissingPluginError` when no configured plugin provides the capability) and delegate to exactly one action. Actions depend only on `services`/`render`/`lib`, never on the CLI framework. The plugin SDK moves to `src/lib/plugin/*`, ad-hoc errors become domain error classes (`src/errors/*` for kernel errors, `src/lib/plugin/errors.ts` for SDK errors), and a plugin's `ui` label is now derived from a single `color` function it provides — plugins no longer hard-code their own `ui` string. The `plugins` command monolith is split into `actions/plugins/*`, and the official plugin list is reshaped into `src/lib/plugin/directory.ts` (`PLUGINS_DIRECTORY` + `allPluginNames`/`isPluginName`). + + The help surface is rebuilt on commander's native formatter instead of a bespoke help class: the root program is a `RunRunCmd` subclass that groups commands (`Code quality:` / `Build:` / `Maintenance:` / `Meta:`) and attaches a banner and an installed/available plugins footer via `addHelpText`. Unknown commands now use commander's native `showSuggestionAfterError` "Did you mean?" output. `--about` credits, per-command `Powered by:` / `See also:` lines (auto-derived from each command's declared capabilities by the `Cmd` base class in `src/program/base.ts`), the installed/available plugins footer (`render/footer.ts`), a `rr config` plugins table (package + version), and a small table/line builder (`render/lines.ts`) round out the rendering layer. + +- Updated dependencies [[`c82191d`](https://github.com/variableland/dx/commit/c82191d8b450eaf551c5c488858193a385a48a50)]: + - @vlandoss/clibuddy@0.7.1 + ## 1.1.0 ### Minor Changes diff --git a/run-run/biome-plugin/package.json b/run-run/biome-plugin/package.json index 19b78b27..47f31298 100644 --- a/run-run/biome-plugin/package.json +++ b/run-run/biome-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rrlab/biome-plugin", - "version": "1.1.0", + "version": "1.1.1", "description": "Biome plugin for @rrlab/cli — provides lint, format, and jsc capabilities.", "homepage": "https://github.com/variableland/dx/tree/main/run-run/biome-plugin#readme", "bugs": { diff --git a/run-run/cli/CHANGELOG.md b/run-run/cli/CHANGELOG.md index 7a7e2727..b30ca3a8 100644 --- a/run-run/cli/CHANGELOG.md +++ b/run-run/cli/CHANGELOG.md @@ -1,5 +1,24 @@ # @rrlab/cli +## 1.2.0 + +### Minor Changes + +- [#235](https://github.com/variableland/dx/pull/235) [`c82191d`](https://github.com/variableland/dx/commit/c82191d8b450eaf551c5c488858193a385a48a50) Thanks [@rqbazan](https://github.com/rqbazan)! - Decouple the CLI into framework-agnostic layers and redesign the help surface. + + Every command body becomes a free-function action (`src/actions/*`) that takes a single `ActionConfig` object; commander commands are thin wrappers that resolve their service via the `ctx.plugins` facade (throwing `MissingPluginError` when no configured plugin provides the capability) and delegate to exactly one action. Actions depend only on `services`/`render`/`lib`, never on the CLI framework. The plugin SDK moves to `src/lib/plugin/*`, ad-hoc errors become domain error classes (`src/errors/*` for kernel errors, `src/lib/plugin/errors.ts` for SDK errors), and a plugin's `ui` label is now derived from a single `color` function it provides — plugins no longer hard-code their own `ui` string. The `plugins` command monolith is split into `actions/plugins/*`, and the official plugin list is reshaped into `src/lib/plugin/directory.ts` (`PLUGINS_DIRECTORY` + `allPluginNames`/`isPluginName`). + + The help surface is rebuilt on commander's native formatter instead of a bespoke help class: the root program is a `RunRunCmd` subclass that groups commands (`Code quality:` / `Build:` / `Maintenance:` / `Meta:`) and attaches a banner and an installed/available plugins footer via `addHelpText`. Unknown commands now use commander's native `showSuggestionAfterError` "Did you mean?" output. `--about` credits, per-command `Powered by:` / `See also:` lines (auto-derived from each command's declared capabilities by the `Cmd` base class in `src/program/base.ts`), the installed/available plugins footer (`render/footer.ts`), a `rr config` plugins table (package + version), and a small table/line builder (`render/lines.ts`) round out the rendering layer. + +### Patch Changes + +- [#237](https://github.com/variableland/dx/pull/237) [`b761f03`](https://github.com/variableland/dx/commit/b761f037024ec1e9aa09d8efff334409d9098839) Thanks [@rqbazan](https://github.com/rqbazan)! - Refresh the README for the microkernel model. + + Drop the stale, hand-maintained `Toolbox` section (it still listed `rimraf`, which isn't a plugin) and fold the tool list into the `Plugins` section as the single source of truth. The official plugins are now named there — `biome`, `oxc`, `ts`, `tsdown` — each linked to the tool it wraps, framed as capabilities added via plugins rather than a flat bag of tools. + +- Updated dependencies [[`c82191d`](https://github.com/variableland/dx/commit/c82191d8b450eaf551c5c488858193a385a48a50)]: + - @vlandoss/clibuddy@0.7.1 + ## 1.1.0 ### Minor Changes diff --git a/run-run/cli/package.json b/run-run/cli/package.json index 0f5d062c..777ca505 100644 --- a/run-run/cli/package.json +++ b/run-run/cli/package.json @@ -1,6 +1,6 @@ { "name": "@rrlab/cli", - "version": "1.1.0", + "version": "1.2.0", "description": "The CLI toolbox to fullstack common scripts in Variable Land", "homepage": "https://github.com/variableland/dx/tree/main/run-run/cli#readme", "bugs": { diff --git a/run-run/oxc-plugin/CHANGELOG.md b/run-run/oxc-plugin/CHANGELOG.md index 101e27a1..2a2c02e7 100644 --- a/run-run/oxc-plugin/CHANGELOG.md +++ b/run-run/oxc-plugin/CHANGELOG.md @@ -1,5 +1,18 @@ # @rrlab/oxc-plugin +## 1.1.1 + +### Patch Changes + +- [#235](https://github.com/variableland/dx/pull/235) [`c82191d`](https://github.com/variableland/dx/commit/c82191d8b450eaf551c5c488858193a385a48a50) Thanks [@rqbazan](https://github.com/rqbazan)! - Decouple the CLI into framework-agnostic layers and redesign the help surface. + + Every command body becomes a free-function action (`src/actions/*`) that takes a single `ActionConfig` object; commander commands are thin wrappers that resolve their service via the `ctx.plugins` facade (throwing `MissingPluginError` when no configured plugin provides the capability) and delegate to exactly one action. Actions depend only on `services`/`render`/`lib`, never on the CLI framework. The plugin SDK moves to `src/lib/plugin/*`, ad-hoc errors become domain error classes (`src/errors/*` for kernel errors, `src/lib/plugin/errors.ts` for SDK errors), and a plugin's `ui` label is now derived from a single `color` function it provides — plugins no longer hard-code their own `ui` string. The `plugins` command monolith is split into `actions/plugins/*`, and the official plugin list is reshaped into `src/lib/plugin/directory.ts` (`PLUGINS_DIRECTORY` + `allPluginNames`/`isPluginName`). + + The help surface is rebuilt on commander's native formatter instead of a bespoke help class: the root program is a `RunRunCmd` subclass that groups commands (`Code quality:` / `Build:` / `Maintenance:` / `Meta:`) and attaches a banner and an installed/available plugins footer via `addHelpText`. Unknown commands now use commander's native `showSuggestionAfterError` "Did you mean?" output. `--about` credits, per-command `Powered by:` / `See also:` lines (auto-derived from each command's declared capabilities by the `Cmd` base class in `src/program/base.ts`), the installed/available plugins footer (`render/footer.ts`), a `rr config` plugins table (package + version), and a small table/line builder (`render/lines.ts`) round out the rendering layer. + +- Updated dependencies [[`c82191d`](https://github.com/variableland/dx/commit/c82191d8b450eaf551c5c488858193a385a48a50)]: + - @vlandoss/clibuddy@0.7.1 + ## 1.1.0 ### Minor Changes diff --git a/run-run/oxc-plugin/package.json b/run-run/oxc-plugin/package.json index 911c5760..289894b8 100644 --- a/run-run/oxc-plugin/package.json +++ b/run-run/oxc-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rrlab/oxc-plugin", - "version": "1.1.0", + "version": "1.1.1", "description": "oxc plugin for @rrlab/cli — provides lint (oxlint) and format (oxfmt) capabilities.", "homepage": "https://github.com/variableland/dx/tree/main/run-run/oxc-plugin#readme", "bugs": { diff --git a/run-run/ts-plugin/CHANGELOG.md b/run-run/ts-plugin/CHANGELOG.md index e3ddcd4a..6e6c2788 100644 --- a/run-run/ts-plugin/CHANGELOG.md +++ b/run-run/ts-plugin/CHANGELOG.md @@ -1,5 +1,18 @@ # @rrlab/ts-plugin +## 1.1.1 + +### Patch Changes + +- [#235](https://github.com/variableland/dx/pull/235) [`c82191d`](https://github.com/variableland/dx/commit/c82191d8b450eaf551c5c488858193a385a48a50) Thanks [@rqbazan](https://github.com/rqbazan)! - Decouple the CLI into framework-agnostic layers and redesign the help surface. + + Every command body becomes a free-function action (`src/actions/*`) that takes a single `ActionConfig` object; commander commands are thin wrappers that resolve their service via the `ctx.plugins` facade (throwing `MissingPluginError` when no configured plugin provides the capability) and delegate to exactly one action. Actions depend only on `services`/`render`/`lib`, never on the CLI framework. The plugin SDK moves to `src/lib/plugin/*`, ad-hoc errors become domain error classes (`src/errors/*` for kernel errors, `src/lib/plugin/errors.ts` for SDK errors), and a plugin's `ui` label is now derived from a single `color` function it provides — plugins no longer hard-code their own `ui` string. The `plugins` command monolith is split into `actions/plugins/*`, and the official plugin list is reshaped into `src/lib/plugin/directory.ts` (`PLUGINS_DIRECTORY` + `allPluginNames`/`isPluginName`). + + The help surface is rebuilt on commander's native formatter instead of a bespoke help class: the root program is a `RunRunCmd` subclass that groups commands (`Code quality:` / `Build:` / `Maintenance:` / `Meta:`) and attaches a banner and an installed/available plugins footer via `addHelpText`. Unknown commands now use commander's native `showSuggestionAfterError` "Did you mean?" output. `--about` credits, per-command `Powered by:` / `See also:` lines (auto-derived from each command's declared capabilities by the `Cmd` base class in `src/program/base.ts`), the installed/available plugins footer (`render/footer.ts`), a `rr config` plugins table (package + version), and a small table/line builder (`render/lines.ts`) round out the rendering layer. + +- Updated dependencies [[`c82191d`](https://github.com/variableland/dx/commit/c82191d8b450eaf551c5c488858193a385a48a50)]: + - @vlandoss/clibuddy@0.7.1 + ## 1.1.0 ### Minor Changes diff --git a/run-run/ts-plugin/package.json b/run-run/ts-plugin/package.json index c654baa3..5eb2b4e5 100644 --- a/run-run/ts-plugin/package.json +++ b/run-run/ts-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rrlab/ts-plugin", - "version": "1.1.0", + "version": "1.1.1", "description": "TypeScript plugin for @rrlab/cli — provides the tsc capability.", "homepage": "https://github.com/variableland/dx/tree/main/run-run/ts-plugin#readme", "bugs": { diff --git a/run-run/tsdown-plugin/CHANGELOG.md b/run-run/tsdown-plugin/CHANGELOG.md index 6a7f9c78..47e989f3 100644 --- a/run-run/tsdown-plugin/CHANGELOG.md +++ b/run-run/tsdown-plugin/CHANGELOG.md @@ -1,5 +1,18 @@ # @rrlab/tsdown-plugin +## 1.1.1 + +### Patch Changes + +- [#235](https://github.com/variableland/dx/pull/235) [`c82191d`](https://github.com/variableland/dx/commit/c82191d8b450eaf551c5c488858193a385a48a50) Thanks [@rqbazan](https://github.com/rqbazan)! - Decouple the CLI into framework-agnostic layers and redesign the help surface. + + Every command body becomes a free-function action (`src/actions/*`) that takes a single `ActionConfig` object; commander commands are thin wrappers that resolve their service via the `ctx.plugins` facade (throwing `MissingPluginError` when no configured plugin provides the capability) and delegate to exactly one action. Actions depend only on `services`/`render`/`lib`, never on the CLI framework. The plugin SDK moves to `src/lib/plugin/*`, ad-hoc errors become domain error classes (`src/errors/*` for kernel errors, `src/lib/plugin/errors.ts` for SDK errors), and a plugin's `ui` label is now derived from a single `color` function it provides — plugins no longer hard-code their own `ui` string. The `plugins` command monolith is split into `actions/plugins/*`, and the official plugin list is reshaped into `src/lib/plugin/directory.ts` (`PLUGINS_DIRECTORY` + `allPluginNames`/`isPluginName`). + + The help surface is rebuilt on commander's native formatter instead of a bespoke help class: the root program is a `RunRunCmd` subclass that groups commands (`Code quality:` / `Build:` / `Maintenance:` / `Meta:`) and attaches a banner and an installed/available plugins footer via `addHelpText`. Unknown commands now use commander's native `showSuggestionAfterError` "Did you mean?" output. `--about` credits, per-command `Powered by:` / `See also:` lines (auto-derived from each command's declared capabilities by the `Cmd` base class in `src/program/base.ts`), the installed/available plugins footer (`render/footer.ts`), a `rr config` plugins table (package + version), and a small table/line builder (`render/lines.ts`) round out the rendering layer. + +- Updated dependencies [[`c82191d`](https://github.com/variableland/dx/commit/c82191d8b450eaf551c5c488858193a385a48a50)]: + - @vlandoss/clibuddy@0.7.1 + ## 1.1.0 ### Minor Changes diff --git a/run-run/tsdown-plugin/package.json b/run-run/tsdown-plugin/package.json index a4c44a75..067660de 100644 --- a/run-run/tsdown-plugin/package.json +++ b/run-run/tsdown-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rrlab/tsdown-plugin", - "version": "1.1.0", + "version": "1.1.1", "description": "tsdown plugin for @rrlab/cli — provides the pack capability for building TS libraries.", "homepage": "https://github.com/variableland/dx/tree/main/run-run/tsdown-plugin#readme", "bugs": { diff --git a/shared/clibuddy/CHANGELOG.md b/shared/clibuddy/CHANGELOG.md index 3b2ecb51..d9b096e8 100644 --- a/shared/clibuddy/CHANGELOG.md +++ b/shared/clibuddy/CHANGELOG.md @@ -1,5 +1,13 @@ # @vlandoss/clibuddy +## 0.7.1 + +### Patch Changes + +- [#235](https://github.com/variableland/dx/pull/235) [`c82191d`](https://github.com/variableland/dx/commit/c82191d8b450eaf551c5c488858193a385a48a50) Thanks [@rqbazan](https://github.com/rqbazan)! - Drop the `muted` token from `palette` and route its callers through `palette.dim`. + + `muted` (a fixed `#a8afb5` gray) overlapped with `dim` for the secondary-text role it was used in (`$` command prefix, `v`, the `vland init` "Next steps" / source path). Consolidating on `dim` keeps a single secondary tone and lets it follow the terminal's dim attribute. `@vlandoss/vland`'s banner, `--usage` hint, and `init` output move to `dim` accordingly. + ## 0.7.0 ### Minor Changes diff --git a/shared/clibuddy/package.json b/shared/clibuddy/package.json index 469796f2..4032d8d5 100644 --- a/shared/clibuddy/package.json +++ b/shared/clibuddy/package.json @@ -1,6 +1,6 @@ { "name": "@vlandoss/clibuddy", - "version": "0.7.0", + "version": "0.7.1", "description": "A helper library to create CLIs in Variable Land", "homepage": "https://github.com/variableland/dx/tree/main/shared/clibuddy#readme", "bugs": { diff --git a/vland/cli/CHANGELOG.md b/vland/cli/CHANGELOG.md index 32fd07e2..1aa0df73 100644 --- a/vland/cli/CHANGELOG.md +++ b/vland/cli/CHANGELOG.md @@ -1,5 +1,16 @@ # @vlandoss/vland +## 0.3.2 + +### Patch Changes + +- [#235](https://github.com/variableland/dx/pull/235) [`c82191d`](https://github.com/variableland/dx/commit/c82191d8b450eaf551c5c488858193a385a48a50) Thanks [@rqbazan](https://github.com/rqbazan)! - Drop the `muted` token from `palette` and route its callers through `palette.dim`. + + `muted` (a fixed `#a8afb5` gray) overlapped with `dim` for the secondary-text role it was used in (`$` command prefix, `v`, the `vland init` "Next steps" / source path). Consolidating on `dim` keeps a single secondary tone and lets it follow the terminal's dim attribute. `@vlandoss/vland`'s banner, `--usage` hint, and `init` output move to `dim` accordingly. + +- Updated dependencies [[`c82191d`](https://github.com/variableland/dx/commit/c82191d8b450eaf551c5c488858193a385a48a50)]: + - @vlandoss/clibuddy@0.7.1 + ## 0.3.1 ### Patch Changes diff --git a/vland/cli/package.json b/vland/cli/package.json index b257040c..840ae4e6 100644 --- a/vland/cli/package.json +++ b/vland/cli/package.json @@ -1,6 +1,6 @@ { "name": "@vlandoss/vland", - "version": "0.3.1", + "version": "0.3.2", "description": "The CLI to init a new project in Variable Land", "homepage": "https://github.com/variableland/dx/tree/main/vland/cli#readme", "bugs": {