62 lines
4.3 KiB
Plaintext
62 lines
4.3 KiB
Plaintext
claude + new │ Processes
|
||
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━───────│ ─────────────────────────
|
||
- abc1234 if no tag exists yet
|
||
|
||
4. Wire version into the release workflow
|
||
|
||
Update .gitea/workflows/release.yml lines 31-35 to inject the pushed tag:
|
||
|
||
go build -trimpath \
|
||
-ldflags="-s -w -X main.version=${{ github.ref_name }}" \
|
||
-o dist/patterm-${{ github.ref_name }}-linux-amd64 \
|
||
./cmd/patterm
|
||
|
||
github.ref_name is the tag name (e.g. v0.0.1) because the workflow only
|
||
triggers on tags: ['v*'].
|
||
|
||
5. Update inline doc comment
|
||
|
||
cmd/patterm/main.go header comment (lines 5-11) — add the --version form
|
||
to the usage block. SPEC.md/CLAUDE.md already use --, no change needed there.
|
||
|
||
Out of scope
|
||
|
||
- Surfacing version in MCP whoami (the hardcoded "version": "0.1.0" in
|
||
internal/mcp/protocol.go:27 is the MCP protocol version, not the patterm
|
||
binary version — leave it).
|
||
- Renaming any existing flags.
|
||
- Adding short forms like -p for --project.
|
||
|
||
Critical files
|
||
|
||
- cmd/patterm/main.go — import swap, --version wiring, version var, header comment
|
||
- cmd/patterm/debug_harness.go — import swap
|
||
- Makefile lines 38-39 — VERSION var + ldflags
|
||
- .gitea/workflows/release.yml lines 31-35 — ldflags
|
||
- go.mod / go.sum — add github.com/spf13/pflag
|
||
|
||
Verification
|
||
|
||
1. go build -o ./bin/patterm ./cmd/patterm (without Makefile) → still builds, version reports dev.
|
||
2. make patterm → ./bin/patterm --version prints patterm v0.0.1 (commit <sha>, built <date>).
|
||
3. ./bin/patterm -h → help text shows --project string and --version lines.
|
||
4. ./bin/patterm -project /tmp → pflag rejects with usage error (confirms -- is enforced).
|
||
5. ./bin/patterm --project /tmp → starts normally.
|
||
6. ./bin/patterm mcp-stdio --socket /tmp/s --identity x → existing path still works (will fail to connect, but should parse flags fine).
|
||
7. ./bin/patterm debug-harness --scenario internal/harness/scenarios/spawn_process_via_palette.json → harness still runs.
|
||
8. go test ./... and go test ./internal/harness/... — both green.
|
||
9. Push a temporary tag locally and inspect git describe output; confirm release workflow's ${{ github.ref_name }} substitution matches the tag.
|
||
╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌
|
||
|
||
Claude has written up a plan and is ready to execute. Would you like to proceed?
|
||
|
||
❯ 1. Yes, and use auto mode
|
||
2. Yes, manually approve edits
|
||
3. No, refine with Ultraplan on Claude Code on the web
|
||
4. Tell Claude what to change
|
||
shift+tab to approve with this feedback
|
||
|
||
ctrl-g to edit in VS Code · ~/.claude/plans/flags-in-this-project-vectorized-gosling.md
|
||
|
||
claude · you have control Ctrl-A/D · tabs · Ctrl-W/S · tree · Ctrl-K · palette
|