diff --git a/.changeset/display-config-full-coverage.md b/.changeset/display-config-full-coverage.md deleted file mode 100644 index 01b8db2..0000000 --- a/.changeset/display-config-full-coverage.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -'@kidd-cli/core': minor ---- - -feat(core): add DisplayConfig and full clack API coverage - -Introduces `DisplayConfig` — a per-CLI configuration object that injects defaults into all clack-backed APIs (`ctx.log`, `ctx.prompts`, `ctx.status`). Only `aliases` and `messages` are applied globally via `updateSettings()`; everything else is merged per-call so method-level options always win. - -Also widens all kidd interfaces to match the full `@clack/prompts` API surface: - -- **Prompts**: `ConfirmOptions.vertical`, `PasswordOptions.clearOnError`, `GroupMultiSelectOptions.cursorAt`/`groupSpacing`, `AutocompleteOptions.initialUserInput`, `SelectKeyOptions.caseSensitive`, `PathOptions.validate` accepts `string | undefined` -- **Spinner**: `cancel()`, `error()`, `clear()`, `isCancelled` -- **ProgressBar**: `message()`, `cancel()`, `error()`, `clear()`, `isCancelled` -- **TaskLog**: `group()` sub-groups, `TaskLogMessageOptions.raw`, `TaskLogCompletionOptions.showLog`, `TaskLogOptions.spacing` -- **Log**: all level methods accept `LogMessageOptions` (symbol, spacing, secondarySymbol); `note` accepts `NoteOptions` with `format`; `BoxOptions.formatBorder` diff --git a/.changeset/feat-run-command.md b/.changeset/feat-run-command.md deleted file mode 100644 index 64b6f7f..0000000 --- a/.changeset/feat-run-command.md +++ /dev/null @@ -1,18 +0,0 @@ ---- -'@kidd-cli/core': minor -'@kidd-cli/cli': minor ---- - -feat(core): add configurable `strict` mode for CLI, command, and screen - -Add `strict` option to `CliOptions`, `CommandDef`, and `ScreenDef` to control whether yargs rejects unknown flags. Defaults to `true` (existing behavior). Per-command `strict: false` overrides the CLI-level setting. - -feat(cli): add `kidd run` command - -New command to run the current kidd CLI project with three engine modes: - -- `node` (default) — builds first, then runs `node dist/index.mjs` -- `tsx` — runs the source entry file directly via `tsx` -- `binary` — builds and compiles, then executes the compiled binary - -Supports `--inspect`, `--inspect-brk`, `--inspect-wait`, and `--inspect-port` for debugging (node and tsx engines only). All unknown flags are forwarded to the executed CLI. diff --git a/.changeset/figures-middleware.md b/.changeset/figures-middleware.md deleted file mode 100644 index ead48e7..0000000 --- a/.changeset/figures-middleware.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@kidd-cli/core': minor ---- - -Add `figures` middleware that decorates `ctx.figures` with platform-appropriate terminal symbols from the `figures` package by sindresorhus diff --git a/.changeset/help-version-aliases.md b/.changeset/help-version-aliases.md deleted file mode 100644 index dd49f18..0000000 --- a/.changeset/help-version-aliases.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@kidd-cli/core': patch ---- - -Add `-h` alias for `--help` and `-v` alias for `--version` diff --git a/.changeset/new-parts-stop.md b/.changeset/new-parts-stop.md deleted file mode 100644 index a845151..0000000 --- a/.changeset/new-parts-stop.md +++ /dev/null @@ -1,2 +0,0 @@ ---- ---- diff --git a/packages/cli/CHANGELOG.md b/packages/cli/CHANGELOG.md index 42c882f..20e5763 100644 --- a/packages/cli/CHANGELOG.md +++ b/packages/cli/CHANGELOG.md @@ -1,5 +1,31 @@ # kidd-cli +## 0.8.0 + +### Minor Changes + +- f0198b2: feat(core): add configurable `strict` mode for CLI, command, and screen + + Add `strict` option to `CliOptions`, `CommandDef`, and `ScreenDef` to control whether yargs rejects unknown flags. Defaults to `true` (existing behavior). Per-command `strict: false` overrides the CLI-level setting. + + feat(cli): add `kidd run` command + + New command to run the current kidd CLI project with three engine modes: + + - `node` (default) — builds first, then runs `node dist/index.mjs` + - `tsx` — runs the source entry file directly via `tsx` + - `binary` — builds and compiles, then executes the compiled binary + + Supports `--inspect`, `--inspect-brk`, `--inspect-wait`, and `--inspect-port` for debugging (node and tsx engines only). All unknown flags are forwarded to the executed CLI. + +### Patch Changes + +- Updated dependencies [e724996] +- Updated dependencies [f0198b2] +- Updated dependencies [f51a6b1] +- Updated dependencies [ddc5140] + - @kidd-cli/core@0.17.0 + ## 0.7.0 ### Minor Changes diff --git a/packages/cli/package.json b/packages/cli/package.json index 40463ea..1495ed8 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "@kidd-cli/cli", - "version": "0.7.0", + "version": "0.8.0", "description": "DX companion CLI for the kidd framework", "keywords": [ "cli", diff --git a/packages/core/CHANGELOG.md b/packages/core/CHANGELOG.md index aaf1255..c12f741 100644 --- a/packages/core/CHANGELOG.md +++ b/packages/core/CHANGELOG.md @@ -1,5 +1,41 @@ # kidd +## 0.17.0 + +### Minor Changes + +- e724996: feat(core): add DisplayConfig and full clack API coverage + + Introduces `DisplayConfig` — a per-CLI configuration object that injects defaults into all clack-backed APIs (`ctx.log`, `ctx.prompts`, `ctx.status`). Only `aliases` and `messages` are applied globally via `updateSettings()`; everything else is merged per-call so method-level options always win. + + Also widens all kidd interfaces to match the full `@clack/prompts` API surface: + + - **Prompts**: `ConfirmOptions.vertical`, `PasswordOptions.clearOnError`, `GroupMultiSelectOptions.cursorAt`/`groupSpacing`, `AutocompleteOptions.initialUserInput`, `SelectKeyOptions.caseSensitive`, `PathOptions.validate` accepts `string | undefined` + - **Spinner**: `cancel()`, `error()`, `clear()`, `isCancelled` + - **ProgressBar**: `message()`, `cancel()`, `error()`, `clear()`, `isCancelled` + - **TaskLog**: `group()` sub-groups, `TaskLogMessageOptions.raw`, `TaskLogCompletionOptions.showLog`, `TaskLogOptions.spacing` + - **Log**: all level methods accept `LogMessageOptions` (symbol, spacing, secondarySymbol); `note` accepts `NoteOptions` with `format`; `BoxOptions.formatBorder` + +- f0198b2: feat(core): add configurable `strict` mode for CLI, command, and screen + + Add `strict` option to `CliOptions`, `CommandDef`, and `ScreenDef` to control whether yargs rejects unknown flags. Defaults to `true` (existing behavior). Per-command `strict: false` overrides the CLI-level setting. + + feat(cli): add `kidd run` command + + New command to run the current kidd CLI project with three engine modes: + + - `node` (default) — builds first, then runs `node dist/index.mjs` + - `tsx` — runs the source entry file directly via `tsx` + - `binary` — builds and compiles, then executes the compiled binary + + Supports `--inspect`, `--inspect-brk`, `--inspect-wait`, and `--inspect-port` for debugging (node and tsx engines only). All unknown flags are forwarded to the executed CLI. + +- f51a6b1: Add `figures` middleware that decorates `ctx.figures` with platform-appropriate terminal symbols from the `figures` package by sindresorhus + +### Patch Changes + +- ddc5140: Add `-h` alias for `--help` and `-v` alias for `--version` + ## 0.16.0 ### Minor Changes diff --git a/packages/core/package.json b/packages/core/package.json index 9e8f497..7eb225e 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,6 +1,6 @@ { "name": "@kidd-cli/core", - "version": "0.16.0", + "version": "0.17.0", "description": "An opinionated CLI framework for Node.js", "keywords": [ "cli",