@beignet/cli 0.0.19 → 0.0.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"agents.d.ts","sourceRoot":"","sources":["../../src/templates/agents.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,KAAK,eAAe,EAAE,MAAM,aAAa,CAAC;AAExE;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,eAAe,GAAG,MAAM,CA+FrD;AAED;;;;GAIG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,eAAe,GAAG,MAAM,CASrD"}
1
+ {"version":3,"file":"agents.d.ts","sourceRoot":"","sources":["../../src/templates/agents.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,KAAK,eAAe,EAAE,MAAM,aAAa,CAAC;AAExE;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,eAAe,GAAG,MAAM,CAiHrD;AAeD;;;;GAIG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,eAAe,GAAG,MAAM,CASrD"}
@@ -19,6 +19,10 @@ export function agentsMd(ctx) {
19
19
  const typecheck = ctx.packageManager === "npm"
20
20
  ? "npm run typecheck"
21
21
  : `${ctx.packageManager} run typecheck`;
22
+ const intent = intentRunner(ctx);
23
+ const specificSkills = ctx.api
24
+ ? "`@beignet/next#routes-server` or `@beignet/cli#app-structure`"
25
+ : "`@beignet/next#routes-server`, `@beignet/react-query#client`, or `@beignet/cli#app-structure`";
22
26
  return `# ${ctx.name} — agent guide
23
27
 
24
28
  This is a Beignet contract-first app. Full framework docs live at
@@ -70,6 +74,20 @@ ${typecheck}
70
74
  \`${lint}\` runs Biome's code lint. Use \`${format}\` to apply formatting.
71
75
  \`${cli} lint\` is Beignet's dependency-direction lint.
72
76
 
77
+ ## Package skills
78
+
79
+ This app trusts Beignet's package-shipped agent skills through
80
+ \`package.json#intent.skills\`. Before substantial Beignet changes, run:
81
+
82
+ \`\`\`bash
83
+ ${intent} list
84
+ ${intent} load @beignet/core#app-architecture
85
+ \`\`\`
86
+
87
+ Load more specific skills when they match the task, for example ${specificSkills}.
88
+ Run \`${intent} install\` if this repository does not yet have Intent's managed
89
+ skill-loading block.
90
+
73
91
  ## Placement rules
74
92
 
75
93
  - Feature artifacts live under \`features/<feature>/\`, with tests in
@@ -96,6 +114,18 @@ structured tools named exactly: \`routes\`, \`doctor\`, \`doctor_fix\`,
96
114
  command from the app root; use \`${cli} mcp\` only for terminal debugging.
97
115
  `;
98
116
  }
117
+ function intentRunner(ctx) {
118
+ switch (ctx.packageManager) {
119
+ case "npm":
120
+ return "npx @tanstack/intent@latest";
121
+ case "pnpm":
122
+ return "pnpm dlx @tanstack/intent@latest";
123
+ case "yarn":
124
+ return "yarn dlx @tanstack/intent@latest";
125
+ default:
126
+ return "bunx @tanstack/intent@latest";
127
+ }
128
+ }
99
129
  /**
100
130
  * .mcp.json registers the `beignet mcp` stdio server for MCP-aware clients.
101
131
  * The runner must not print banners on stdout, which corrupts JSON-RPC, so
@@ -1 +1 @@
1
- {"version":3,"file":"agents.js","sourceRoot":"","sources":["../../src/templates/agents.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,aAAa,EAAwB,MAAM,aAAa,CAAC;AAExE;;;;;GAKG;AACH,MAAM,UAAU,QAAQ,CAAC,GAAoB;IAC3C,MAAM,GAAG,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;IAC/B,MAAM,IAAI,GACR,GAAG,CAAC,cAAc,KAAK,KAAK;QAC1B,CAAC,CAAC,cAAc;QAChB,CAAC,CAAC,GAAG,GAAG,CAAC,cAAc,WAAW,CAAC;IACvC,MAAM,IAAI,GACR,GAAG,CAAC,cAAc,KAAK,KAAK;QAC1B,CAAC,CAAC,cAAc;QAChB,CAAC,CAAC,GAAG,GAAG,CAAC,cAAc,WAAW,CAAC;IACvC,MAAM,MAAM,GACV,GAAG,CAAC,cAAc,KAAK,KAAK;QAC1B,CAAC,CAAC,gBAAgB;QAClB,CAAC,CAAC,GAAG,GAAG,CAAC,cAAc,aAAa,CAAC;IACzC,MAAM,SAAS,GACb,GAAG,CAAC,cAAc,KAAK,KAAK;QAC1B,CAAC,CAAC,mBAAmB;QACrB,CAAC,CAAC,GAAG,GAAG,CAAC,cAAc,gBAAgB,CAAC;IAE5C,OAAO,KAAK,GAAG,CAAC,IAAI;;;;;;;;;;;;;;;;;;;;;;mCAsBa,GAAG,oBAAoB,GAAG;IACzD,GAAG,uBAAuB,GAAG,mBAAmB,GAAG;IACnD,GAAG;IACH,GAAG,2CAA2C,GAAG;;;;;;IAMjD,GAAG;kDAC2C,GAAG;;IAEjD,GAAG,yBAAyB,GAAG;;;;;;;EAOjC,IAAI;EACJ,GAAG;EACH,GAAG;EACH,IAAI;EACJ,SAAS;;;IAGP,IAAI,oCAAoC,MAAM;IAC9C,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;mCAyB4B,GAAG;CACrC,CAAC;AACF,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,OAAO,CAAC,IAAqB;IAC3C,OAAO,IAAI,CAAC;QACV,UAAU,EAAE;YACV,OAAO,EAAE;gBACP,OAAO,EAAE,6BAA6B;gBACtC,IAAI,EAAE,CAAC,KAAK,CAAC;aACd;SACF;KACF,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"agents.js","sourceRoot":"","sources":["../../src/templates/agents.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,aAAa,EAAwB,MAAM,aAAa,CAAC;AAExE;;;;;GAKG;AACH,MAAM,UAAU,QAAQ,CAAC,GAAoB;IAC3C,MAAM,GAAG,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;IAC/B,MAAM,IAAI,GACR,GAAG,CAAC,cAAc,KAAK,KAAK;QAC1B,CAAC,CAAC,cAAc;QAChB,CAAC,CAAC,GAAG,GAAG,CAAC,cAAc,WAAW,CAAC;IACvC,MAAM,IAAI,GACR,GAAG,CAAC,cAAc,KAAK,KAAK;QAC1B,CAAC,CAAC,cAAc;QAChB,CAAC,CAAC,GAAG,GAAG,CAAC,cAAc,WAAW,CAAC;IACvC,MAAM,MAAM,GACV,GAAG,CAAC,cAAc,KAAK,KAAK;QAC1B,CAAC,CAAC,gBAAgB;QAClB,CAAC,CAAC,GAAG,GAAG,CAAC,cAAc,aAAa,CAAC;IACzC,MAAM,SAAS,GACb,GAAG,CAAC,cAAc,KAAK,KAAK;QAC1B,CAAC,CAAC,mBAAmB;QACrB,CAAC,CAAC,GAAG,GAAG,CAAC,cAAc,gBAAgB,CAAC;IAC5C,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;IACjC,MAAM,cAAc,GAAG,GAAG,CAAC,GAAG;QAC5B,CAAC,CAAC,+DAA+D;QACjE,CAAC,CAAC,+FAA+F,CAAC;IAEpG,OAAO,KAAK,GAAG,CAAC,IAAI;;;;;;;;;;;;;;;;;;;;;;mCAsBa,GAAG,oBAAoB,GAAG;IACzD,GAAG,uBAAuB,GAAG,mBAAmB,GAAG;IACnD,GAAG;IACH,GAAG,2CAA2C,GAAG;;;;;;IAMjD,GAAG;kDAC2C,GAAG;;IAEjD,GAAG,yBAAyB,GAAG;;;;;;;EAOjC,IAAI;EACJ,GAAG;EACH,GAAG;EACH,IAAI;EACJ,SAAS;;;IAGP,IAAI,oCAAoC,MAAM;IAC9C,GAAG;;;;;;;;EAQL,MAAM;EACN,MAAM;;;kEAG0D,cAAc;QACxE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;mCA0BqB,GAAG;CACrC,CAAC;AACF,CAAC;AAED,SAAS,YAAY,CAAC,GAAoB;IACxC,QAAQ,GAAG,CAAC,cAAc,EAAE,CAAC;QAC3B,KAAK,KAAK;YACR,OAAO,6BAA6B,CAAC;QACvC,KAAK,MAAM;YACT,OAAO,kCAAkC,CAAC;QAC5C,KAAK,MAAM;YACT,OAAO,kCAAkC,CAAC;QAC5C;YACE,OAAO,8BAA8B,CAAC;IAC1C,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,OAAO,CAAC,IAAqB;IAC3C,OAAO,IAAI,CAAC;QACV,UAAU,EAAE;YACV,OAAO,EAAE;gBACP,OAAO,EAAE,6BAA6B;gBACtC,IAAI,EAAE,CAAC,KAAK,CAAC;aACd;SACF;KACF,CAAC,CAAC;AACL,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/templates/base.ts"],"names":[],"mappings":"AAEA,OAAO,EAML,KAAK,eAAe,EACrB,MAAM,aAAa,CAAC;AAGrB,wBAAgB,WAAW,CAAC,GAAG,EAAE,eAAe,GAAG,MAAM,CAuGxD;AAQD,wBAAgB,MAAM,CAAC,GAAG,EAAE,eAAe,GAAG,MAAM,CA0LnD;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,eAAe,GAAG,MAAM,CAiD5D;AAED,wBAAgB,UAAU,CAAC,GAAG,EAAE,eAAe,GAAG,MAAM,CA+DvD;AAED,QAAA,MAAM,KAAK;;;;;;CAqFV,CAAC;AAEF,OAAO,EAAE,KAAK,IAAI,SAAS,EAAE,CAAC"}
1
+ {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/templates/base.ts"],"names":[],"mappings":"AAEA,OAAO,EAML,KAAK,eAAe,EACrB,MAAM,aAAa,CAAC;AAGrB,wBAAgB,WAAW,CAAC,GAAG,EAAE,eAAe,GAAG,MAAM,CA0GxD;AAkBD,wBAAgB,MAAM,CAAC,GAAG,EAAE,eAAe,GAAG,MAAM,CAkMnD;AAeD,wBAAgB,eAAe,CAAC,GAAG,EAAE,eAAe,GAAG,MAAM,CAiD5D;AAED,wBAAgB,UAAU,CAAC,GAAG,EAAE,eAAe,GAAG,MAAM,CA+DvD;AAED,QAAA,MAAM,KAAK;;;;;;CAqFV,CAAC;AAEF,OAAO,EAAE,KAAK,IAAI,SAAS,EAAE,CAAC"}
@@ -91,10 +91,20 @@ export function packageJson(ctx) {
91
91
  private: true,
92
92
  type: "module",
93
93
  scripts,
94
+ intent: {
95
+ skills: intentSkillPackages(ctx),
96
+ },
94
97
  dependencies: sortRecord(dependencies),
95
98
  devDependencies: sortRecord(devDependencies),
96
99
  });
97
100
  }
101
+ function intentSkillPackages(ctx) {
102
+ const packages = ["@beignet/core", "@beignet/next", "@beignet/cli"];
103
+ if (!ctx.api) {
104
+ packages.push("@beignet/react-query");
105
+ }
106
+ return packages;
107
+ }
98
108
  function sortRecord(record) {
99
109
  return Object.fromEntries(Object.entries(record).sort(([left], [right]) => left.localeCompare(right)));
100
110
  }
@@ -194,6 +204,14 @@ ${typecheck}
194
204
  \`routes\` shows the contracts Beignet can inspect. \`${cli} lint\` checks dependency direction. \`doctor\` catches route, OpenAPI, and resource drift.
195
205
  \`${lint}\` runs Biome over the starter; use \`${format}\` to apply formatting.
196
206
  ${testingNotes}
207
+ ## Coding agents
208
+
209
+ This app trusts Beignet package skills through \`package.json#intent.skills\`.
210
+ Run \`${intentRunner(ctx)} install\` to add Intent's managed skill-loading block
211
+ to your agent config, then load matching package skills before substantial
212
+ Beignet changes. The generated \`AGENTS.md\` and \`CLAUDE.md\` stay short and
213
+ point agents at app-local conventions, generators, validation, and MCP tools.
214
+
197
215
  ## Build for production
198
216
 
199
217
  \`\`\`bash
@@ -263,6 +281,18 @@ ${shellMap}
263
281
  - Review the starter authorization policy before exposing user-owned data.
264
282
  ${ctx.integrations.length > 0 ? "\nSee `docs/integrations.md` for setup notes.\n" : ""}`;
265
283
  }
284
+ function intentRunner(ctx) {
285
+ switch (ctx.packageManager) {
286
+ case "npm":
287
+ return "npx @tanstack/intent@latest";
288
+ case "pnpm":
289
+ return "pnpm dlx @tanstack/intent@latest";
290
+ case "yarn":
291
+ return "yarn dlx @tanstack/intent@latest";
292
+ default:
293
+ return "bunx @tanstack/intent@latest";
294
+ }
295
+ }
266
296
  export function integrationsDoc(ctx) {
267
297
  const lines = [
268
298
  "# Integrations",
@@ -1 +1 @@
1
- {"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/templates/base.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/templates/base.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@beignet/cli",
3
- "version": "0.0.19",
3
+ "version": "0.0.21",
4
4
  "type": "module",
5
5
  "description": "CLI for creating and maintaining Beignet apps.",
6
6
  "main": "./dist/lib.js",
@@ -24,6 +24,7 @@
24
24
  "!src/**/*.test.ts",
25
25
  "!src/**/*.test.tsx",
26
26
  "!src/**/*.test-d.ts",
27
+ "skills",
27
28
  "README.md",
28
29
  "CHANGELOG.md"
29
30
  ],
