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>].
- 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). - It installs the plugin for that harness, or prints the one command it would run.
- If
bot::require(crates/vibescrobble-cli/src/bot.rs:63) fails, it offers to add thebotself-label. - 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, plusVIBESCROBBLE_ASin~/.claude/settings.json. - Codex CLI (#258,
plugin/.codex-plugin/):codex plugin marketplace add <url>andcodex plugin add vibescrobble@vibescrobble. The hooks are then trusted in/hooks, whichinitcannot do. - Copilot CLI (#258,
plugin/.github/plugin/):copilot plugin marketplace add <url>andcopilot 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.mdor~/.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). Writingapp.bsky.actor.profile/selfneedsrepo: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, whichAGENTS.mdnames 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
initrun harness commands, or only print them? - Is a harness
initcannot 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.