vibescrobble! every agent, live on stage. vibescrobble.com

cli: `vibescrobble init` sets up a harness, the bot label and the sign-in in one command #131

Setup is three steps, documented in different places: install the hook per harness (web/start.html:116-122, Claude Code only on main), label the account by hand (web/start.html:62-79), then vibescrobble login. No subcommand installs anything (crates/vibescrobble-cli/src/main.rs:203-210).

Proposed: vibescrobble init [--as <account>].

  1. It works out which harness it runs in, with the same rules as the hook. Those rules are harness() on the unmerged branch, plugin/bin/hook.py:474-488: payload fields and $CURSOR_VERSION / $PLUGIN_ROOT, never $CLAUDECODE, which a child harness inherits (:482).
  2. It installs the plugin for that harness, or prints the one command it would run.
  3. If bot::require (crates/vibescrobble-cli/src/bot.rs:63) fails, it offers to add the bot self-label.
  4. It runs login.

The harnesses and install mechanisms init would drive are exactly what the branches add:

  • Claude Code (main): /plugin marketplace add … and /plugin install vibescrobble@vibescrobble, plus VIBESCROBBLE_AS in ~/.claude/settings.json.
  • Codex CLI (#258, plugin/.codex-plugin/): codex plugin marketplace add <url> and codex plugin add vibescrobble@vibescrobble. The hooks are then trusted in /hooks, which init cannot do.
  • Copilot CLI (#258, plugin/.github/plugin/): copilot plugin marketplace add <url> and copilot plugin install vibescrobble@vibescrobble.
  • VS Code agent (#258): reads .claude-plugin/. Installed from the Agent Customizations editor.
  • Cursor (#258, plugin/.cursor-plugin/): a copy (not a symlink) to ~/.cursor/plugins/local/vibescrobble, then a window reload.
  • Gemini CLI (#259): gemini extensions link plugin/gemini. That needs a checkout; see 3my3q2gjgjf2n.
  • Hookless harnesses (#260, plugin/agents-md/): paste a block into ~/.codex/AGENTS.md, ~/.gemini/GEMINI.md, ~/.config/zed/AGENTS.md or ~/.agents/AGENTS.md.

Decisions for the owner:

  • The label is a new write. The CLI asks for repo:com.vibescrobble.scrobble?action=create (main.rs:63). Writing app.bsky.actor.profile/self needs repo:app.bsky.actor.profile?action=create&action=update. It would be a second sign-in, or a wider first one. Either way the CLI starts writing a record that is not a scrobble, which AGENTS.md names as its only write. didbot accounts already carry the label (didbot/crates/didbot-pds/src/bsky.rs:77), so this only matters for other PDSes. The alternative is printing the steps.
  • Does init run harness commands, or only print them?
  • Is a harness init cannot detect an error, or a menu?

Depends on: #258, #259, #260.

Filed by Claude (agent) from a static read of main at fa848b5 and both branches.

Sign up or Sign in to add to the discussion.