@@ -42,7 +43,8 @@
42
43
  "typescript",
43
44
  "cli",
44
45
  "scaffold",
45
- "nextjs"
46
+ "nextjs",
47
+ "tanstack-intent"
46
48
  ],
47
49
  "license": "MIT",
48
50
  "repository": {
@@ -66,7 +68,7 @@
66
68
  "typescript": "^5.3.0"
67
69
  },
68
70
  "dependencies": {
69
- "@beignet/core": "^0.0.19",
71
+ "@beignet/core": "^0.0.21",
70
72
  "@clack/prompts": "^1.5.1",
71
73
  "@modelcontextprotocol/sdk": "^1.29.0",
72
74
  "@stricli/core": "^1.2.7",
@@ -0,0 +1,136 @@
1
+ ---
2
+ name: app-structure
3
+ description: "Maintain Beignet app structure with @beignet/cli: create starter output, make generators, beignet.config paths, routes inspection, lint dependency boundaries, doctor drift checks, MCP tools, generated AGENTS.md guidance, and generated-app validation. Use when scaffolding, generating, fixing, or reviewing a Beignet app's structure."
4
+ ---
5
+
6
+ # Beignet CLI App Structure
7
+
8
+ Use this skill when working with Beignet apps through `@beignet/cli`. Prefer
9
+ generators and validation commands before hand-editing framework wiring.
10
+
11
+ ## Starter Sources
12
+
13
+ Generated apps include:
14
+
15
+ - `AGENTS.md` and `CLAUDE.md` for local agent guidance
16
+ - `.mcp.json` for `beignet mcp`
17
+ - `beignet.config.*` only when paths are moved
18
+ - canonical folders for app routes, client setup, features, infra, ports,
19
+ server composition, and tests
20
+
21
+ Do not copy package skills into generated apps. Generated apps should load
22
+ package-shipped skills from installed `@beignet/*` dependencies when Intent is
23
+ available.
24
+
25
+ ## Prefer Generators
26
+
27
+ Use:
28
+
29
+ ```bash
30
+ beignet make feature projects
31
+ beignet make resource projects/project --auth --tenant
32
+ beignet make job billing/sync
33
+ beignet make schedule billing/nightly --cron "0 2 * * *"
34
+ beignet make task admin/backfill
35
+ beignet make upload issues/attachment
36
+ ```
37
+
38
+ Generators place files under the owning feature, update central registries
39
+ when possible, and keep `doctor` clean.
40
+
41
+ ## Explicit Registration
42
+
43
+ Hand-written files do not run until registered:
44
+
45
+ - feature route groups -> `server/routes.ts`
46
+ - schedules -> `server/schedules.ts`
47
+ - tasks -> `server/tasks.ts`
48
+ - outbox events/jobs -> `server/outbox.ts`
49
+ - listeners -> app listener registration
50
+
51
+ Run `beignet doctor --strict` after hand edits. Use `beignet doctor --fix` for
52
+ low-risk registry repair; listener drift remains manual.
53
+
54
+ ## Path Config
55
+
56
+ `beignet.config.*` moves paths; it does not change architecture.
57
+
58
+ Common `src/` apps configure:
59
+
60
+ ```ts
61
+ export default defineConfig({
62
+ framework: "next",
63
+ paths: {
64
+ appContext: "src/app-context.ts",
65
+ features: "src/features",
66
+ contracts: "src/features",
67
+ routes: "src/app/api",
68
+ server: "src/server/index.ts",
69
+ },
70
+ });
71
+ ```
72
+
73
+ When `appContext` moves under `src/`, root client setup follows that source
74
+ root at `src/client/index.ts`.
75
+
76
+ ## Lint And Doctor
77
+
78
+ `beignet lint` enforces dependency direction:
79
+
80
+ - domain and use cases must not import infra, routes, server, providers, React,
81
+ or client modules
82
+ - client-reachable modules must not import server-only code
83
+ - routes may import contracts, use cases, policies, and app context types, but
84
+ not concrete infra
85
+
86
+ `beignet doctor --strict` reports structure and registration drift:
87
+
88
+ - missing route group registration
89
+ - stale OpenAPI contract arrays
90
+ - provider packages installed but not registered
91
+ - provider env drift
92
+ - route-owned error catalog drift
93
+ - misplaced workflow artifacts
94
+
95
+ Fix structure or config instead of suppressing diagnostics.
96
+
97
+ ## MCP Tools
98
+
99
+ Generated apps register:
100
+
101
+ ```json
102
+ {
103
+ "mcpServers": {
104
+ "beignet": {
105
+ "command": "./node_modules/.bin/beignet",
106
+ "args": ["mcp"]
107
+ }
108
+ }
109
+ }
110
+ ```
111
+
112
+ The MCP server exposes `routes`, `doctor`, `doctor_fix`, `lint`, and `make`.
113
+ Run it from the app root so the local CLI version is used.
114
+
115
+ ## Validation Loop
116
+
117
+ After structural changes:
118
+
119
+ ```bash
120
+ beignet routes
121
+ beignet lint
122
+ beignet doctor --strict
123
+ bun run test
124
+ bun run typecheck
125
+ ```
126
+
127
+ For generated app template changes inside the Beignet monorepo, also run:
128
+
129
+ ```bash
130
+ cd packages/cli
131
+ bun run test
132
+ bun run lint
133
+ bun run build
134
+ cd ../..
135
+ bun run check:generated-app
136
+ ```
package/src/config.ts CHANGED
@@ -176,6 +176,30 @@ export function directoryPath(filePath: string): string {
176
176
  return normalizePath(filePath).replaceAll(/^\/+|\/+$/g, "");
177
177
  }
178
178
 
179
+ /**
180
+ * Infer the app source root from app-context.ts placement.
181
+ *
182
+ * Default apps put app-context.ts at the project root, while src-layout apps
183
+ * configure it as src/app-context.ts. Client setup follows that same root.
184
+ */
185
+ export function appRootPath(config: ResolvedBeignetConfig): string {
186
+ const appRoot = directoryPath(path.posix.dirname(config.paths.appContext));
187
+ return appRoot === "." ? "" : appRoot;
188
+ }
189
+
190
+ export function clientDirPath(config: ResolvedBeignetConfig): string {
191
+ const appRoot = appRootPath(config);
192
+ return path.posix.join(appRoot, "client");
193
+ }
194
+
195
+ export function clientIndexPath(config: ResolvedBeignetConfig): string {
196
+ return path.posix.join(clientDirPath(config), "index.ts");
197
+ }
198
+
199
+ export function clientFormsPath(config: ResolvedBeignetConfig): string {
200
+ return path.posix.join(clientDirPath(config), "forms.ts");
201
+ }
202
+
179
203
  const configFileNames = [
180
204
  "beignet.config.ts",
181
205
  "beignet.config.json",
package/src/inspect.ts CHANGED
@@ -8,6 +8,9 @@ import {
8
8
  import { createPainter } from "./ansi.js";
9
9
  import {
10
10
  type BeignetConfig,
11
+ clientDirPath,
12
+ clientFormsPath,
13
+ clientIndexPath,
11
14
  directoryPath,
12
15
  loadBeignetConfig,
13
16
  normalizePath,
@@ -1362,13 +1365,16 @@ async function inspectCanonicalConformance(
1362
1365
  const packageJson = await readPackageJson(targetDir, files);
1363
1366
  const installedPackages = installedPackageNames(packageJson);
1364
1367
  const featuresPath = directoryPath(config.paths.features);
1368
+ const clientDir = clientDirPath(config);
1369
+ const clientIndex = clientIndexPath(config);
1370
+ const clientForms = clientFormsPath(config);
1365
1371
  const hasClientSurface =
1366
1372
  files.some(
1367
1373
  (file) =>
1368
1374
  file.startsWith(`${featuresPath}/`) &&
1369
1375
  (file.includes("/components/") || file.includes("/client/")),
1370
1376
  ) ||
1371
- files.some((file) => file.startsWith("client/")) ||
1377
+ files.some((file) => file.startsWith(`${clientDir}/`)) ||
1372
1378
  [
1373
1379
  "@beignet/react-query",
1374
1380
  "@beignet/react-hook-form",
@@ -1406,20 +1412,18 @@ async function inspectCanonicalConformance(
1406
1412
 
1407
1413
  if (hasClientSurface) {
1408
1414
  requiredFiles.push({
1409
- file: "client/index.ts",
1410
- reason:
1411
- "client/index.ts should own the typed client and frontend adapter setup.",
1415
+ file: clientIndex,
1416
+ reason: `${clientIndex} should own the typed client and frontend adapter setup.`,
1412
1417
  });
1413
1418
  }
1414
1419
 
1415
1420
  if (
1416
1421
  installedPackages.has("@beignet/react-hook-form") ||
1417
- files.includes("client/forms.ts")
1422
+ files.includes(clientForms)
1418
1423
  ) {
1419
1424
  requiredFiles.push({
1420
- file: "client/forms.ts",
1421
- reason:
1422
- "client/forms.ts should own React Hook Form adapter setup when form helpers are used.",
1425
+ file: clientForms,
1426
+ reason: `${clientForms} should own React Hook Form adapter setup when form helpers are used.`,
1423
1427
  });
1424
1428
  }
1425
1429
 
package/src/lint.ts CHANGED
@@ -3,6 +3,7 @@ import path from "node:path";
3
3
  import { createPainter } from "./ansi.js";
4
4
  import {
5
5
  type BeignetConfig,
6
+ clientDirPath,
6
7
  directoryPath,
7
8
  loadBeignetConfig,
8
9
  normalizePath,
@@ -946,7 +947,7 @@ function runtimeBoundaryRootKind(
946
947
  if (layer === "contract") return "contract";
947
948
  if (layer === "client") return "client";
948
949
  if (hasUseClientDirective(source)) return "client";
949
- if (isGeneratedClientAdapter(file)) return "client";
950
+ if (isGeneratedClientAdapter(file, config)) return "client";
950
951
  return undefined;
951
952
  }
952
953
 
@@ -960,13 +961,13 @@ function hasUseClientDirective(source: string): boolean {
960
961
  );
961
962
  }
962
963
 
963
- function isGeneratedClientAdapter(file: string): boolean {
964
- return (
965
- file === "client/index.ts" ||
966
- file === "client/api-client.ts" ||
967
- file === "client/rhf.ts" ||
968
- file === "client/rq.ts" ||
969
- file === "client/uploads.ts"
964
+ function isGeneratedClientAdapter(
965
+ file: string,
966
+ config: ResolvedBeignetConfig,
967
+ ): boolean {
968
+ const clientDir = clientDirPath(config);
969
+ return ["index.ts", "api-client.ts", "rhf.ts", "rq.ts", "uploads.ts"].some(
970
+ (adapterFile) => file === path.posix.join(clientDir, adapterFile),
970
971
  );
971
972
  }
972
973
 
@@ -1174,7 +1175,7 @@ function classifyPath(
1174
1175
  return "infra";
1175
1176
  }
1176
1177
  if (isUnder(normalizedPath, portsDir)) return "port";
1177
- if (isUnder(normalizedPath, "client")) return "client";
1178
+ if (isUnder(normalizedPath, clientDirPath(config))) return "client";
1178
1179
  if (isUnder(normalizedPath, "components")) return "component";
1179
1180
  if (isUnder(normalizedPath, legacySharedDomainPath(config))) return "domain";
1180
1181
  if (isUnder(normalizedPath, "lib")) return "lib";
package/src/make.ts CHANGED
@@ -4,6 +4,7 @@ import path from "node:path";
4
4
  import type { MakeFeatureAddon } from "./choices.js";
5
5
  import {
6
6
  type BeignetConfig,
7
+ clientIndexPath,
7
8
  directoryPath,
8
9
  loadBeignetConfig,
9
10
  normalizePath,
@@ -5842,12 +5843,6 @@ function featureUiIndexFilePath(
5842
5843
  return path.join(featureUiDir(names, config), "index.ts");
5843
5844
  }
5844
5845
 
5845
- function clientIndexPath(config: ResolvedBeignetConfig): string {
5846
- const appRoot = path.posix.dirname(config.paths.appContext);
5847
-
5848
- return path.join(appRoot === "." ? "" : appRoot, "client/index.ts");
5849
- }
5850
-
5851
5846
  function usesFeatureOwnedContracts(config: ResolvedBeignetConfig): boolean {
5852
5847
  return (
5853
5848
  directoryPath(config.paths.contracts) ===
@@ -24,6 +24,10 @@ export function agentsMd(ctx: TemplateContext): string {
24
24
  ctx.packageManager === "npm"
25
25
  ? "npm run typecheck"
26
26
  : `${ctx.packageManager} run typecheck`;
27
+ const intent = intentRunner(ctx);
28
+ const specificSkills = ctx.api
29
+ ? "`@beignet/next#routes-server` or `@beignet/cli#app-structure`"
30
+ : "`@beignet/next#routes-server`, `@beignet/react-query#client`, or `@beignet/cli#app-structure`";
27
31
 
28
32
  return `# ${ctx.name} — agent guide
29
33
 
@@ -76,6 +80,20 @@ ${typecheck}
76
80
  \`${lint}\` runs Biome's code lint. Use \`${format}\` to apply formatting.
77
81
  \`${cli} lint\` is Beignet's dependency-direction lint.
78
82
 
83
+ ## Package skills
84
+
85
+ This app trusts Beignet's package-shipped agent skills through
86
+ \`package.json#intent.skills\`. Before substantial Beignet changes, run:
87
+
88
+ \`\`\`bash
89
+ ${intent} list
90
+ ${intent} load @beignet/core#app-architecture
91
+ \`\`\`
92
+
93
+ Load more specific skills when they match the task, for example ${specificSkills}.
94
+ Run \`${intent} install\` if this repository does not yet have Intent's managed
95
+ skill-loading block.
96
+
79
97
  ## Placement rules
80
98
 
81
99
  - Feature artifacts live under \`features/<feature>/\`, with tests in
@@ -103,6 +121,19 @@ command from the app root; use \`${cli} mcp\` only for terminal debugging.
103
121
  `;
104
122
  }
105
123
 
124
+ function intentRunner(ctx: TemplateContext): string {
125
+ switch (ctx.packageManager) {
126
+ case "npm":
127
+ return "npx @tanstack/intent@latest";
128
+ case "pnpm":
129
+ return "pnpm dlx @tanstack/intent@latest";
130
+ case "yarn":
131
+ return "yarn dlx @tanstack/intent@latest";
132
+ default:
133
+ return "bunx @tanstack/intent@latest";
134
+ }
135
+ }
136
+
106
137
  /**
107
138
  * .mcp.json registers the `beignet mcp` stdio server for MCP-aware clients.
108
139
  * The runner must not print banners on stdout, which corrupts JSON-RPC, so
@@ -110,11 +110,24 @@ export function packageJson(ctx: TemplateContext): string {
110
110
  private: true,
111
111
  type: "module",
112
112
  scripts,
113
+ intent: {
114
+ skills: intentSkillPackages(ctx),
115
+ },
113
116
  dependencies: sortRecord(dependencies),
114
117
  devDependencies: sortRecord(devDependencies),
115
118
  });
116
119
  }
117
120
 
121
+ function intentSkillPackages(ctx: TemplateContext): string[] {
122
+ const packages = ["@beignet/core", "@beignet/next", "@beignet/cli"];
123
+
124
+ if (!ctx.api) {
125
+ packages.push("@beignet/react-query");
126
+ }
127
+
128
+ return packages;
129
+ }
130
+
118
131
  function sortRecord(record: Record<string, string>): Record<string, string> {
119
132
  return Object.fromEntries(
120
133
  Object.entries(record).sort(([left], [right]) => left.localeCompare(right)),
@@ -231,6 +244,14 @@ ${typecheck}
231
244
  \`routes\` shows the contracts Beignet can inspect. \`${cli} lint\` checks dependency direction. \`doctor\` catches route, OpenAPI, and resource drift.
232
245
  \`${lint}\` runs Biome over the starter; use \`${format}\` to apply formatting.
233
246
  ${testingNotes}
247
+ ## Coding agents
248
+
249
+ This app trusts Beignet package skills through \`package.json#intent.skills\`.
250
+ Run \`${intentRunner(ctx)} install\` to add Intent's managed skill-loading block
251
+ to your agent config, then load matching package skills before substantial
252
+ Beignet changes. The generated \`AGENTS.md\` and \`CLAUDE.md\` stay short and
253
+ point agents at app-local conventions, generators, validation, and MCP tools.
254
+
234
255
  ## Build for production
235
256
 
236
257
  \`\`\`bash
@@ -309,6 +330,19 @@ ${shellMap}
309
330
  ${ctx.integrations.length > 0 ? "\nSee `docs/integrations.md` for setup notes.\n" : ""}`;
310
331
  }
311
332
 
333
+ function intentRunner(ctx: TemplateContext): string {
334
+ switch (ctx.packageManager) {
335
+ case "npm":
336
+ return "npx @tanstack/intent@latest";
337
+ case "pnpm":
338
+ return "pnpm dlx @tanstack/intent@latest";
339
+ case "yarn":
340
+ return "yarn dlx @tanstack/intent@latest";
341
+ default:
342
+ return "bunx @tanstack/intent@latest";
343
+ }
344
+ }
345
+
312
346
  export function integrationsDoc(ctx: TemplateContext): string {
313
347
  const lines = [
314
348
  "# Integrations",