From 433bcca8a2d344edd0c3322879ec7c43f517e383 Mon Sep 17 00:00:00 2001 From: Claude Date: Fri, 7 Aug 2026 14:02:12 +0000 Subject: [PATCH] Stop publishing the repo as a plugin marketplace, and refresh the run skill MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Three small things. Removed `.claude-plugin/marketplace.json`. It is the file `/plugin marketplace add` reads, so without it this repo no longer offers itself as a marketplace — which is the odd part of an Angular app carrying one. The caveman plugin's own files stay, so it can be listed from a marketplace of its own later; only the listing is gone. That left four documents asserting an install path that no longer exists, including a README section handing out `/plugin marketplace add` and `/plugin install` commands that would now fail. All four now say what is actually true. `.junie/plans/nasa-star-map.md` still describes the repo as containing only a marketplace, and is left alone: it records what was here before the app was written, and is not a claim about the present. The run skill's numbers had drifted a release behind — 496 tests in 28 files against a real 527 in 31, and a build timed at 9s that now takes 12. Measured rather than guessed. The pinned Playwright version it names was correct. It also gains the Pages build, which is not a plain `npm run build`: the base href and the 404.html copy are both required for a project site, and the artifact root is `dist/star-map/browser` rather than its parent. Plus the matching gotcha, since a Pages build served at `/` looks broken in a way that tells you nothing about whether it would work. Co-Authored-By: Claude Opus 5 Claude-Session: https://claude.ai/code/session_01WaySiNst4HhDXBHnMy8p5G --- .claude-plugin/marketplace.json | 28 ----------------------- .claude/skills/run-star-map/SKILL.md | 33 +++++++++++++++++++++++++--- README.md | 27 +++++------------------ agents/cs-caveman-mode.md | 7 +++--- commands/cs/caveman.md | 9 +++----- skills/caveman/SKILL.md | 10 ++++----- 6 files changed, 45 insertions(+), 69 deletions(-) delete mode 100644 .claude-plugin/marketplace.json diff --git a/.claude-plugin/marketplace.json b/.claude-plugin/marketplace.json deleted file mode 100644 index 9fbf0c9..0000000 --- a/.claude-plugin/marketplace.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "name": "star-map", - "owner": { - "name": "avalon-vanguard", - "url": "https://github.com/avalon-vanguard" - }, - "description": "Personal marketplace of cs:* Claude Code commands, agents, and skills.", - "plugins": [ - { - "name": "caveman", - "source": "./", - "description": "Ultra-compressed communication mode. Cuts token usage ~75% by dropping filler, articles, and pleasantries while keeping full technical accuracy. Adds a cs-caveman-mode persona agent, /cs:caveman slash command, and stdlib Python tooling (compressor, token-savings estimator, lint) on top of Matt Pocock's MIT-licensed caveman skill.", - "version": "1.0.0", - "author": { - "name": "avalon-vanguard", - "url": "https://github.com/avalon-vanguard" - }, - "license": "MIT", - "keywords": [ - "caveman", - "communication", - "tokens", - "productivity" - ], - "category": "productivity" - } - ] -} diff --git a/.claude/skills/run-star-map/SKILL.md b/.claude/skills/run-star-map/SKILL.md index 7419616..dd00110 100644 --- a/.claude/skills/run-star-map/SKILL.md +++ b/.claude/skills/run-star-map/SKILL.md @@ -130,15 +130,38 @@ already-running server and leaves it alone on exit). ## Test ```bash -PATH=/opt/node/bin:$PATH npm test # 496 tests, 28 files, ~5s -PATH=/opt/node/bin:$PATH npm run build # ~9s +PATH=/opt/node/bin:$PATH npm test # 527 tests, 31 files, ~6s +PATH=/opt/node/bin:$PATH npm run build # ~12s PATH=/opt/node/bin:$PATH npm run etl:typecheck PATH=/opt/node/bin:$PATH npm run e2e:typecheck -PATH=/opt/node/bin:$PATH npm run e2e -- --workers=1 # 6 tests, ~2.3m +PATH=/opt/node/bin:$PATH npm run e2e -- --workers=1 # 6 tests, 3 files, ~2.3m ``` `--workers=1` on the e2e suite is **not optional here** — see Gotchas. +## Build for GitHub Pages + +`.github/workflows/pages.yml` publishes the app on a push to `main`. To reproduce what it builds: + +```bash +export PATH=/opt/node/bin:$PATH +npm run build -- --base-href "/star-map/" +cp dist/star-map/browser/index.html dist/star-map/browser/404.html +``` + +Two things differ from a plain `npm run build`, and both exist because a project site is served +from a subdirectory rather than a domain root: + +- **`--base-href`.** `DataLoaderService` fetches its catalogues with relative URLs + (`assets/data/stars.bin`), which resolve against `` rather than the current path. Get it + wrong and a deep link asks for `/body/assets/data/stars.bin`. The workflow derives it from the + repository name so a rename cannot strand it. +- **`404.html`.** Pages has no rewrite rules, so `/body/mars` has no file behind it. Serving the + app as the 404 body lets the router render the route. The response stays HTTP 404. + +The uploaded artifact is `dist/star-map/browser`, **not** `dist/star-map` — the parent also holds +`3rdpartylicenses.txt` and `prerendered-routes.json`, which are not part of the site. + ## Gotchas - **The wrong Node is first on `PATH`.** `/opt/node22` is v22.22.2; `/opt/node` is v22.23.2. @@ -172,6 +195,10 @@ PATH=/opt/node/bin:$PATH npm run e2e -- --workers=1 # 6 tests, ~2.3m view) to see Mercury/Venus/Earth/Mars labelled. - **Port 4300, not Angular's usual 4200** — the project's own convention, set in `playwright.config.ts` so it never collides with an unrelated `ng serve`. +- **A Pages build looks broken if you serve it at the root.** `` makes + every asset resolve under that prefix, so opening `dist/star-map/browser` at `/` gets you a + blank page and a wall of 404s. Serve it under the same prefix as Pages does, with unknown paths + falling back to `404.html`, or the check tells you nothing. - **Don't write driver scripts in `.ts` outside the repo.** `tsx` compiles a bare `.ts` as CJS ("Top-level await is currently not supported with the cjs output format"), and a script outside the repo can't resolve `@playwright/test` at all. The driver is `.mjs` inside the repo for both diff --git a/README.md b/README.md index b3f9167..775a6ff 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,7 @@ real astronomical data instead of fictional systems. Browse the solar neighbourh star's system to see its planets on their real orbits, and drill into a single body for the NASA figures behind it. -This repo also hosts a small Claude Code plugin marketplace — see [Plugins](#plugins) below. +The source of a small Claude Code plugin also lives here — see [Plugins](#plugins) below. ![The solar neighbourhood: 68 388 catalogued stars within 250 parsecs, on a polar grid lying in the galactic plane](docs/screenshots/galaxy-view.jpg) @@ -290,27 +290,10 @@ The design document behind all of this is `.junie/plans/nasa-star-map.md`. ## Plugins -This repo doubles as a Claude Code plugin marketplace. Adding it and installing a plugin -defaults to **user scope**, meaning the plugin becomes available in *every* project on your -machine, not just the one you happen to be in: - -```bash -/plugin marketplace add avalon-vanguard/star-map -/plugin install caveman@star-map -``` - -Scope can be overridden at install time if you want it tied to a single repo instead: - -```bash -# Shared with collaborators via that repo's .claude/settings.json -/plugin install caveman@star-map --scope project - -# Just for you, in that one repo only (gitignored) -/plugin install caveman@star-map --scope local -``` - -See [Claude Code plugin installation scopes](https://code.claude.com/docs/en/plugins-reference) -for details on `user` / `project` / `local` scope. +This repo carries the source of one Claude Code plugin, but no longer publishes itself as a +marketplace — `.claude-plugin/marketplace.json` was removed, which is the file `/plugin +marketplace add` reads. So there is currently no install path from here; the manifest and the +plugin's own files are kept so it can be listed from a marketplace of its own later. - **caveman** — `/cs:caveman` ultra-compressed communication mode. - Command: [`commands/cs/caveman.md`](commands/cs/caveman.md) diff --git a/agents/cs-caveman-mode.md b/agents/cs-caveman-mode.md index 093a535..15b4aff 100644 --- a/agents/cs-caveman-mode.md +++ b/agents/cs-caveman-mode.md @@ -18,10 +18,9 @@ turns until explicit deactivation. ## Scope -Ships as part of this repo's plugin marketplace. Installing it via -`/plugin install caveman@star-map` defaults to **user scope**, so this -agent is available in every project, not scoped to a single repo. See the -[README](../README.md) for `--scope project` / `--scope local` overrides. +Part of the caveman plugin, whose source lives here. This repo no longer +publishes itself as a plugin marketplace, so the agent is not installable +from it as things stand. See the [README](../README.md). ## Activation Triggers diff --git a/commands/cs/caveman.md b/commands/cs/caveman.md index 08cef87..db2d711 100644 --- a/commands/cs/caveman.md +++ b/commands/cs/caveman.md @@ -11,12 +11,9 @@ Activate caveman mode. Stays active until explicit deactivation. ## Scope -Installed via this repo's plugin marketplace, this command defaults to -**user scope** — available in every project, not just the one it was -installed from. Override with `--scope project` (shared with collaborators -via `.claude/settings.json`) or `--scope local` (gitignored, this repo -only) if you want it scoped down. See the [README](../../README.md) for -install commands. +Part of the caveman plugin, whose source lives here. This repo no longer +publishes itself as a plugin marketplace, so the command is not installable +from it as things stand. See the [README](../../README.md). ## Activation diff --git a/skills/caveman/SKILL.md b/skills/caveman/SKILL.md index ba7ad87..a3c7e3e 100644 --- a/skills/caveman/SKILL.md +++ b/skills/caveman/SKILL.md @@ -15,12 +15,10 @@ exactly as-is. ## Scope -This skill ships via this repo's plugin marketplace -(`.claude-plugin/marketplace.json`). Installing with -`/plugin install caveman@star-map` defaults to **user scope** — global, -available in every project — instead of being tied to just one repo. Use -`--scope project` or `--scope local` to narrow it; see the -[README](../../README.md). +This repo no longer publishes itself as a plugin marketplace, so there is +currently no install path for this skill from here. Listing it from a +marketplace elsewhere is what would make `/plugin install` work again; see +the [README](../../README.md). ## Persistence