From b64fe256108200c50c8f9f8909091377230f322a Mon Sep 17 00:00:00 2001 From: Josh Knapp Date: Mon, 27 Jul 2026 07:04:13 -0700 Subject: [PATCH] chore: reduce instance/dnspegasus to a manifests-only orphan branch MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This branch previously carried a full copy of the app, which was wrong twice: it drifted behind main (11 commits by the end), and syncing it meant `git merge origin/main`, which silently replaced the three instance manifests with main's public placeholders — no conflict raised, because only main had touched those paths. As an orphan branch with no shared history there is nothing to sync and nothing to clobber. Clone drops from 1.5M to ~200K. Verified: installing from this ref yields the same server URL, client ID and callback port as before. Previous tip was e5abd34 if any of the dropped history is ever wanted. Co-Authored-By: Claude Opus 5 (1M context) --- .claude-plugin/marketplace.json | 16 ++++++++++++ README.md | 41 +++++++++++++++++++++++++++++++ plugin/.claude-plugin/plugin.json | 10 ++++++++ plugin/.mcp.json | 12 +++++++++ 4 files changed, 79 insertions(+) create mode 100644 .claude-plugin/marketplace.json create mode 100644 README.md create mode 100644 plugin/.claude-plugin/plugin.json create mode 100644 plugin/.mcp.json diff --git a/.claude-plugin/marketplace.json b/.claude-plugin/marketplace.json new file mode 100644 index 0000000..c81698e --- /dev/null +++ b/.claude-plugin/marketplace.json @@ -0,0 +1,16 @@ +{ + "$schema": "https://anthropic.com/claude-code/marketplace.schema.json", + "name": "dnspegasus", + "description": "Self-hosted Claude Code plugins for the dnspegasus.net infrastructure.", + "owner": { + "name": "jknapp", + "url": "https://repo.anhonesthost.net/jknapp/shared-memory" + }, + "plugins": [ + { + "name": "shared-memory", + "source": "./plugin", + "description": "Shared persistent memory and snippet library for Claude Code sessions, backed by memory.dnspegasus.net and authenticated with Authentik OIDC." + } + ] +} diff --git a/README.md b/README.md new file mode 100644 index 0000000..b1d657e --- /dev/null +++ b/README.md @@ -0,0 +1,41 @@ +# instance/dnspegasus + +This branch is **not** a fork of the project. It is an orphan branch holding +exactly three files: the Claude Code plugin manifests for one live instance, +filled in with that instance's real server URL and OAuth client ID. + +``` +.claude-plugin/marketplace.json marketplace named `dnspegasus` +plugin/.claude-plugin/plugin.json plugin manifest +plugin/.mcp.json server URL + pre-registered OAuth client +``` + +Install from it with a `#ref` fragment: + +```bash +claude plugin marketplace add "https://repo.anhonesthost.net/cybercove-labs/shared-memory.git#instance/dnspegasus" +claude plugin install shared-memory@dnspegasus +``` + +## Why it's an orphan branch + +It used to be a normal branch off `main`, which was wrong twice over: + +- It carried a full copy of the application it had no reason to have, so it + drifted behind `main` and a stale deploy could have been cut from it. +- Syncing it meant `git merge origin/main`, which **silently replaced these + three manifests** with `main`'s public placeholders. No conflict was raised, + because only `main` had touched those paths. + +With no shared history there is nothing to sync and nothing to clobber. Never +merge `main` into this branch — if the manifest *format* changes upstream, +hand-edit these files and run `claude plugin validate .`. + +`main` carries the same three files with placeholder values, as the public +template. The real values live only here. + +## The client ID is not a secret + +`clientId` is a **Public** (PKCE) OAuth client. It is meant to be committed — +it identifies the client, it does not authenticate it. Access is controlled by +the bindings on the IdP application, not by keeping this string private. diff --git a/plugin/.claude-plugin/plugin.json b/plugin/.claude-plugin/plugin.json new file mode 100644 index 0000000..b0076d1 --- /dev/null +++ b/plugin/.claude-plugin/plugin.json @@ -0,0 +1,10 @@ +{ + "$schema": "https://anthropic.com/claude-code/plugin.schema.json", + "name": "shared-memory", + "version": "0.1.0", + "description": "Shared persistent memory and snippet library for Claude Code sessions, backed by memory.dnspegasus.net and authenticated with Authentik OIDC.", + "author": { + "name": "jknapp" + }, + "homepage": "https://memory.dnspegasus.net" +} diff --git a/plugin/.mcp.json b/plugin/.mcp.json new file mode 100644 index 0000000..38a481c --- /dev/null +++ b/plugin/.mcp.json @@ -0,0 +1,12 @@ +{ + "mcpServers": { + "shared-memory": { + "type": "http", + "url": "https://memory.dnspegasus.net/api/mcp", + "oauth": { + "clientId": "5rkRS3rJhn3Ci9swWkxYMIrZ9OggsjOGy3cIOhYY", + "callbackPort": 33418 + } + } + } +}