From 6daa7c5e3bffcc26588f65c9b47b374a65059298 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 20 Oct 2026 20:10:39 +0000 Subject: [PATCH] chore: version packages --- .changeset/independent-nightly-permissions.md | 5 ----- .changeset/pinned-cli-wrapper.md | 9 --------- .changeset/recipe-command-per-call.md | 5 ----- .changeset/run-directory-signal-cleanup.md | 5 ----- .claude-plugin/plugin.json | 2 +- package.json | 2 +- packages/cli/CHANGELOG.md | 16 ++++++++++++++++ packages/cli/package.json | 2 +- skills/taskless/SKILL.md | 2 +- 9 files changed, 20 insertions(+), 28 deletions(-) delete mode 100644 .changeset/independent-nightly-permissions.md delete mode 100644 .changeset/pinned-cli-wrapper.md delete mode 100644 .changeset/recipe-command-per-call.md delete mode 100644 .changeset/run-directory-signal-cleanup.md diff --git a/.changeset/independent-nightly-permissions.md b/.changeset/independent-nightly-permissions.md deleted file mode 100644 index b60f47d8..00000000 --- a/.changeset/independent-nightly-permissions.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@taskless/cli": patch ---- - -The release and a nightly no longer undo each other's permissions. `init` now replaces stale project allow rules only for the package it is installing (`@taskless/cli` or `@taskless/cli-nightly`), and leaves the other package's rules in place. Each package also gets its own Claude Code `autoMode.allow` entry: the release keeps the `Taskless CLI:` label, and a nightly uses `Taskless CLI nightly:`. Neither build reads the other's entry as stale. One time only, the wizard offers to replace an existing `Taskless CLI:` entry that names both packages with the release-only text. diff --git a/.changeset/pinned-cli-wrapper.md b/.changeset/pinned-cli-wrapper.md deleted file mode 100644 index 86024a4e..00000000 --- a/.changeset/pinned-cli-wrapper.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -"@taskless/cli": patch ---- - -`init` now installs a project launcher, `.taskless/bin/cli.mjs` (`cli-nightly.mjs` for a nightly), that runs the CLI version recorded for it in `.taskless/taskless.json`. The installed skill and recipes fetched through the launcher name it instead of a pinned `npx` call, so the skill no longer changes on every release, and every harness's permission file gets a version-free rule for it. The `ci` recipe now generates `node .taskless/bin/cli.mjs check`, with Node supplied by the job, so a repository without a `package.json` can run Taskless in CI. The `hooks` recipe runs the launcher too, instead of adding `@taskless/cli` as a dev dependency. When the launcher started the CLI, the commands it prints for you to run next name the launcher, and `.taskless/README.md` lists it first. - -Each package's Claude Code `autoMode.allow` entry now also covers its own launcher, so one time only, the wizard offers to replace the existing entry. More than one string under a package's label now counts as stale, and the wizard folds them into one. Settings edits are colored as migrations: `ALLOW` green, `REMOVE` uncolored, `REPLACE` yellow, and `SKIPPED` red, which marks an edit you have to make yourself. A missing or stale global entry after `init` prints as a red `SKIPPED (global):` line. - -The launcher no longer runs the CLI through `npx`. The first run of a recorded version installs it into `.taskless/.cache/` with `npm ci`, from a lockfile `init` writes beside the launcher (`.taskless/bin/cli.lock.json`, or `cli-nightly.lock.json`). Later runs start it from there without the network. Each release derives that lockfile from the dependency tree its CI tested, so every machine installs the same versions, `tsx` and `esbuild` included, where a fresh `npx` install resolves whatever their ranges allow that day. Commit the lockfile with the launcher; the cache ignores itself in git, and `init` and the launcher remove versions nothing records any more. The install uses the nearest `.npmrc` at or above the project, so a private registry keeps working. The `ci` recipe now caches `.taskless/.cache` between runs. diff --git a/.changeset/recipe-command-per-call.md b/.changeset/recipe-command-per-call.md deleted file mode 100644 index 5f6ac3cc..00000000 --- a/.changeset/recipe-command-per-call.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@taskless/cli": patch ---- - -Every `taskless agent ` recipe now opens with the rule the installed skill already states: run each Taskless command as its own shell call, with nothing chained to it, and write files with your file tools. Agents copy a recipe's own examples, so two that chained a command were rewritten: `check` now runs `git diff --name-only` separately instead of substituting it, and `create-vale-rule` measures one rule with `check --json --rule ` instead of piping into `jq`. Every topic version is bumped, so a cached recipe is refetched. diff --git a/.changeset/run-directory-signal-cleanup.md b/.changeset/run-directory-signal-cleanup.md deleted file mode 100644 index 4a273a6c..00000000 --- a/.changeset/run-directory-signal-cleanup.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@taskless/cli": patch ---- - -Interrupting `taskless check` with Ctrl-C or SIGTERM now reliably removes the run's `.taskless/.run/` directory. Before this fix, a log entry that was still being written could recreate its file mid-removal, and the directory was left behind until a later run swept it. diff --git a/.claude-plugin/plugin.json b/.claude-plugin/plugin.json index 3202503d..ec55206f 100644 --- a/.claude-plugin/plugin.json +++ b/.claude-plugin/plugin.json @@ -1,7 +1,7 @@ { "name": "taskless", "description": "Taskless skills for code quality rules, authentication, and project management", - "version": "0.13.1", + "version": "0.13.2", "author": { "name": "Taskless" }, diff --git a/package.json b/package.json index ca7a72a5..c76418eb 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "private": true, "name": "@taskless/skills", - "version": "0.13.1", + "version": "0.13.2", "license": "MIT", "repository": "taskless/cli.git", "scripts": { diff --git a/packages/cli/CHANGELOG.md b/packages/cli/CHANGELOG.md index fe0fc8b5..97de04c6 100644 --- a/packages/cli/CHANGELOG.md +++ b/packages/cli/CHANGELOG.md @@ -1,5 +1,21 @@ # @taskless/cli +## 0.13.2 + +[Compare with v0.13.1](https://github.com/taskless/cli/compare/v0.13.1...v0.13.2) + +### Patch Changes + +- 9c88f49: The release and a nightly no longer undo each other's permissions. `init` now replaces stale project allow rules only for the package it is installing (`@taskless/cli` or `@taskless/cli-nightly`), and leaves the other package's rules in place. Each package also gets its own Claude Code `autoMode.allow` entry: the release keeps the `Taskless CLI:` label, and a nightly uses `Taskless CLI nightly:`. Neither build reads the other's entry as stale. One time only, the wizard offers to replace an existing `Taskless CLI:` entry that names both packages with the release-only text. +- b222841: `init` now installs a project launcher, `.taskless/bin/cli.mjs` (`cli-nightly.mjs` for a nightly), that runs the CLI version recorded for it in `.taskless/taskless.json`. The installed skill and recipes fetched through the launcher name it instead of a pinned `npx` call, so the skill no longer changes on every release, and every harness's permission file gets a version-free rule for it. The `ci` recipe now generates `node .taskless/bin/cli.mjs check`, with Node supplied by the job, so a repository without a `package.json` can run Taskless in CI. The `hooks` recipe runs the launcher too, instead of adding `@taskless/cli` as a dev dependency. When the launcher started the CLI, the commands it prints for you to run next name the launcher, and `.taskless/README.md` lists it first. + + Each package's Claude Code `autoMode.allow` entry now also covers its own launcher, so one time only, the wizard offers to replace the existing entry. More than one string under a package's label now counts as stale, and the wizard folds them into one. Settings edits are colored as migrations: `ALLOW` green, `REMOVE` uncolored, `REPLACE` yellow, and `SKIPPED` red, which marks an edit you have to make yourself. A missing or stale global entry after `init` prints as a red `SKIPPED (global):` line. + + The launcher no longer runs the CLI through `npx`. The first run of a recorded version installs it into `.taskless/.cache/` with `npm ci`, from a lockfile `init` writes beside the launcher (`.taskless/bin/cli.lock.json`, or `cli-nightly.lock.json`). Later runs start it from there without the network. Each release derives that lockfile from the dependency tree its CI tested, so every machine installs the same versions, `tsx` and `esbuild` included, where a fresh `npx` install resolves whatever their ranges allow that day. Commit the lockfile with the launcher; the cache ignores itself in git, and `init` and the launcher remove versions nothing records any more. The install uses the nearest `.npmrc` at or above the project, so a private registry keeps working. The `ci` recipe now caches `.taskless/.cache` between runs. + +- cb82a6e: Every `taskless agent ` recipe now opens with the rule the installed skill already states: run each Taskless command as its own shell call, with nothing chained to it, and write files with your file tools. Agents copy a recipe's own examples, so two that chained a command were rewritten: `check` now runs `git diff --name-only` separately instead of substituting it, and `create-vale-rule` measures one rule with `check --json --rule ` instead of piping into `jq`. Every topic version is bumped, so a cached recipe is refetched. +- 4c865ad: Interrupting `taskless check` with Ctrl-C or SIGTERM now reliably removes the run's `.taskless/.run/` directory. Before this fix, a log entry that was still being written could recreate its file mid-removal, and the directory was left behind until a later run swept it. + ## 0.13.1 [Compare with v0.13.0](https://github.com/taskless/cli/compare/v0.13.0...v0.13.1) diff --git a/packages/cli/package.json b/packages/cli/package.json index 8ee19e5c..6a1a617b 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "@taskless/cli", - "version": "0.13.1", + "version": "0.13.2", "license": "MIT", "repository": { "type": "git", diff --git a/skills/taskless/SKILL.md b/skills/taskless/SKILL.md index e0f12204..8a11d63f 100644 --- a/skills/taskless/SKILL.md +++ b/skills/taskless/SKILL.md @@ -22,7 +22,7 @@ description: | `agent route`; it does NOT suppress the skill. metadata: author: taskless - version: 0.13.1 + version: 0.13.2 compatibility: Designed for Agents implementing the Agent Skills specification. ---