Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 0 additions & 5 deletions .changeset/agent-topics-toc.md

This file was deleted.

5 changes: 0 additions & 5 deletions .changeset/ast-command.md

This file was deleted.

7 changes: 0 additions & 7 deletions .changeset/check-json-summary.md

This file was deleted.

5 changes: 0 additions & 5 deletions .changeset/detect-dart-roslyn-projects.md

This file was deleted.

5 changes: 0 additions & 5 deletions .changeset/node-version-message.md

This file was deleted.

5 changes: 0 additions & 5 deletions .changeset/onboard-review-mining.md

This file was deleted.

5 changes: 0 additions & 5 deletions .changeset/route-defers-onboarding-questions.md

This file was deleted.

7 changes: 0 additions & 7 deletions .changeset/sg-regex-needs-kind-schema.md

This file was deleted.

5 changes: 0 additions & 5 deletions .changeset/show-scope-exclusion-fixture.md

This file was deleted.

2 changes: 1 addition & 1 deletion .claude-plugin/plugin.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "taskless",
"description": "Taskless skills for code quality rules, authentication, and project management",
"version": "0.13.7",
"version": "0.13.8",
"author": {
"name": "Taskless"
},
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"private": true,
"name": "@taskless/skills",
"version": "0.13.7",
"version": "0.13.8",
"license": "MIT",
"repository": "taskless/cli.git",
"scripts": {
Expand Down
22 changes: 22 additions & 0 deletions packages/cli/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,27 @@
# @taskless/cli

## 0.13.8

[Compare with v0.13.7](https://github.com/taskless/cli/compare/v0.13.7...v0.13.8)

### Patch Changes

- 56606a1: `taskless agent <topic>` now prints a long topic as an outline that fits one agent tool call: its steps, then a list of sections it serves on request. Print one with `taskless agent <topic> --section <name>`, or the whole recipe with `--full`. Reference material such as quirk tables, engine reach lists, input schemas and the `update` ledger entries moved into those sections, so an agent harness that cuts long output no longer drops the middle of a recipe. `taskless onboard` and `taskless update` print the same outline. `@taskless/cli/prompts` still renders whole recipes.
- cbc4187: New `taskless ast <file>` prints a file's named-node AST, parsed by the bundled ast-grep as the language the file's extension resolves to, so every kind it shows is one a rule's `kind:` accepts. `--range <line>[:<line>]` cuts the tree to the nodes on those lines, `--lang` overrides the language, and `--json` emits the tree as data. `create-sg-rule` now sends authors to it for kinds instead of to ast-grep's `--debug-query`, which left agents hunting for an ast-grep binary.
- ac64849: `check --json` now carries a `summary`: total findings, distinct files, counts by severity, and one entry per rule that fired, keyed by `engine` and `ruleId`. The new `--summary` flag returns only that summary (under `--json` it omits `results`), so an agent can measure a whole repository in one call whose output stays small; without `--json` it prints per-rule counts. Findings from `check --json` and `verify --json` now share one schema, published as `findingSchema` from `@taskless/cli/schemas` alongside `checkOutputSchema`.

Patch: the package is 0.y.z and the change is additive. `results` and every existing key are unchanged unless you pass the new `--summary` flag, so no existing consumer has to react.

- 5c037f7: `taskless detect` now recognizes Dart and Flutter repositories and a C# repository's own Roslyn analyzers. Dart comes from a `pubspec.yaml`, and the new `dart-analyzer` linter from an `analysis_options.yaml`, a `lints`, `flutter_lints` or `very_good_analysis` package, or a CI or hook command that runs `dart analyze` or `flutter analyze`. The new `custom-analyzer` linter comes from a `ProjectReference` with `OutputItemType="Analyzer"` in a project file, `.props` or `.targets`; its evidence names the referenced project, and its `customRules` counts the `[DiagnosticAnalyzer]` classes in it.
- 3b6141a: On a Node older than the CLI needs (`>=22.22.0`), Taskless now stops with `Taskless needs Node >=22.22.0, you have 20.19.0. Install a newer Node and run it again.` and exits 1, instead of crashing with an unrelated `SyntaxError` about `globSync`. This holds for `npx @taskless/cli` and `pnpm dlx`, whose `bin` is now a small shim that checks the version before loading the CLI, and for the project launcher (`.taskless/bin/cli.mjs`), which checks before installing a version and before running one. Launchers pick this up when `init` rewrites them. The `ci` recipe now says the job needs Node 22.22 or later.
- 05b7fd4: Onboarding now covers a busy repository's whole review window. The review-comment source names the 1000-result cap of `gh pr list` and `gh search`, gives ready commands to count the window, list it by date range, and fetch every inline review comment since the window opened through `gh api --paginate`, and says to sample evenly across the window rather than read the newest pull requests. GitLab gets the same whole-window guidance through `glab api --paginate`. The scan step now has the agent record each counted comment under its candidate while mining, so `surfaced` comes from that record instead of a second read.
- a64ff5c: `route` (topic v11) and `onboard` (topic v12) now give one answer to "may I ask the user here?". `route` says that a recipe which limits questions, such as `onboard`, overrides its step 7 choice between a local rule and a generation, its clarifying question when two destinations fit, and its failure fallback's confirmation. `onboard` says what to do at each of those points instead: write the local rule, or skip the candidate and name it beside the report summary. Previously an onboarding agent could read `route` as permission to ask questions that `onboard` forbids.
- 0ca2af8: `sg-regex-needs-kind` now lives in the ast-grep rule schema. The schema the CLI publishes states the pairing as `if`/`then` on every rule definition, and `validate` reports it from the schema layer with the same paths, so a schema-aware tool flags exactly what `validate` refuses. Every `regex`, at any depth, is covered: `rule`, `constraints`, `utils`, every `any`/`all`/`not`/`has`/`inside`/`precedes`/`follows` sub-rule, and the rarer positions (`stopBy`, `nthChild.ofRule`, utility arguments, `fix.expandStart`/`expandEnd`, rewriters). A sibling `any:` whose every branch sets a `kind` now anchors the regex, so a constraint no longer has to be split into one branch per kind, and an `all:` with one branch that sets a `kind` counts too. The message says how to find the kind, and it is reported even when another field also fails the schema. The `create-sg-rule` recipe (topic v15) lists the rule under Quirks.

`validate` now notices a `has` or `inside` that declares no `stopBy`, as it already did for `follows` and `precedes`. Both default to looking one level (direct children, direct parent), so an exclusion such as `not: { inside: { kind: try_statement } }` silently stops excluding anything nested deeper. A relation that names a `field` is left alone, and `stopBy: neighbor` silences the notice where one level is what you mean. The `create-sg-rule` Quirks list has the matching entry.

- e30890c: Say how to show that a rule's scope excludes a path. The fixture layout in every authoring recipe, and `create-sg-rule`, now explain the working pattern: put the excluded file in a `pass/` case beside a clean file the scope admits. When `verify` rejects a `pass/` case because the scope excluded every file in it, the error now suggests the same thing alongside moving the fixture.

## 0.13.7

[Compare with v0.13.6](https://github.com/taskless/cli/compare/v0.13.6...v0.13.7)
Expand Down
2 changes: 1 addition & 1 deletion packages/cli/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@taskless/cli",
"version": "0.13.7",
"version": "0.13.8",
"license": "MIT",
"repository": {
"type": "git",
Expand Down
2 changes: 1 addition & 1 deletion skills/taskless/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ description: |
`agent route`; it does NOT suppress the skill.
metadata:
author: taskless
version: 0.13.7
version: 0.13.8
compatibility: Designed for Agents implementing the Agent Skills specification.
---

Expand Down