diff --git a/examples/audiobook-curator/README.md b/examples/audiobook-curator/README.md index 48f9f1569..562bf9321 100644 --- a/examples/audiobook-curator/README.md +++ b/examples/audiobook-curator/README.md @@ -38,6 +38,24 @@ including each host's plugin metadata, Skill, bundled CLI script, and bundled MC server. The example uses only public `agent-bundle` and `@agent-bundle/rsc-runtime` exports with `workspace:*` dependencies. +## Source layout + +- `src/application.tsx` — composition only: merges the feature modules' + defaults and declares the `` tree (Skill, CLI Script, MCP + server, operations). +- `src/operations/` — the operation catalog, grouped by workflow stage: + `discovery` (inspect/inventory/library-audit/select), `audible` + (search/select/cache), `evidence` (acoustic/whisper), `media-mutation` + (apply-metadata/apply-chapters), and `output` (convert/prepare/audit), with + shared `cli-arguments.ts` and `schemas.ts`. +- Domain logic lives beside them in `src/` (`library.ts`, `audible.ts`, + `evidence.ts`, `conversion.ts`, `media-mutation.ts`, `integrity-audit.ts`, + `curator-core.ts`) over the shared `foundation.ts` and `media-process.ts` + primitives; `result.tsx` renders every receipt for MCP. +- `src/cli.ts`, `src/cli-entry.ts`, `src/mcp-server.ts`, and + `bin/audiobook-curator.js` are the entry shims for the CLI (test-injectable + runner, bundled `