You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The Claude Code plugin was named as a packaging surface across SPEC, ROADMAP,
README, and CLAUDE.md but never built, while the MCP server (PR #60) shipped
and isn't a like-for-like replacement (wider reach, but today a single
generate_app tool). Align all four docs on one story:
- Shipped surfaces: CLI (primary) + `nativeapptemplate-agent-mcp` (multiplier).
- Plugin → ROADMAP Post-v0.1 backlog, gated on streaming out of dispatch() +
an orchestration skill (chain mobile-mcp walkthrough + validation), since
against the single-tool MCP a plugin is a thin wrapper.
- SPEC §8 historical prose left frozen per the doc's own convention; the
addendum now corrects the record.
- MONETIZATION.md already aligned (leans on MCP, silent on plugin) — unchanged.
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
-`npx -y nativeapptemplate-agent-mcp` — stdio MCP server wrapping `dispatch()` as a `generate_app` tool, for any MCP-capable assistant (Claude Code, Cursor, Cline, Goose). The distribution multiplier.
116
+
117
+
A Claude Code plugin (slash command + orchestration skill) is **post-v0.1 backlog**, gated on streaming progress out of `dispatch()` and a skill that chains validation + a `mobile-mcp` walkthrough — against today's single-tool MCP a plugin would be a thin wrapper. See `ROADMAP.md` → Post-v0.1 backlog.
Copy file name to clipboardExpand all lines: README.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -126,7 +126,7 @@ tree ./out/clinic-queue/
126
126
# └── validation-report.html ← self-contained visual report (open in a browser)
127
127
```
128
128
129
-
The agent will also be available as a Claude Codeplugin.
129
+
The same generator also ships as an MCP server — `npx -y nativeapptemplate-agent-mcp` exposes a `generate_app` tool, so any MCP-capable assistant (Claude Code, Cursor, Cline, Goose) can invoke it without leaving the editor. A Claude Code plugin (a discoverable slash command plus an orchestration skill that chains validation and a `mobile-mcp` walkthrough) is planned post-v0.1 — see the [roadmap](./ROADMAP.md#post-v01-backlog).
Copy file name to clipboardExpand all lines: ROADMAP.md
+13-1Lines changed: 13 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -31,7 +31,7 @@ The strategy is two-track.
31
31
32
32
### Track 1 — Open source (this repository)
33
33
34
-
`npx nativeapptemplate-agent "your spec"` — the CLI form of the agent. Also ships as a Claude Code plugin. Targets the free-edition substrate. Requires an Anthropic API key; every generation run reproduces end-to-end on the reviewer's machine.
34
+
`npx nativeapptemplate-agent "your spec"` — the CLI form of the agent, and the primary surface. A second surface ships alongside it: `npx -y nativeapptemplate-agent-mcp`, a stdio MCP server exposing a `generate_app` tool so any MCP-capable assistant (Claude Code, Cursor, Cline, Goose) can invoke the agent without a terminal — the distribution multiplier. Both target the free-edition substrate and require an Anthropic API key; every generation run reproduces end-to-end on the reviewer's machine. A Claude Code plugin is a planned third surface — see Post-v0.1 backlog.
35
35
36
36
This track is permanent. It is not a free trial of a commercial product — it is how we believe a generator like this should ship by default in 2026.
37
37
@@ -84,6 +84,18 @@ Use cases the override solves: reproducible runs (demo videos, automated tests,
84
84
85
85
No interactive prompts — keeps the CLI scriptable and CI-friendly, no TTY assumptions.
86
86
87
+
### Claude Code plugin
88
+
89
+
**Status: deferred.** Long named as a packaging surface, not yet built. The shipped MCP server (`nativeapptemplate-agent-mcp`) already covers in-assistant invocation across *every* MCP-capable client — strictly wider reach than a Claude-Code-only plugin. Against today's MCP, which wraps `dispatch()` as a single `generate_app` tool, a plugin would be a thin wrapper: a discoverable slash command plus a one-step install, and little else.
90
+
91
+
The plugin earns its place once there is depth for it to add — work that doesn't exist yet and that the bare MCP tool can't carry cleanly:
92
+
93
+
1.**Streaming progress out of `dispatch()`** so a 3–5 min build-mode run isn't a frozen wait. (Flagged non-negotiable for the MCP surface in the monetization notes; the plugin inherits the same need.)
94
+
2.**An orchestration skill** that owns the *post*-generation story — chaining a `mobile-mcp` home-screen walkthrough, running the validation layers, and surfacing the report. This is genuinely plugin-shaped (a skill plus bundled MCP wiring), and it's the piece a single `generate_app` tool can't express.
95
+
3.**Bundling the generator MCP + `mobile-mcp` pre-wired** so "generate a clinic queue, then walk its home screen" works out of the box.
96
+
97
+
Gate building the plugin on (1) and (2) landing first; until then it adds slash-command discoverability over the MCP and not much more.
| §6 Layer 2 Stage 2 (UI-driven scenario) |**Shipped**| Behind `NATIVEAPPTEMPLATE_VISUAL=2`; see §5 Stage 2 row. The original spec mentioned an HTTP-tail watcher for 4xx/5xx; the actual implementation walks the UI directly and lets the scenario `wait_for_text`/`assert_text` catch error states. |
29
29
| §7 Evaluation plan (3 specs × 3 platforms = 9 projects) |**Exceeded**| Validated against 12 PASS combinations (full 6-cell matrix × 2 platforms): free × 3 specs × 2 platforms (6) + paid × 3 specs × 2 platforms (6). Both new paid cells (sushi waitlist, task tracker) passed first-try with no code changes — strong evidence the parameterized scenario is genuinely edition-agnostic. |
30
-
| §8 Packaging (CLI + Claude Code plugin) |**Expanded**|Third surface added: **MCP server** (`nativeapptemplate-agent-mcp`, PR #60) — stdio MCP server wrapping `dispatch()` as a `generate_app` tool. Anyone with an MCP-capable agent (Claude Desktop, Cursor, etc.) can drive the agent without the CLI. |
30
+
| §8 Packaging (CLI + Claude Code plugin) |**Changed**|The planned Claude Code plugin was **not** built. The actually-shipped second surface is the **MCP server** (`nativeapptemplate-agent-mcp`, PR #60) — stdio, wrapping `dispatch()` as a `generate_app` tool, drivable from any MCP-capable assistant (Claude Code, Cursor, Cline, Goose) without the CLI. The §8 prose below still reads "two surfaces (CLI + plugin)" as the frozen pre-hackathon plan; **today's reality is CLI + MCP**, with the plugin deferred to ROADMAP → Post-v0.1 backlog (gated on streaming progress + an orchestration skill, since against the single-tool MCP a plugin would be a thin wrapper). |
31
31
| §8 Packaging — env bridging (new) |**Shipped**| At run time the agent mirrors `NATIVEAPPTEMPLATE_API_*` (HOST/PORT/SCHEME) into renamed-product variants (`<PRODUCT>_API_*`) so the generated Android app picks them up via `~/.gradle/gradle.properties` and the iOS sim launch picks them up via `SIMCTL_CHILD_*` (PR #64). Safety knobs: `NATIVEAPPTEMPLATE_BRIDGE=off` skips the file write; `NATIVEAPPTEMPLATE_BRIDGE_DRY_RUN=1` previews. |
32
32
| §9 Non-goals (paid-edition features) |**Stable**| Paid-edition features (multi-tenancy URL routing, invitations, role permissions, org switching) remain out of the rename pipeline by design. The agent operates against paid substrates fine — it just doesn't generate new paid-only features into renamed projects. |
33
33
| §11 Hackathon must-haves |**All met**| All Must-have + Stretch criteria green at v0.2.0; see release notes for the post-hackathon delta. |
34
34
35
35
### What changed structurally since v1.0 of this spec
36
36
37
-
-**Distribution surfaces went from 2 to 3**(added MCP server).
37
+
-**Distribution surfaces: planned CLI + Claude Code plugin → shipped CLI + MCP server.**The MCP server replaced the plugin as the second surface — wider reach (every MCP client, not just Claude Code) for the same `dispatch()` core. The plugin is deferred to the Post-v0.1 backlog.
38
38
-**Substrate scope went from "free-only" to "free + paid"** without code changes; same pipeline.
39
39
-**Validation went from "9 generated projects, target Layer 1+2 pass + Layer 3 score"** to a concrete 12-cell PASS matrix.
40
40
-**Stage 2 went from aspirational ("stretch") to default-when-opted-in** (`NATIVEAPPTEMPLATE_VISUAL=2`).
0 commit comments