sum-develop

Develop and test sum in an isolated git worktree without touching the live coordinator installation.

Updated Sep 5, 2026
One-click install
npx skills add https://github.com/douglasjarquin/sum --skill sum-develop-douglasjarquin
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: sum-develop
Source: https://github.com/douglasjarquin/sum/tree/main/skills/sum-develop
Command: npx skills add https://github.com/douglasjarquin/sum --skill sum-develop-douglasjarquin

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? When you need to modify sum itself, editing the installation checkout would disrupt the live coordinator and its workers. This Skill creates an isolated development checkout with its own state, dependencies, and lab environment so changes never affect the running installation. ## Core Features & Use Cases - Isolated Development Checkouts: Prepares a git worktree under .sum/dev/<name> on a sum-dev/<name> branch with its own .sum, .local, and .deps state, refusing symlinked, overlapping, or nested checkouts. - Production Separation: Blocks writes to the installation's state home, blanks inherited SUM_HOME/HERDR_* variables in tests, and uses fake Herdr or named lab sessions instead of the user's live session. - Verification and Delivery: Runs the canonical verifier against the merge base, then follows the standard delivery flow of a reviewable PR with no merge. - Use Case: You registered as a developer in a second pane and need to fix a bug in sum. Run sumctl dev prepare --name fix-login, work in the returned checkout, verify, and open a PR while the coordinator keeps serving tasks uninterrupted. ## Quick Start Ask the agent to prepare an isolated sum development checkout named after your topic, make the changes there, run the verifier, and open a pull request without touching the live installation.

Frequently Asked Questions about sum-develop

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I develop sum without breaking the running coordinator?

Run `./bin/sumctl dev prepare --name <topic>` from the installation directory. It creates a git worktree under `.sum/dev/<name>` on branch `sum-dev/<name>` with its own state, so all edits, builds, and tests happen there while the installation keeps serving the coordinator.

How do I test sum changes against a live Herdr session?

Tests and demos blank inherited SUM_HOME, SUM_SESSION, SUM_NOW, and HERDR_* variables and use a fake Herdr or a named lab session such as sum-test-<id>. Run `mise run test-live` separately only when a real Herdr is available and the live smoke scenario applies.

Can a development checkout host its own coordinator?

No. The `.sum/dev.json` marker left by `dev prepare` keeps the checkout undesignated, so setup there can never claim a coordinator role. Running `sumctl init` in the checkout always reports `developer` and writes nothing.

Why does sumctl doctor warn about a clock row?

The warning appears when SUM_NOW is set in the environment. SUM_NOW is a test-only clock pin that freezes every timestamp sum records, so it must never be exported in a live shell; only tests should set it explicitly.

How do I remove a sum development checkout?

Run `./bin/sumctl dev remove --name <topic>`, which uses plain `git worktree remove` and `git branch -d`. It refuses dirty trees and keeps unmerged branches, and there is no forced removal option.

What if my installed sum version lacks the dev command?

Use plain Git primitives by hand: `git worktree add -b sum-dev/<name> .sum/dev/<name> HEAD`, write a `.sum/dev.json` marker, then run `./bin/sumctl init --role developer` in the checkout so it cannot claim coordinator status.