Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .claude-plugin/marketplace.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
{
"name": "path",
"description": "Slash commands for the Toolpath path CLI: /path:share uploads an agent session to Pathbase, /path:query runs jaq queries over your local session cache. Installs the path binary globally on first use",
"version": "0.2.0",
"version": "0.3.0",
"author": {
"name": "Empathic"
},
Expand Down
8 changes: 8 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,14 @@

All notable changes to the Toolpath workspace are documented here.

## Claude Code plugin 0.3.0 — 2026-08-21

`/path:share` and `/path:link-pr` now compose a short title and a one
or two sentence description of the shared session and pass them via
`path share`'s new `--title`/`--description` flags; user-supplied
values win. `/path:link-pr` uses the composed title as the PR link
text. `MIN_VERSION` moves to 0.19.0, the first CLI with the flags.

## path-cli 0.19.0 — 2026-08-21

`path share` and `path p export pathbase` gain `--title` and
Expand Down
2 changes: 1 addition & 1 deletion plugins/claude-code/.claude-plugin/plugin.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "path",
"version": "0.2.0",
"version": "0.3.0",
"description": "Toolpath for Claude Code — /path:share uploads an agent session to Pathbase, /path:query answers questions about your local session history. Bundles the path CLI, installed globally on first use",
"author": {
"name": "Empathic"
Expand Down
5 changes: 3 additions & 2 deletions plugins/claude-code/commands/link-pr.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,10 +35,11 @@ Same rules as `/path:share`:

- Share the current conversation — the "Current session id" from the context above (fall back to the newest row of `"${CLAUDE_PLUGIN_ROOT}/scripts/ensure-path.sh" sessions` if it reads `unknown`).
- If the Auth context shows no login and the user didn't pass `--anon`, stop and ask: anonymous upload, or `path auth login` in their own terminal first (never run it yourself)?
- Compose a title and description for the upload, same as `/path:share`: a 2–4 word title naming the work and one or two sentences summarizing what the session did — for this command that's usually the work behind the PR. User-supplied `--title`/`--description` win.
- Run, passing through any of `--anon`, `--public`, `--repo`, `--name`, `--url` from the arguments:

```
... exec share --harness claude --project <absolute cwd> --session <session-id>
... exec share --harness claude --project <absolute cwd> --session <session-id> --title <title> --description <description>
```

Note the Pathbase URL it prints.
Expand All @@ -53,7 +54,7 @@ Note the Pathbase URL it prints.

---

Agent session: [<short description of what the session did>](<pathbase-url>)
Agent session: [<the title you composed for the share>](<pathbase-url>)
```

If an `Agent session:` line already exists for a different session, add a new line under it rather than replacing it.
Expand Down
11 changes: 10 additions & 1 deletion plugins/claude-code/commands/share.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,10 +38,19 @@ If the current session id reads `unknown`, treat the newest row of the `sessions

If the Auth context shows no valid login and the user did not pass `--anon`, stop and ask: upload anonymously (`--anon` — unlisted, addressable only by UUID), or log in first? Logging in means the user runs `path auth login` in their own terminal (it needs an interactive code paste — never run it yourself), then re-runs `/path:share`.

### Compose a title and description

Write both yourself before uploading — they become the shared page's header:

- **Title**: very short, 2–4 words naming the work (e.g. "Rate limiter retry", "Login form fix"). Not a sentence, no trailing period.
- **Description**: one or two sentences summarizing what the session did and how it turned out.

For the current session, summarize the conversation you're in. For another session, base them on its first-user-message column from the listing (and, if that's too thin to summarize, `exec show <harness> --project <absolute cwd> --session <session-id>`). If the user supplied `--title` or `--description` in the arguments, theirs win — don't compose that field.

### Upload

```
"${CLAUDE_PLUGIN_ROOT}/scripts/ensure-path.sh" exec share --harness <harness> --session <session-id> [flags]
"${CLAUDE_PLUGIN_ROOT}/scripts/ensure-path.sh" exec share --harness <harness> --session <session-id> --title <title> --description <description> [flags]
```

- Add `--project <absolute cwd>` for claude/gemini/pi session ids; omit it for codex/opencode/cursor/copilot.
Expand Down
2 changes: 1 addition & 1 deletion plugins/claude-code/scripts/ensure-path.sh
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ REPO="empathic/toolpath"
INSTALL_DIR="${TOOLPATH_INSTALL_DIR:-$HOME/.local/bin}"
FALLBACK_DIR="${TOOLPATH_CONFIG_DIR:-$HOME/.toolpath}/bin"
# Oldest release whose CLI surface the plugin's commands are written against.
MIN_VERSION="0.15.0"
MIN_VERSION="0.19.0"
TMPDIR_CLEANUP=""

log() { echo "$@" >&2; }
Expand Down
Loading