diff --git a/examples/audiobook-curator/tests/application.test.tsx b/examples/audiobook-curator/tests/application.test.ts similarity index 100% rename from examples/audiobook-curator/tests/application.test.tsx rename to examples/audiobook-curator/tests/application.test.ts diff --git a/examples/skills-starter/README.md b/examples/skills-starter/README.md index a27deebdd..b780389f5 100644 --- a/examples/skills-starter/README.md +++ b/examples/skills-starter/README.md @@ -14,7 +14,8 @@ required. Both eval suites are deterministic and read only checked-in fixtures. - `agent-bundle.config.ts` declares the plugin and its portable, Codex, and Claude targets. The Skills are not listed there: every `skills/*/SKILL.md` - directory is discovered automatically by convention. + directory is discovered automatically by convention, the model described in + [`docs/framework-mode.md`](../../docs/framework-mode.md). - `skills/incident-triage/SKILL.md` guides a production incident from first signal through containment, evidence collection, and a handoff-ready update. - `skills/dependency-upgrade/SKILL.md` plans dependency upgrades with API, diff --git a/packages/rsc-runtime/README.md b/packages/rsc-runtime/README.md index 1c6d6d604..43f23800c 100644 --- a/packages/rsc-runtime/README.md +++ b/packages/rsc-runtime/README.md @@ -30,8 +30,10 @@ are still rejected, and the error names the offending key path. ## Applications Structure — targets, skills, scripts, MCP servers, MCP apps — lives in -`agent-bundle.config.ts` and file conventions; JSX renders. The -`@agent-bundle/rsc-runtime/plugin` entry defines the application's runtime +`agent-bundle.config.ts` and file conventions; JSX renders. That split is the +whole authoring model, described on one screen in +[Framework mode](https://github.com/ScriptedAlchemy/agent-bundle/blob/main/docs/framework-mode.md). +The `@agent-bundle/rsc-runtime/plugin` entry defines the application's runtime identity and typed operation catalog once and derives its CLI commands and MCP tool registrations from that one registry: @@ -92,5 +94,13 @@ operation declares (`readOnly`, plus `destructive` / `idempotent` / `openWorld` when present); absent hints stay absent on the wire, where they keep their MCP-spec default semantics. +The widget behind that `resourceUri` is structure, so it is declared in +`agent-bundle.config.ts` under the owning server — `mcp.servers..apps.` +with an `entry`, the matching `resourceUri`, and optional `template`, `targets`, +and `_meta`. Agent Bundle compiles each view into a self-contained HTML resource +and hands it to the server through `import apps from 'agent-bundle/mcp-apps'`. +`createRscMcpServer` registers tools only, so serving that resource remains an +explicit `registerResource` call on the server it returns. + This layer intentionally does not own transport persistence or application state. Those remain explicit dependencies of operation implementations.