Skip to content

Commit 972c956

Browse files
dmealingclaude
andcommitted
Merge: wire api-docs into the adopter surface (default-on scaffold + agent pointer)
The last-mile fixes from the staff review: api-docs is now in the default meta init scaffold (every new TS project generates docs/api/), and the metaobjects-codegen skill's TS reference points a coding agent at docs/api/AGENT-API.md ('read it before calling generated code'). Pointer is stack-scoped (TS-only, where api-docs runs) to stay accurate — extends when api-docs fans out to other ports. Agent-context conformance fixtures regenerated; all agent-context gates green. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2 parents c9c4611 + 64ec026 commit 972c956

4 files changed

Lines changed: 15 additions & 0 deletions

File tree

agent-context/skills/metaobjects-codegen/references/typescript.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,12 @@ From `@metaobjectsdev/codegen-ts/generators` (server-side, framework-neutral):
5555
| `barrel()` | `index.ts` re-exporting each `<Entity>.ts` (one-shot, not per-entity) |
5656
| `promptRender()` | `render<Name>()` per `template.prompt` |
5757
| `outputParser()` | `<Name>.output.ts` (`parse*` / `safeParse*`) per `template.output` |
58+
| `apiDocsFile()` | `docs/api/<Entity>.md` + `docs/api/README.md` index + `docs/api/AGENT-API.md` (condensed agent-facing API reference) |
59+
60+
When `apiDocsFile()` is enabled (it is in the default scaffold), **read
61+
`docs/api/AGENT-API.md` before calling any generated code** — it has the exact
62+
imports, function signatures, payload field shapes, and runnable examples for this
63+
project's generated API, so you don't have to guess them.
5864

5965
From `@metaobjectsdev/codegen-ts-react`: `formFile()``<Entity>.form.tsx`.
6066
From `@metaobjectsdev/codegen-ts-tanstack`: `tanstackQuery()``<Entity>.hooks.ts`

fixtures/agent-context-conformance/ts-react-tanstack/expected/.claude/skills/metaobjects-codegen/references/typescript.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,12 @@ From `@metaobjectsdev/codegen-ts/generators` (server-side, framework-neutral):
5555
| `barrel()` | `index.ts` re-exporting each `<Entity>.ts` (one-shot, not per-entity) |
5656
| `promptRender()` | `render<Name>()` per `template.prompt` |
5757
| `outputParser()` | `<Name>.output.ts` (`parse*` / `safeParse*`) per `template.output` |
58+
| `apiDocsFile()` | `docs/api/<Entity>.md` + `docs/api/README.md` index + `docs/api/AGENT-API.md` (condensed agent-facing API reference) |
59+
60+
When `apiDocsFile()` is enabled (it is in the default scaffold), **read
61+
`docs/api/AGENT-API.md` before calling any generated code** — it has the exact
62+
imports, function signatures, payload field shapes, and runnable examples for this
63+
project's generated API, so you don't have to guess them.
5864

5965
From `@metaobjectsdev/codegen-ts-react`: `formFile()``<Entity>.form.tsx`.
6066
From `@metaobjectsdev/codegen-ts-tanstack`: `tanstackQuery()``<Entity>.hooks.ts`

server/typescript/packages/cli/src/commands/init.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ import {
3434
routesFile,
3535
// formFile, // opt-in: emit React form components
3636
barrel,
37+
apiDocsFile,
3738
} from "@metaobjectsdev/codegen-ts/generators";
3839
3940
export default defineConfig({
@@ -47,6 +48,7 @@ export default defineConfig({
4748
queriesFile(),
4849
routesFile(),
4950
barrel(),
51+
apiDocsFile(),
5052
],
5153
});
5254
`;

server/typescript/packages/cli/test/unit/init-scaffold-config.test.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ describe("meta init scaffolds metaobjects.config.ts", () => {
1818
expect(body).toContain(`queriesFile()`);
1919
expect(body).toContain(`routesFile()`);
2020
expect(body).toContain(`barrel()`);
21+
expect(body).toContain(`apiDocsFile()`);
2122
expect(result.created).toContain("metaobjects.config.ts");
2223
});
2324

0 commit comments

Comments
 (0)