
Using Grove
- 9 installs
- 20 repo stars
- Updated February 25, 2026
- chrisbanes/grove
Creates an isolated Grove workspace with warm build state via CoW clone, enters it, and verifies the test baseline before feature work.
About
Creates and enters an isolated Grove workspace cloned from the golden copy with warm build state, then verifies the baseline test suite. A developer uses it before starting feature work that needs isolation from the current checkout.
- CoW clone preserves warm build cache unlike plain git worktree
- Auto-detects and runs the project test command to verify baseline
Using Grove by the numbers
- 9 all-time installs (skills.sh)
- Ranked #1,020 of 1,435 DevOps & CI/CD skills by installs in the Skillselion catalog
- Data as of Jul 31, 2026 (Skillselion catalog sync)
npx skills add https://github.com/chrisbanes/grove --skill using-groveAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 9 |
|---|---|
| repo stars | ★ 20 |
| Last updated | February 25, 2026 |
| Repository | chrisbanes/grove ↗ |
What it does
Creates an isolated Grove workspace with warm build state via CoW clone, enters it, and verifies the test baseline before feature work.
Files
I'm using the using-grove skill to create an isolated workspace with warm build state.
Workflow
Step 1: Verify Grove is initialized
test -f "$(git rev-parse --show-toplevel)/.grove/config.json"If .grove/config.json is not found: Grove is not initialized in this repo. Use the grove:grove-config skill to set it up first.
Step 2: Verify grove CLI is installed
command -v groveIf not found: Grove CLI is not installed. See https://github.com/chrisbanes/grove for installation instructions.
Step 3: Create workspace
grove create --branch <branch-name> --jsonParse the JSON output for path and id:
{
"id": "abc1",
"path": "/tmp/grove/myapp/abc1",
"branch": "agent/fix-login",
"created_at": "2026-02-17T10:20:00Z",
"golden_copy": "/Users/chris/dev/myapp"
}Step 4: Enter the workspace
cd <path-from-json>Step 5: Verify baseline
Run the project test suite. Auto-detect the test command from marker files:
| Marker file | Test command |
|---|---|
go.mod | go test ./... |
package.json | npm test |
Cargo.toml | cargo test |
build.gradle / build.gradle.kts | ./gradlew test |
pyproject.toml / requirements.txt | pytest |
Makefile | make test |
If tests fail, report the failures and ask whether to proceed.
Step 6: Report ready
Grove workspace ready.
Path: <workspace-path>
Branch: <branch-name>
Build state: warm (cloned from golden copy)Quick Reference
| Command | Purpose |
|---|---|
grove create --branch <name> --json | Create workspace, get JSON output |
grove list | List active workspaces |
grove destroy <id> | Remove a workspace |
Common Mistakes
- Using plain `git worktree` — worktrees start with a cold build cache. Grove's CoW clone preserves warm build state, making the first build incremental rather than from scratch.
- Skipping `--json` flag — the JSON output is required to reliably extract the workspace path and ID for later use.
- Not verifying grove initialized —
grove createwill fail confusingly if.grove/is absent. Always check first.
Red Flags
grove createerrors about uncommitted changes on the golden copy — clean up or commit the golden copy first, or use--forceif the changes are intentional.- Tests fail at baseline — the golden copy's build state is stale. Run
grove updateon the golden copy before creating workspaces. grovecommand not found after install — check PATH; grove installs to$GOPATH/binby default.
Integration
- Replaces:
superpowers:using-git-worktrees— prefer this skill in any Grove project. Disableusing-git-worktreesto avoid conflicts. - Called by:
superpowers:brainstorming(Phase 4),superpowers:subagent-driven-development,superpowers:executing-plans - Pairs with:
grove:finishing-grove-workspace— use that skill when implementation is complete and the workspace is ready to clean up.