Add worktree create/remove VSCode tasks for cpp-library's own repo#25
Merged
Conversation
Mirrors templates/.vscode/tasks.json's worktree tasks (which consumer projects already get) but without the CMake-preset/cleanup tasks, since cpp-library's own root has no CMakePresets.json.
…tignore .claude/ was showing up as untracked in git status because nothing ignored it, even though it's exactly what the worktree tasks (and this session's own EnterWorktree tool) create worktrees under.
Contributor
There was a problem hiding this comment.
Pull request overview
Adds repo-local developer tooling to make working with git worktrees in this repository match the already-established consumer template workflow.
Changes:
- Add root
.vscode/tasks.jsonwithworktree: create/worktree: removetasks (andworktreeNameinput), aligned withtemplates/.vscode/tasks.json. - Update root
.gitignoreto ignore.claude/worktrees/and.tokensaveto prevent worktree-related untracked noise. - Add design + implementation plan docs under
docs/superpowers/documenting scope and constraints.
Reviewed changes
Copilot reviewed 3 out of 4 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
docs/superpowers/specs/2026-07-16-cpp-library-worktree-tasks-design.md |
Design/spec describing why root tasks are needed and what’s in/out of scope. |
docs/superpowers/plans/2026-07-16-cpp-library-worktree-tasks-plan.md |
Step-by-step implementation/verification plan for adding root tasks + ignore rules. |
.vscode/tasks.json |
New root VS Code tasks for worktree create/remove with best-effort tokensave integration. |
.gitignore |
Ignore entries for .claude/worktrees/ and .tokensave. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
.vscode/tasks.jsonwith the "worktree: create" / "worktree: remove" tasks (best-effort tokensave integration), mirroring whattemplates/.vscode/tasks.jsonalready gives to consumer projects (PR Add worktree create/remove VSCode tasks #24) — but without the CMake-preset/cleanup tasks, since cpp-library's own root has noCMakePresets.json..gitignoregap:.claude/worktrees/wasn't ignored at the repo root, so worktrees created there (by this new task or by theEnterWorktreetool) showed up as untracked content. Added.claude/worktrees/and.tokensave, matching the consumer template's entries.docs/superpowers/following this repo's established convention for this kind of change.Test plan
cmake -P tests/install/CMakeLists.txt— 33/33 pass (unaffected by this change; run to confirm no regression)cmake -P tests/setup/test_setup_version_resolution.cmake— passes.vscode/tasks.jsonis valid JSON with the expected 2 tasks / 1 inputtemplates/.vscode/tasks.jsongit status --porcelain .claude/is clean after the.gitignorefixgit worktree add/remove+ best-effort tokensave command in a scratch repo (bash form); create always succeeded (exit 0) including when tokensave was substituted with a nonexistent binary namegitpost-checkouthook (~/.config/git/hooks/post-checkout, set viacore.hooksPath) that auto-runs real tokensave bookkeeping on every checkout, independent of this repo. That causedgit worktree remove(without--force) to occasionally fail on leftover.tokensave/state during my scratch testing — this is identical, pre-existing behavior of the already-shipped, byte-identical consumer-facing task, not something introduced here, and not fixable from this repo.🤖 Generated with Claude Code
Note
Low Risk
Developer tooling and ignore rules only; no runtime, build, or consumer-shipped template changes.
Overview
Brings the worktree: create / worktree: remove VS Code tasks to the cpp-library repo root so developers get the same workflow when this repo is the workspace—not only when consumer projects copy
templates/.vscode/tasks.json. The new roottasks.jsonincludes only theworktreeNameprompt and those two shell tasks (optional tokensave +code --new-window), deliberately omitting CMake preset/cleanup tasks because this root has noCMakePresets.json.Root
.gitignorenow ignores.claude/worktrees/and.tokensave, aligning with the consumer template so worktrees under.claude/worktrees/no longer appear as untracked noise.Adds
docs/superpowers/design and implementation plan docs for this change;templates/and CMake modules are untouched.Reviewed by Cursor Bugbot for commit d8bff2a. Bugbot is set up for automated code reviews on this repo. Configure here.