diff --git a/.changeset/ctrl-k-jumps-to-a-ticket.md b/.changeset/ctrl-k-jumps-to-a-ticket.md deleted file mode 100644 index 75ce689..0000000 --- a/.changeset/ctrl-k-jumps-to-a-ticket.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -"@kud/gh-ink": minor -"@kud/gh-cockpit": patch ---- - -Ctrl+K opens a launcher: type a ticket key, pick where it opens. - -A ticket that was not a row could not be reached without leaving the cockpit — ↵ on a row mounted the ticket in-tree, but there was no way to name one. Ctrl+K now floats a centred palette over the list, dimming it the way the legend does. Typing a key yields two rows, the first already under the cursor: `Open KEY here`, through whichever extension declares `drills: ["task"]` (the same door ↵ takes on a ticket row, so a host that has not claimed the kind gets no such row), and `Open KEY in Jira`, through the one rule the row menu's `t` already used — extracted to `openInJira` so the two cannot drift. `/` stays "narrow the list in place"; the launcher is a different verb and does not share its key. The footer and the `?` legend advertise `⌃K` only where `jiraBase` is set, because without it the palette can only say `Jira not configured`, followed by the host's own words on how (`jiraSetupHint`, a new prop beside `jiraBase`). A key that matches nothing says `no ticket matches "…"` on one muted line and makes ⏎ a no-op. - -`InboxExtension` gains `commands?: (target) => Command[]`, called on every keystroke, sync and pure; the host draws its own rows first and appends whatever comes back, so an extension can add verbs but never reorder the built-ins. `ExtensionTarget` carries `query` and `ticketKey` — the key matched once by the host against its `jiraKeyRe` and handed down normalised, so no extension parses the query itself. Nothing in the fleet produces a command yet; a spec with a stub extension pins the append and its ordering until something does. diff --git a/.changeset/ink-ui-0-30-0.md b/.changeset/ink-ui-0-30-0.md deleted file mode 100644 index 60b2f6f..0000000 --- a/.changeset/ink-ui-0-30-0.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -"@kud/gh-ink": patch -"@kud/gh-cockpit": patch -"@kud/gh-pr-comments": patch -"@kud/gh-pr-health": patch -"@kud/gh-webhook-replay": patch ---- - -`@kud/ink-ui` 0.29.0 → 0.30.0 on every package at once, which is what brings `CommandPalette` in. All five pins move together so npm keeps one deduped copy: two copies of a component library in one process is a module-level singleton configured in one instance and read from the other. diff --git a/packages/gh-cockpit/CHANGELOG.md b/packages/gh-cockpit/CHANGELOG.md index 5c1d1ee..02646aa 100644 --- a/packages/gh-cockpit/CHANGELOG.md +++ b/packages/gh-cockpit/CHANGELOG.md @@ -1,5 +1,20 @@ # @kud/gh-cockpit +## 0.6.2 + +### Patch Changes + +- 095ccfd: Ctrl+K opens a launcher: type a ticket key, pick where it opens. + + A ticket that was not a row could not be reached without leaving the cockpit — ↵ on a row mounted the ticket in-tree, but there was no way to name one. Ctrl+K now floats a centred palette over the list, dimming it the way the legend does. Typing a key yields two rows, the first already under the cursor: `Open KEY here`, through whichever extension declares `drills: ["task"]` (the same door ↵ takes on a ticket row, so a host that has not claimed the kind gets no such row), and `Open KEY in Jira`, through the one rule the row menu's `t` already used — extracted to `openInJira` so the two cannot drift. `/` stays "narrow the list in place"; the launcher is a different verb and does not share its key. The footer and the `?` legend advertise `⌃K` only where `jiraBase` is set, because without it the palette can only say `Jira not configured`, followed by the host's own words on how (`jiraSetupHint`, a new prop beside `jiraBase`). A key that matches nothing says `no ticket matches "…"` on one muted line and makes ⏎ a no-op. + + `InboxExtension` gains `commands?: (target) => Command[]`, called on every keystroke, sync and pure; the host draws its own rows first and appends whatever comes back, so an extension can add verbs but never reorder the built-ins. `ExtensionTarget` carries `query` and `ticketKey` — the key matched once by the host against its `jiraKeyRe` and handed down normalised, so no extension parses the query itself. Nothing in the fleet produces a command yet; a spec with a stub extension pins the append and its ordering until something does. + +- 095ccfd: `@kud/ink-ui` 0.29.0 → 0.30.0 on every package at once, which is what brings `CommandPalette` in. All five pins move together so npm keeps one deduped copy: two copies of a component library in one process is a module-level singleton configured in one instance and read from the other. +- Updated dependencies [095ccfd] +- Updated dependencies [095ccfd] + - @kud/gh-ink@0.58.0 + ## 0.6.1 ### Patch Changes diff --git a/packages/gh-cockpit/package.json b/packages/gh-cockpit/package.json index 1d553b1..40c5c69 100644 --- a/packages/gh-cockpit/package.json +++ b/packages/gh-cockpit/package.json @@ -1,6 +1,6 @@ { "name": "@kud/gh-cockpit", - "version": "0.6.1", + "version": "0.6.2", "description": "A configurable GitHub cockpit for the terminal — your PRs, reviews and issues in one Ink TUI, grouped by whose move it is.", "type": "module", "main": "dist/index.js", @@ -54,7 +54,7 @@ }, "dependencies": { "@kud/gh": "0.17.0", - "@kud/gh-ink": "0.57.1", + "@kud/gh-ink": "0.58.0", "@kud/ink-ui": "0.30.0", "zx": "8.8.5", "@kud/gh-workflow": "0.12.1" diff --git a/packages/gh-ink/CHANGELOG.md b/packages/gh-ink/CHANGELOG.md index b8879bc..358ff79 100644 --- a/packages/gh-ink/CHANGELOG.md +++ b/packages/gh-ink/CHANGELOG.md @@ -1,5 +1,19 @@ # @kud/gh-ink +## 0.58.0 + +### Minor Changes + +- 095ccfd: Ctrl+K opens a launcher: type a ticket key, pick where it opens. + + A ticket that was not a row could not be reached without leaving the cockpit — ↵ on a row mounted the ticket in-tree, but there was no way to name one. Ctrl+K now floats a centred palette over the list, dimming it the way the legend does. Typing a key yields two rows, the first already under the cursor: `Open KEY here`, through whichever extension declares `drills: ["task"]` (the same door ↵ takes on a ticket row, so a host that has not claimed the kind gets no such row), and `Open KEY in Jira`, through the one rule the row menu's `t` already used — extracted to `openInJira` so the two cannot drift. `/` stays "narrow the list in place"; the launcher is a different verb and does not share its key. The footer and the `?` legend advertise `⌃K` only where `jiraBase` is set, because without it the palette can only say `Jira not configured`, followed by the host's own words on how (`jiraSetupHint`, a new prop beside `jiraBase`). A key that matches nothing says `no ticket matches "…"` on one muted line and makes ⏎ a no-op. + + `InboxExtension` gains `commands?: (target) => Command[]`, called on every keystroke, sync and pure; the host draws its own rows first and appends whatever comes back, so an extension can add verbs but never reorder the built-ins. `ExtensionTarget` carries `query` and `ticketKey` — the key matched once by the host against its `jiraKeyRe` and handed down normalised, so no extension parses the query itself. Nothing in the fleet produces a command yet; a spec with a stub extension pins the append and its ordering until something does. + +### Patch Changes + +- 095ccfd: `@kud/ink-ui` 0.29.0 → 0.30.0 on every package at once, which is what brings `CommandPalette` in. All five pins move together so npm keeps one deduped copy: two copies of a component library in one process is a module-level singleton configured in one instance and read from the other. + ## 0.57.1 ### Patch Changes diff --git a/packages/gh-ink/package.json b/packages/gh-ink/package.json index 2f3e5fe..2d0da3e 100644 --- a/packages/gh-ink/package.json +++ b/packages/gh-ink/package.json @@ -1,6 +1,6 @@ { "name": "@kud/gh-ink", - "version": "0.57.1", + "version": "0.58.0", "description": "Ink components for rendering GitHub PR review comments and health — controlled, presentation-only, built on @kud/ink-ui and fed by @kud/gh.", "type": "module", "main": "dist/index.js", diff --git a/packages/gh-pr-comments/CHANGELOG.md b/packages/gh-pr-comments/CHANGELOG.md index 73d897d..6f9e8a0 100644 --- a/packages/gh-pr-comments/CHANGELOG.md +++ b/packages/gh-pr-comments/CHANGELOG.md @@ -1,5 +1,14 @@ # @kud/gh-pr-comments +## 0.1.111 + +### Patch Changes + +- 095ccfd: `@kud/ink-ui` 0.29.0 → 0.30.0 on every package at once, which is what brings `CommandPalette` in. All five pins move together so npm keeps one deduped copy: two copies of a component library in one process is a module-level singleton configured in one instance and read from the other. +- Updated dependencies [095ccfd] +- Updated dependencies [095ccfd] + - @kud/gh-ink@0.58.0 + ## 0.1.110 ### Patch Changes diff --git a/packages/gh-pr-comments/package.json b/packages/gh-pr-comments/package.json index 787c6bc..7d765a4 100644 --- a/packages/gh-pr-comments/package.json +++ b/packages/gh-pr-comments/package.json @@ -1,6 +1,6 @@ { "name": "@kud/gh-pr-comments", - "version": "0.1.110", + "version": "0.1.111", "description": "Browse, reply to, and resolve GitHub PR review comments in the terminal.", "type": "module", "bin": { @@ -37,7 +37,7 @@ }, "dependencies": { "@kud/gh": "0.17.0", - "@kud/gh-ink": "0.57.1", + "@kud/gh-ink": "0.58.0", "@kud/ink-ui": "0.30.0", "ink": "7.1.0", "react": "19.2.7" diff --git a/packages/gh-pr-health/CHANGELOG.md b/packages/gh-pr-health/CHANGELOG.md index a4c20c7..c48de29 100644 --- a/packages/gh-pr-health/CHANGELOG.md +++ b/packages/gh-pr-health/CHANGELOG.md @@ -1,5 +1,14 @@ # @kud/gh-pr-health +## 0.1.111 + +### Patch Changes + +- 095ccfd: `@kud/ink-ui` 0.29.0 → 0.30.0 on every package at once, which is what brings `CommandPalette` in. All five pins move together so npm keeps one deduped copy: two copies of a component library in one process is a module-level singleton configured in one instance and read from the other. +- Updated dependencies [095ccfd] +- Updated dependencies [095ccfd] + - @kud/gh-ink@0.58.0 + ## 0.1.110 ### Patch Changes diff --git a/packages/gh-pr-health/package.json b/packages/gh-pr-health/package.json index 09aa527..1e12526 100644 --- a/packages/gh-pr-health/package.json +++ b/packages/gh-pr-health/package.json @@ -1,6 +1,6 @@ { "name": "@kud/gh-pr-health", - "version": "0.1.110", + "version": "0.1.111", "description": "Checks, reviews and merge state for a GitHub PR in the terminal.", "type": "module", "bin": { @@ -37,7 +37,7 @@ }, "dependencies": { "@kud/gh": "0.17.0", - "@kud/gh-ink": "0.57.1", + "@kud/gh-ink": "0.58.0", "@kud/ink-ui": "0.30.0", "execa": "9.6.1", "ink": "7.1.0", diff --git a/packages/gh-webhook-replay/CHANGELOG.md b/packages/gh-webhook-replay/CHANGELOG.md index 0ee82c3..fa460c1 100644 --- a/packages/gh-webhook-replay/CHANGELOG.md +++ b/packages/gh-webhook-replay/CHANGELOG.md @@ -1,5 +1,11 @@ # @kud/gh-webhook-replay +## 0.1.28 + +### Patch Changes + +- 095ccfd: `@kud/ink-ui` 0.29.0 → 0.30.0 on every package at once, which is what brings `CommandPalette` in. All five pins move together so npm keeps one deduped copy: two copies of a component library in one process is a module-level singleton configured in one instance and read from the other. + ## 0.1.27 ### Patch Changes diff --git a/packages/gh-webhook-replay/package.json b/packages/gh-webhook-replay/package.json index ebb1369..beadf6a 100644 --- a/packages/gh-webhook-replay/package.json +++ b/packages/gh-webhook-replay/package.json @@ -1,6 +1,6 @@ { "name": "@kud/gh-webhook-replay", - "version": "0.1.27", + "version": "0.1.28", "description": "Replay the latest pull_request webhook delivery on a GitHub repo hook.", "type": "module", "bin": {