@bensandee/tooling 0.89.1 → 0.91.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bensandee/tooling",
3
- "version": "0.89.1",
3
+ "version": "0.91.0",
4
4
  "description": "CLI tool to bootstrap and maintain standardized TypeScript project tooling",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -52,10 +52,10 @@
52
52
  "@types/node": "24.19.1",
53
53
  "@types/picomatch": "4.0.3",
54
54
  "commit-and-tag-version": "13.2.1",
55
- "modern-web-guidance": "0.0.191",
56
- "oxfmt": "0.71.0",
55
+ "modern-web-guidance": "0.0.193",
56
+ "oxfmt": "0.72.0",
57
57
  "prettier": "3.9.9",
58
- "release-it": "21.1.0",
58
+ "release-it": "21.1.1",
59
59
  "tsdown": "0.23.0"
60
60
  },
61
61
  "scripts": {
@@ -94,7 +94,7 @@
94
94
  "type": "string"
95
95
  },
96
96
  "publish": {
97
- "description": "The publish decision either way: true keeps an image published -- including one its compose service is declared only in the check overlay, which a later release stops publishing by default -- and false excludes it while publishDocker stays true. Unset means the discovery default, which publishes everything except a check-only image once that rule is enforced.",
97
+ "description": "The publish decision either way: true keeps an image published -- including one whose compose service is declared only in the check overlay, which is not published by default -- and false excludes it while publishDocker stays true. Unset means the discovery default, which publishes everything except a check-only image.",
98
98
  "type": "boolean"
99
99
  }
100
100
  },
@@ -540,8 +540,9 @@
540
540
  "const": false
541
541
  },
542
542
  "defaultBranch": {
543
- "description": "Repository default branch name. Used by `checks:run` to decide when to enable coverage automatically. Default: detected via git (origin/HEAD), falling back to 'main'.",
544
- "type": "string"
543
+ "description": "Repository default branch name, B. Drives the generated CI `on.push` trigger and every default-branch gate in `ci.yml` and `release.yml`, the release path (`release:changesets`, the version PR, `release:trigger`) and `checks:run`'s coverage gate. Generated output uses 'main' when unset; `checks:run` still falls back to `origin/HEAD`. Must be a plain branch name: ASCII letters, digits, '.', '_', '-' and '/'.",
544
+ "type": "string",
545
+ "pattern": "^(?!.*\\/\\/)(?!.*\\.\\.)(?!.*\\/$)(?!.*\\.lock$)[A-Za-z0-9][A-Za-z0-9._/-]*$"
545
546
  },
546
547
  "unmanagedDevDependencies": {
547
548
  "description": "devDependency names repo:sync must never add or re-pin. Escape hatch for holding a tooling-managed dep (oxlint, vitest, knip, ...) at a deliberately off-canonical version; without it, repo:sync raises any managed devDep whose version has drifted below the canonical pin.",
@@ -579,7 +580,7 @@
579
580
  }
580
581
  },
581
582
  "runOnVersionPr": {
582
- "description": "Run the CI check job on the changesets version PR (changeset-release/main). Default false: the generated check job is skipped there, because that branch is regenerated on every push to main and main's own run gates the release. Has no effect unless releaseStrategy is changesets.",
583
+ "description": "Run the CI check job on the changesets version PR (changeset-release/<defaultBranch>). Default false: the generated check job is skipped there, because that branch is regenerated on every push to the default branch and that branch's own run gates the release. Has no effect unless releaseStrategy is changesets.",
583
584
  "type": "boolean"
584
585
  }
585
586
  },
@@ -600,6 +601,10 @@
600
601
  "description": "agent:start behaviour overrides. Opt-in: see agent.autonomy for the interior-autonomy gate.",
601
602
  "type": "object",
602
603
  "properties": {
604
+ "enabled": {
605
+ "description": "The repo's explicit consent to the agent (default false). Only `true`, read from the repo's **default branch**, lets the agent work the repo: claim units, run sweeps, recover orphans, merge, act on a chat proposal or start a new spec. A missing key, `false`, a missing `.tooling.json` or a read that fails all mean not enabled, and the answer is re-read within about a minute. Every other `agent.*` key below has no effect without this one; `repo:sync` warns when the block sets one of them and this key is not `true`. Where this is `true`, `repo:sync` also installs `@bensandee/agent-cli`. `bst setup:agent` sets it to true and runs the sync. Provisioning the agent's labels is not consent, and is never gated by this key.",
606
+ "type": "boolean"
607
+ },
603
608
  "autonomy": {
604
609
  "description": "Opt into interior autonomy (default false). When a phase's latest rationale reports readiness \"ready\" with an empty openQuestions[] and the review phase is clean, the agent applies the existing plan -> implement -> review -> park-at-mergeable advance itself instead of parking for a human. Never applies to the design/spec gate or the final merge from the mergeable terminal -- those always wait on a human. Also arms the trunk-red detector: when this repo's default branch combined status settles red, the agent files a tracking issue naming the failing checks and labels it agent/spec, starting the fix through the ordinary spec/plan/implement/review pipeline. It also closes that issue, with a comment, if the default branch recovers on its own before a human acts on it. Also arms the world-changed retrigger sweep: a pull request labelled agent-flags/autopilot that is parked at a -stuck or -failed terminal is re-queued when the fact its park recorded stops being true (the default branch went green, or moved past a conflicted base).",
605
610
  "type": "boolean"