atproto git client
atgc plugin README.md
1.5 kB · 44 lines
Markdown
at main

atgc plugin #

A Claude Code plugin whose SessionStart hook tells an agent what Tangled is, how it signs in to atgc as its own didbot identity, and that it has to name the account on every command. It then points the agent at atgc agent for the rest. bin/hook.py is the whole plugin. Its doc comment says what the hook prints and when.

/plugin marketplace add https://tangled.org/permadeath.com/atgc.git
/plugin install atgc@atgc

What it needs #

The atgc command on PATH, installed as the top-level README says. Without it the hook prints nothing. It never tells an agent to install anything, because that is the human's call.

On a machine running didbot, with the didbot command and its agent daemon's socket ($DIDBOT_SOCK, or else didbot-agent/agent.sock under $XDG_RUNTIME_DIR, or under /tmp when that is unset), the hook also says how the session signs in as its agent identity and approves that sign-in with didbot oauth approve. Without didbot it leaves those lines out.

Updates #

plugin.json names no version, so Claude Code versions the plugin by the commit its marketplace is at, and every commit to main is an update. Claude Code doesn't fetch updates on its own for a marketplace that isn't Anthropic's until auto-update is turned on in /plugin > Marketplaces. To update by hand:

claude plugin marketplace update atgc
claude plugin update atgc@atgc

Tests #

python3 -m unittest discover -s plugin/tests