Skip to content

Add clean-room community install smoke test#2

Merged
kreneskyp merged 1 commit into
mainfrom
install-smoke-test
Jun 19, 2026
Merged

Add clean-room community install smoke test#2
kreneskyp merged 1 commit into
mainfrom
install-smoke-test

Conversation

@kreneskyp

Copy link
Copy Markdown
Contributor

What

A repeatable, deterministic clean-room install test proving a brand-new community developer can install ix-flow from public npm and load its Claude Code plugin (skills/workflows) — with no Agent-IX internal config and no Anthropic API key.

How it works

A fresh node:24 container with no .npmrc and no @agent-ix scope override (exactly an outside user's machine):

  1. Stage 1 — public npm. npm i -g @agent-ix/ix-flow from registry.npmjs.org, runs the bin. Proves the published CLI + full dep tree resolve with zero auth.
  2. Stage 2 — Claude plugin. claude plugin marketplace add + plugin install (the CLI form of the README's /plugin steps).
  3. Assert. Plugin installed + every skill/workflow in smoke/expected.txt present. When the host subscription credential is mounted, also asserts a live Claude session loaded the plugin and exposes the skills as commands.

Plugin source

  • PLUGIN_SOURCE=github (default, make install-smoke) — the real community path from agent-ix/ix-flow.
  • PLUGIN_SOURCE=local — installs from the checkout; this is what CI runs so a PR validates its own changes. No secret required (plugin install is pure git; the live-load check is skipped without creds).

CI

Adds .github/workflows/install-smoke.yml (runs on PRs + release tags). Secret-free.

Auth

run.sh bind-mounts ~/.claude/.credentials.json read-only; the token is never read or extracted, so the live-load check uses your subscription with no API key.

Complements the agent-pty evals (make evals) — those measure a real agent's token/tool/latency; this only verifies installability.

🤖 Generated with Claude Code

Verify a brand-new developer can install ix-flow from public npm and load
its Claude Code plugin (skills/workflows) with no Agent-IX internal config
and no Anthropic API key.

smoke/ builds a fresh node:24 container with no .npmrc and no @agent-ix
scope override, then:
  1. npm i -g @agent-ix/ix-flow from registry.npmjs.org and runs the bin
  2. installs the Claude Code plugin (marketplace add + plugin install)
  3. asserts the plugin + every skill/workflow in expected.txt is present,
     and — when a host subscription credential is mounted — that a live
     Claude session loaded the plugin and exposes the skills as commands

PLUGIN_SOURCE=github (default, `make install-smoke`) tests the real
community path; PLUGIN_SOURCE=local tests the checkout and is what CI runs
on PRs (no secret needed — plugin install is pure git). README documents
the two-part install and the no-API-key subscription auth.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@kreneskyp
kreneskyp merged commit c57e918 into main Jun 19, 2026
1 check passed
@kreneskyp
kreneskyp deleted the install-smoke-test branch June 19, 2026 16:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant