docs(marketplace): document two-step fallback for marketplace registration
The 'Git channel' block previously showed only the direct '/plugin marketplace add https://x:$AGNES_PAT@…' path. That path fails on macOS/Windows against a private-CA Agnes instance because Bun-compiled 'claude' ignores the OS trust store and CA env vars on the marketplace HTTPS path (see the existing rationale in app/web/setup_instructions.py). Document the two-step fallback explicitly: git clone https://x:$AGNES_PAT@agnes.example.com/marketplace.git/ \ ~/agnes-marketplace claude plugin marketplace add ~/agnes-marketplace System 'git' honors GIT_SSL_CAINFO + the OS trust store, so the clone succeeds where direct add fails; pointing Claude Code at the local clone then sidesteps the Bun TLS path entirely. The dashboard-served setup payload already branches between the two automatically based on platform; the docs now match that behavior for manual flows. Also note the optional 'remote set-url' hardening to strip the PAT from the cloned repo's origin (mirrors what the dashboard payload does).
This commit is contained in:
parent
f598b7e2f6
commit
abc2335ea2
1 changed files with 23 additions and 1 deletions
24
CLAUDE.md
24
CLAUDE.md
|
|
@ -363,10 +363,32 @@ User registration inside Claude Code:
|
||||||
# ZIP channel (typically via a SessionStart hook that unpacks into ./marketplace/)
|
# ZIP channel (typically via a SessionStart hook that unpacks into ./marketplace/)
|
||||||
curl -H "Authorization: Bearer $AGNES_PAT" https://agnes.example.com/marketplace.zip
|
curl -H "Authorization: Bearer $AGNES_PAT" https://agnes.example.com/marketplace.zip
|
||||||
|
|
||||||
# Git channel — one-time registration
|
# Git channel — one-time registration. Two paths; pick the first that works.
|
||||||
|
|
||||||
|
# (a) Direct registration — preferred when it works.
|
||||||
/plugin marketplace add https://x:$AGNES_PAT@agnes.example.com/marketplace.git/
|
/plugin marketplace add https://x:$AGNES_PAT@agnes.example.com/marketplace.git/
|
||||||
|
|
||||||
|
# (b) Two-step fallback — required when (a) fails. Bun-compiled `claude` on
|
||||||
|
# macOS / Windows ignores the OS trust store and CA env vars on the
|
||||||
|
# marketplace HTTPS path, so direct add can fail with TLS errors against
|
||||||
|
# a private-CA Agnes instance even when system tools work fine. System
|
||||||
|
# `git` honors GIT_SSL_CAINFO + the OS trust store, so cloning manually
|
||||||
|
# and pointing Claude Code at the local clone sidesteps the Bun TLS path
|
||||||
|
# entirely.
|
||||||
|
git clone https://x:$AGNES_PAT@agnes.example.com/marketplace.git/ ~/agnes-marketplace
|
||||||
|
claude plugin marketplace add ~/agnes-marketplace
|
||||||
|
# Optional hardening: strip the PAT from the cloned repo's origin so it
|
||||||
|
# doesn't sit in plaintext at ~/agnes-marketplace/.git/config — re-clone via
|
||||||
|
# the dashboard's setup flow when the PAT rotates.
|
||||||
|
git -C ~/agnes-marketplace remote set-url origin https://agnes.example.com/marketplace.git/
|
||||||
```
|
```
|
||||||
|
|
||||||
|
The dashboard-served setup payload (see `app/web/setup_instructions.py`) already
|
||||||
|
branches between (a) and (b) automatically based on platform when a private CA
|
||||||
|
is in play. The block above is the manual equivalent for users registering
|
||||||
|
outside that flow (e.g. operators bringing up a new instance, or
|
||||||
|
analysts whose first attempt failed and need to retry by hand).
|
||||||
|
|
||||||
## Hybrid Queries (BigQuery + Local)
|
## Hybrid Queries (BigQuery + Local)
|
||||||
|
|
||||||
For tables too large to sync locally, use hybrid queries that JOIN local data with on-demand BigQuery results:
|
For tables too large to sync locally, use hybrid queries that JOIN local data with on-demand BigQuery results:
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue