Skip to content

feat: Claude Code plugin (comment monitor) + viewer comment reframe#16

Merged
benvinegar merged 4 commits into
mainfrom
feat/comment-and-copy
Jun 17, 2026
Merged

feat: Claude Code plugin (comment monitor) + viewer comment reframe#16
benvinegar merged 4 commits into
mainfrom
feat/comment-and-copy

Conversation

@benvinegar

@benvinegar benvinegar commented Jun 13, 2026

Copy link
Copy Markdown
Member

Builds the comment loop out in two layers.

Viewer

  • Reframed around leaving comments rather than messaging an agent: composers read "Leave a comment…" with a "Comment" button; no delivery receipts or "listening" indicators (a comment is an annotation the agent picks up through the feedback loop).
  • A per-comment hover-only copy button puts an agent-ready paste block on the clipboard.
  • A "connect Claude Code" integrations modal (sidebar footer + onboarding) with the plugin install commands, what the monitor runs, and honest caveats.

Claude Code plugin

  • sideshow watch CLI: a continuous long-poll that streams each new user comment as one line (one line = one monitor notification), re-arming forever. Rides the shared server-side agentSeq cursor (exactly-once across watch / wait / piggyback) and falls back to resolving the most-recently-active session matching cwd.
  • Plugin package (plugin/): MCP server + skill + an always-on background monitor running sideshow watch. Validated with claude plugin validate.
  • Marketplace (.claude-plugin/marketplace.json): /plugin marketplace add modem-dev/sideshow then /plugin install sideshow@sideshow.

Plan and remaining release/smoke-test steps: docs/plans/claude-code-plugin.md.

Validation: npm test (65), typecheck, lint, format, and e2e (24, chromium + webkit) all green.

Note: the plugin's npx sideshow@latest watch only works once a release including watch is published to npm.

🤖 Generated with Claude Code

@benvinegar benvinegar changed the title feat(viewer): add a Send & copy button that posts and copies a paste block feat(viewer): make the feedback loop legible — listening indicator, read receipts, per-comment copy Jun 13, 2026
@benvinegar benvinegar changed the title feat(viewer): make the feedback loop legible — listening indicator, read receipts, per-comment copy feat(viewer): reframe around leaving comments + per-comment copy; add sideshow watch Jun 14, 2026
@benvinegar benvinegar changed the title feat(viewer): reframe around leaving comments + per-comment copy; add sideshow watch feat: Claude Code plugin (comment monitor) + viewer comment reframe Jun 14, 2026
@benvinegar benvinegar force-pushed the feat/comment-and-copy branch from ce3fd4c to 0598340 Compare June 17, 2026 01:04
claude and others added 4 commits June 17, 2026 01:05
Reframe the viewer around leaving comments rather than messaging an agent:
composers read "Leave a comment…" with a "Comment" button, no delivery
receipts or "listening" indicators. A per-comment hover-only copy button puts
an agent-ready paste block (snippet title + id + comment) on the clipboard.
A continuous long-poll that re-arms forever and prints each new user
comment as a single line — the foundation for a Claude Code background
monitor. Waits for the first publish when no session exists yet, and
backs off on transient errors instead of exiting.

After the first poll it carries no client cursor: reading with
author=user resumes from the session's server-side agent cursor and
advances it via markAgentSeen, so a comment is delivered exactly once
across watch, wait, and piggyback. Honoring a local cursor would
re-deliver anything a piggybacked write had already consumed.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Ship the remaining phases of the Claude Code plugin plan on top of
`sideshow watch`:

- Plugin package in `plugin/`: manifest with userConfig (sideshowUrl,
  apiToken), the sideshow MCP server, and a background monitor that runs
  `sideshow watch` to stream browser comments to the agent as
  notifications. A focused skill teaches the notification workflow.
  Validated with `claude plugin validate`.
- Repo-hosted marketplace at `.claude-plugin/marketplace.json` (plugin
  source `./plugin`). Install: `/plugin marketplace add modem-dev/sideshow`
  then `/plugin install sideshow@sideshow`.
- A "connect Claude Code" integrations modal in the viewer (sidebar
  footer + onboarding) with the install commands, what the monitor runs,
  and honest caveats (two commands not one-click; needs Claude Code
  >= 2.1.105). e2e covers it on chromium + webkit.
- `sideshow watch` now falls back to resolving the most recently active
  session matching cwd (via GET /api/sessions), so the monitor finds the
  right session even when its process tree doesn't share the local state
  file written by the agent's CLI calls.

README + CHANGELOG document the plugin; the plan file records all four
phases done and the remaining release/smoke-test steps.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…olves

`npx sideshow@latest` forces a registry fetch, which fails until a
release including `watch` is published. Dropping `@latest` makes npx
prefer an installed `sideshow` — a global/linked local checkout for dev
(`npm link`), or a user's install — and only fetch from the registry as a
fallback. Verified the shipped monitor command end-to-end against a local
checkout: it resolves the session by cwd and streams comments to stdout.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@benvinegar benvinegar force-pushed the feat/comment-and-copy branch from 0598340 to 9b00bd8 Compare June 17, 2026 01:07
@benvinegar benvinegar merged commit 5e21e1d into main Jun 17, 2026
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants