From 4458488fcd0cbe31a2eaff40cfde52fac3995a2e Mon Sep 17 00:00:00 2001 From: Ben Lovell Date: Mon, 8 Jun 2026 15:50:31 +0200 Subject: [PATCH] feat: publish Tower as an installable Claude Code plugin Add .claude-plugin/marketplace.json cataloguing the Tower plugin, and move the plugin (plugin.json, skills/, .mcp.json) into plugin/ so an install caches only the plugin, not the whole repo. --- .claude-plugin/marketplace.json | 13 +++++++++++++ .github/workflows/regenerate-skill.yml | 6 +++--- .../.claude-plugin}/plugin.json | 0 .mcp.json => plugin/.mcp.json | 0 {skills => plugin/skills}/tower/SKILL.md | 0 5 files changed, 16 insertions(+), 3 deletions(-) create mode 100644 .claude-plugin/marketplace.json rename {.claude-plugin => plugin/.claude-plugin}/plugin.json (100%) rename .mcp.json => plugin/.mcp.json (100%) rename {skills => plugin/skills}/tower/SKILL.md (100%) diff --git a/.claude-plugin/marketplace.json b/.claude-plugin/marketplace.json new file mode 100644 index 00000000..4586a478 --- /dev/null +++ b/.claude-plugin/marketplace.json @@ -0,0 +1,13 @@ +{ + "name": "tower-cli", + "owner": { + "name": "Tower" + }, + "plugins": [ + { + "name": "tower", + "source": "./plugin", + "description": "Tower compute platform — run and deploy Python apps, pipelines, and AI agents" + } + ] +} diff --git a/.github/workflows/regenerate-skill.yml b/.github/workflows/regenerate-skill.yml index ea16be2d..cc7a02ed 100644 --- a/.github/workflows/regenerate-skill.yml +++ b/.github/workflows/regenerate-skill.yml @@ -6,7 +6,7 @@ on: paths: - 'crates/tower-cmd/**' - 'crates/tower/**' - - 'skills/tower/SKILL.md' + - 'plugin/skills/tower/SKILL.md' - '.github/workflows/regenerate-skill.yml' concurrency: @@ -30,7 +30,7 @@ jobs: uses: Swatinem/rust-cache@v2 - name: Regenerate SKILL.md - run: cargo run --quiet --bin tower -- skill generate > skills/tower/SKILL.md + run: cargo run --quiet --bin tower -- skill generate > plugin/skills/tower/SKILL.md - name: Open PR if SKILL.md changed uses: peter-evans/create-pull-request@v7 @@ -44,4 +44,4 @@ jobs: branch: chore/regenerate-skill base: develop delete-branch: true - add-paths: skills/tower/SKILL.md + add-paths: plugin/skills/tower/SKILL.md diff --git a/.claude-plugin/plugin.json b/plugin/.claude-plugin/plugin.json similarity index 100% rename from .claude-plugin/plugin.json rename to plugin/.claude-plugin/plugin.json diff --git a/.mcp.json b/plugin/.mcp.json similarity index 100% rename from .mcp.json rename to plugin/.mcp.json diff --git a/skills/tower/SKILL.md b/plugin/skills/tower/SKILL.md similarity index 100% rename from skills/tower/SKILL.md rename to plugin/skills/tower/SKILL.md