Skip to content

teamwright 0.13.1

Latest

Choose a tag to compare

@smykov smykov released this 24 Oct 21:18
· 8 commits to main since this release
17429a7

Added

  • /teamwright:update — the plugin and the project's kit in one step. A plugin update alone changed nothing in the project: the hooks, roles, process docs and scripts there are the kit apply wrote, and the owner had to find the new copy and run the installer from it. tw-install.py update updates the marketplace and the plugin for the project's channel (teamwright@teamwright, or teamwright@teamwright-next when the project enables it) through claude plugin, finds the copy Claude Code installed for this project (installed_plugins.json: this project's install, else local, else the user's), and runs plan — or, with --apply, apply — from that copy, not from the one the session loaded; --no-fetch skips the plugin update. The command shows the plan, applies on the owner's yes, commits the kit files and says to restart Claude Code. Tests in tests/test-tw-update.sh.

Fixed

  • A worktree is no longer held by another task's IN_PROGRESS. The rule "one task IN_PROGRESS per working tree" counted every record on the branch, and a branch cut from main carries the other tasks' records as they were: one task IN_PROGRESS in the main tree made every tw/<ID> worktree whose task had finished its analysis wait for it (wip_waiting) and end idle - with /teamwright:parallel auto, every worktree at once. In a per-task worktree the rule, and the "uncommitted changes belong to one active task" check, now look at the worktree's own task only; the main tree is unchanged. Tests in tests/test-tw-worktrees.sh.

Security

  • /teamwright:parallel auto sessions may not push, merge or call gh: the default TEAMWRIGHT_CLAUDE_ARGS add --disallowedTools "Bash(git push:*) Bash(git merge:*) Bash(gh:*)"; merging stays with the main session.
  • /teamwright:parallel pre-approves git -C <path> rebase only, not any git -C or git rebase command.
  • SECURITY.md lists what runs without a prompt: the commands skills pre-approve, the project config that runs as code (config.yml, progress.json), headless parallel sessions, autonomous CI runs.
  • CI: actions pinned by commit SHA, the gitleaks download checked against its SHA-256, and a check that no name from the PRIVATE_NAMES_RE secret appears in the tree or recent commit messages. The autonomous-run example in docs/usage.md pins its actions too and warns that task records and issues are model input.

Changed

  • /teamwright:update and tw-parallel.py use one variable for the Claude Code binary, TW_CLAUDE.
  • Documentation brought up to date: the command and hook counts and lists (README, docs/README.md, CLAUDE.md, CONTRIBUTING.md), parallel auto in the commands table, the process settings in the glossary and docs/usage.md, requirements and /reload-plugins in the quickstart, stage-protocol.md in the reading order, the project status, the tw-parallel.py variables in docs/process/plugin.md; this changelog states its format.

Full changelog: CHANGELOG.md