@beignet/cli 0.0.39 → 0.0.41
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.
- package/CHANGELOG.md +18 -0
- package/README.md +110 -16
- package/dist/analysis/source-index.d.ts +38 -0
- package/dist/analysis/source-index.d.ts.map +1 -0
- package/dist/analysis/source-index.js +271 -0
- package/dist/analysis/source-index.js.map +1 -0
- package/dist/analysis/workspace.d.ts +16 -0
- package/dist/analysis/workspace.d.ts.map +1 -0
- package/dist/analysis/workspace.js +134 -0
- package/dist/analysis/workspace.js.map +1 -0
- package/dist/app-map-schema.d.ts +5 -0
- package/dist/app-map-schema.d.ts.map +1 -0
- package/dist/app-map-schema.js +26 -0
- package/dist/app-map-schema.js.map +1 -0
- package/dist/app-map.d.ts +96 -0
- package/dist/app-map.d.ts.map +1 -0
- package/dist/app-map.js +1141 -0
- package/dist/app-map.js.map +1 -0
- package/dist/check.d.ts +7 -0
- package/dist/check.d.ts.map +1 -1
- package/dist/check.js +20 -5
- package/dist/check.js.map +1 -1
- package/dist/config.d.ts +1 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +4 -2
- package/dist/config.js.map +1 -1
- package/dist/db.d.ts +32 -7
- package/dist/db.d.ts.map +1 -1
- package/dist/db.js +182 -14
- package/dist/db.js.map +1 -1
- package/dist/explain.d.ts +98 -0
- package/dist/explain.d.ts.map +1 -0
- package/dist/explain.js +512 -0
- package/dist/explain.js.map +1 -0
- package/dist/framework.d.ts +3 -0
- package/dist/framework.d.ts.map +1 -0
- package/dist/framework.js +6 -0
- package/dist/framework.js.map +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +79 -2
- package/dist/index.js.map +1 -1
- package/dist/inspect.d.ts +4 -2
- package/dist/inspect.d.ts.map +1 -1
- package/dist/inspect.js +173 -36
- package/dist/inspect.js.map +1 -1
- package/dist/lib.d.ts +4 -0
- package/dist/lib.d.ts.map +1 -1
- package/dist/lib.js +2 -0
- package/dist/lib.js.map +1 -1
- package/dist/make/payments.d.ts.map +1 -1
- package/dist/make/payments.js +2 -0
- package/dist/make/payments.js.map +1 -1
- package/dist/make.d.ts.map +1 -1
- package/dist/make.js +157 -3
- package/dist/make.js.map +1 -1
- package/dist/mcp.d.ts +1 -1
- package/dist/mcp.d.ts.map +1 -1
- package/dist/mcp.js +69 -1
- package/dist/mcp.js.map +1 -1
- package/dist/preflight.d.ts.map +1 -1
- package/dist/preflight.js +10 -0
- package/dist/preflight.js.map +1 -1
- package/dist/provider-add.d.ts.map +1 -1
- package/dist/provider-add.js +167 -13
- package/dist/provider-add.js.map +1 -1
- package/dist/provider-audit.d.ts +6 -0
- package/dist/provider-audit.d.ts.map +1 -1
- package/dist/provider-audit.js +63 -15
- package/dist/provider-audit.js.map +1 -1
- package/dist/templates/agents.d.ts.map +1 -1
- package/dist/templates/agents.js +17 -4
- package/dist/templates/agents.js.map +1 -1
- package/dist/templates/base.d.ts.map +1 -1
- package/dist/templates/base.js +10 -4
- package/dist/templates/base.js.map +1 -1
- package/dist/templates/index.d.ts +1 -1
- package/dist/templates/index.d.ts.map +1 -1
- package/dist/templates/index.js +8 -1
- package/dist/templates/index.js.map +1 -1
- package/dist/templates/server.d.ts +3 -0
- package/dist/templates/server.d.ts.map +1 -1
- package/dist/templates/server.js +55 -1
- package/dist/templates/server.js.map +1 -1
- package/dist/templates/shadcn.js +1 -1
- package/dist/templates/shared.js +1 -1
- package/package.json +2 -2
- package/skills/app-structure/SKILL.md +38 -5
- package/src/analysis/source-index.ts +395 -0
- package/src/analysis/workspace.ts +180 -0
- package/src/app-map-schema.ts +28 -0
- package/src/app-map.ts +1705 -0
- package/src/check.ts +27 -4
- package/src/config.ts +7 -3
- package/src/db.ts +232 -14
- package/src/explain.ts +786 -0
- package/src/framework.ts +13 -0
- package/src/index.ts +113 -2
- package/src/inspect.ts +259 -40
- package/src/lib.ts +36 -0
- package/src/make/payments.ts +7 -0
- package/src/make.ts +232 -2
- package/src/mcp.ts +107 -1
- package/src/preflight.ts +14 -0
- package/src/provider-add.ts +211 -12
- package/src/provider-audit.ts +127 -22
- package/src/templates/agents.ts +17 -4
- package/src/templates/base.ts +22 -4
- package/src/templates/index.ts +18 -1
- package/src/templates/server.ts +58 -1
- package/src/templates/shadcn.ts +1 -1
- package/src/templates/shared.ts +1 -1
- package/src/test-helpers/generated-app.ts +1 -1
package/dist/templates/base.js
CHANGED
|
@@ -229,11 +229,13 @@ ${firstOpen}
|
|
|
229
229
|
\`\`\`bash
|
|
230
230
|
# in another terminal
|
|
231
231
|
${cli} routes
|
|
232
|
+
${cli} map
|
|
232
233
|
${cli} check
|
|
233
234
|
\`\`\`
|
|
234
235
|
|
|
235
|
-
\`routes\` shows the contracts Beignet can inspect. \`
|
|
236
|
-
|
|
236
|
+
\`routes\` shows the contracts Beignet can inspect. \`map\` shows how features,
|
|
237
|
+
use cases, workflows, ports, providers, and tests connect. \`check\` runs the
|
|
238
|
+
whole validation loop in one pass: \`${cli} lint\` (dependency direction),
|
|
237
239
|
\`${cli} doctor --strict\` (route, OpenAPI, and resource drift), and the
|
|
238
240
|
\`lint\`, \`typecheck\`, and \`test\` package scripts. Use \`${format}\` to
|
|
239
241
|
apply Biome formatting.
|
|
@@ -267,6 +269,10 @@ Use \`${cli} make feature projects --recipe full-slice\` when you want a richer
|
|
|
267
269
|
|
|
268
270
|
## App map
|
|
269
271
|
|
|
272
|
+
Run \`${cli} map\` for the current architecture or \`${cli} map --json\` for
|
|
273
|
+
the versioned graph used by coding agents. Add \`--feature todos\` to focus on
|
|
274
|
+
one slice and its direct relationships.
|
|
275
|
+
|
|
270
276
|
- \`features/todos/contracts.ts\` owns the HTTP contract and reuses shared feature schemas.
|
|
271
277
|
- \`features/todos/schemas.ts\` owns shared DTO and validation schemas used by contracts, use cases, ports, tests, and clients.
|
|
272
278
|
- \`features/todos/client/\` may own todos-specific data-fetching helpers and React Query hooks.
|
|
@@ -335,7 +341,7 @@ export function providersDoc(ctx) {
|
|
|
335
341
|
];
|
|
336
342
|
for (const provider of ctx.providers) {
|
|
337
343
|
if (provider === "jobs-inngest") {
|
|
338
|
-
lines.push("## Inngest jobs", "", "- Package: `@beignet/core` (`@beignet/core/events`, `@beignet/core/jobs`)", "- Package: `@beignet/provider-jobs-inngest`", "- Peer dependency: `inngest`", "- The starter
|
|
344
|
+
lines.push("## Inngest jobs", "", "- Package: `@beignet/core` (`@beignet/core/events`, `@beignet/core/jobs`)", "- Package: `@beignet/provider-jobs-inngest`", "- Peer dependency: `inngest`", "- The starter shares one Inngest client between `createInngestJobsProvider(...)` and `app/api/inngest/route.ts`.", "- Define jobs with `defineJob(...)` and dispatch them through `ctx.ports.jobs.dispatch(...)`.", "- `beignet make job` registers feature job collections in `server/inngest.ts`.", "- Use `INNGEST_DEV=1` only locally; production needs `INNGEST_EVENT_KEY` and `INNGEST_SIGNING_KEY`.", "- Use `ctx.ports.inngest` only as an escape hatch for Inngest-specific workflow APIs; prefer `ctx.ports.jobs.dispatch(...)` for Beignet jobs.", "");
|
|
339
345
|
}
|
|
340
346
|
if (provider === "mail-resend") {
|
|
341
347
|
lines.push("## Resend mail", "", "- Package: `@beignet/provider-mail-resend`", "- Peer dependency: `resend`", "- The starter wires `createResendMailProvider()` in `server/providers.ts`.", "- `.env.example` ships dev placeholders so the app boots; set real `RESEND_API_KEY` and `RESEND_FROM` values before sending mail.", "");
|
|
@@ -388,7 +394,7 @@ export function envExample(ctx) {
|
|
|
388
394
|
"",
|
|
389
395
|
];
|
|
390
396
|
if (hasStarterProvider(ctx, "jobs-inngest")) {
|
|
391
|
-
lines.push("INNGEST_APP_NAME=beignet-app", "# INNGEST_EVENT_KEY=", "");
|
|
397
|
+
lines.push("# Local development connects the app to the Inngest dev server.", "INNGEST_APP_NAME=beignet-app", "INNGEST_DEV=1", "# Production cloud dispatch and endpoint verification.", "# INNGEST_EVENT_KEY=", "# INNGEST_SIGNING_KEY=", "# Optional signing-key rotation fallback.", "# INNGEST_SIGNING_KEY_FALLBACK=", "");
|
|
392
398
|
}
|
|
393
399
|
if (hasStarterProvider(ctx, "mail-resend")) {
|
|
394
400
|
lines.push("# Dev placeholders keep the app bootable; set real Resend values before sending mail.", "RESEND_API_KEY=dev-placeholder-change-me", "RESEND_FROM=Beignet Starter <noreply@example.com>", "");
|
|
@@ -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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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export type { DatabaseName, PackageManager, StarterProviderName, TemplateName, } from "../choices.js";
|
|
2
2
|
export { databaseChoices, starterProviderChoices } from "../choices.js";
|
|
3
3
|
export type { TemplateContext, TemplateFile } from "./shared.js";
|
|
4
|
-
import type
|
|
4
|
+
import { type TemplateContext, type TemplateFile } from "./shared.js";
|
|
5
5
|
/**
|
|
6
6
|
* Render all template files for a new Beignet app.
|
|
7
7
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/templates/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,YAAY,EACZ,cAAc,EACd,mBAAmB,EACnB,YAAY,GACb,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AACxE,YAAY,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/templates/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,YAAY,EACZ,cAAc,EACd,mBAAmB,EACnB,YAAY,GACb,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AACxE,YAAY,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAuBjE,OAAO,EAEL,KAAK,eAAe,EACpB,KAAK,YAAY,EAClB,MAAM,aAAa,CAAC;AAKrB;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,eAAe,GAAG,YAAY,EAAE,CAsIrE"}
|
package/dist/templates/index.js
CHANGED
|
@@ -2,8 +2,9 @@ export { databaseChoices, starterProviderChoices } from "../choices.js";
|
|
|
2
2
|
import { agentsMd, mcpJson } from "./agents.js";
|
|
3
3
|
import { baseFiles, envExample, packageJson, providersDoc, readme, } from "./base.js";
|
|
4
4
|
import { dbFiles } from "./db/index.js";
|
|
5
|
-
import { betterAuth, env, ports, portWiring, server, serverFiles, serverProviders, } from "./server.js";
|
|
5
|
+
import { betterAuth, env, inngestClient, inngestRegistry, ports, portWiring, server, serverFiles, serverProviders, } from "./server.js";
|
|
6
6
|
import { shadcnTemplateFiles } from "./shadcn.js";
|
|
7
|
+
import { hasStarterProvider, } from "./shared.js";
|
|
7
8
|
import { shellTemplateFiles } from "./shell.js";
|
|
8
9
|
import { testSupportTemplateFiles } from "./testing.js";
|
|
9
10
|
import { todosFiles } from "./todos.js";
|
|
@@ -119,6 +120,12 @@ export function getTemplateFiles(ctx) {
|
|
|
119
120
|
{ path: "server/routes.ts", content: serverFiles.serverRoutes },
|
|
120
121
|
{ path: "server/providers.ts", content: serverProviders(ctx) },
|
|
121
122
|
];
|
|
123
|
+
if (hasStarterProvider(ctx, "jobs-inngest")) {
|
|
124
|
+
templateFiles.push({ path: "infra/inngest.ts", content: inngestClient() }, { path: "server/inngest.ts", content: inngestRegistry() }, {
|
|
125
|
+
path: "app/api/inngest/route.ts",
|
|
126
|
+
content: serverFiles.inngestRoute,
|
|
127
|
+
});
|
|
128
|
+
}
|
|
122
129
|
if (ctx.api) {
|
|
123
130
|
templateFiles.push({ path: "app/layout.tsx", content: serverFiles.apiLayout }, { path: "app/page.tsx", content: serverFiles.apiPage }, { path: "client/index.ts", content: serverFiles.apiClientIndex });
|
|
124
131
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/templates/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAGxE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EACL,SAAS,EACT,UAAU,EACV,WAAW,EACX,YAAY,EACZ,MAAM,GACP,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EACL,UAAU,EACV,GAAG,EACH,KAAK,EACL,UAAU,EACV,MAAM,EACN,WAAW,EACX,eAAe,GAChB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/templates/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,8 @@ export declare function serverProviders(ctx: TemplateContext): string;
|
|
|
3
3
|
export declare function ports(ctx: TemplateContext): string;
|
|
4
4
|
export declare function portWiring(ctx: TemplateContext): string;
|
|
5
5
|
export declare function env(ctx: TemplateContext): string;
|
|
6
|
+
export declare function inngestClient(): string;
|
|
7
|
+
export declare function inngestRegistry(): string;
|
|
6
8
|
export declare function betterAuth(ctx: TemplateContext): string;
|
|
7
9
|
export declare function server(): string;
|
|
8
10
|
declare const files: {
|
|
@@ -21,6 +23,7 @@ declare const files: {
|
|
|
21
23
|
devtoolsRoute: string;
|
|
22
24
|
openApiRoute: string;
|
|
23
25
|
authRoute: string;
|
|
26
|
+
inngestRoute: string;
|
|
24
27
|
apiLayout: string;
|
|
25
28
|
apiPage: string;
|
|
26
29
|
apiClientIndex: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/templates/server.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,KAAK,eAAe,EACrB,MAAM,aAAa,CAAC;AAErB,wBAAgB,eAAe,CAAC,GAAG,EAAE,eAAe,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/templates/server.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,KAAK,eAAe,EACrB,MAAM,aAAa,CAAC;AAErB,wBAAgB,eAAe,CAAC,GAAG,EAAE,eAAe,GAAG,MAAM,CAuD5D;AAED,wBAAgB,KAAK,CAAC,GAAG,EAAE,eAAe,GAAG,MAAM,CA0ClD;AAED,wBAAgB,UAAU,CAAC,GAAG,EAAE,eAAe,GAAG,MAAM,CA+CvD;AAED,wBAAgB,GAAG,CAAC,GAAG,EAAE,eAAe,GAAG,MAAM,CAgEhD;AAED,wBAAgB,aAAa,IAAI,MAAM,CAStC;AAED,wBAAgB,eAAe,IAAI,MAAM,CAuBxC;AAED,wBAAgB,UAAU,CAAC,GAAG,EAAE,eAAe,GAAG,MAAM,CA0EvD;AAED,wBAAgB,MAAM,IAAI,MAAM,CA8E/B;AAED,QAAA,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;CA6XV,CAAC;AAEF,OAAO,EAAE,KAAK,IAAI,WAAW,EAAE,CAAC"}
|
package/dist/templates/server.js
CHANGED
|
@@ -19,6 +19,9 @@ export function serverProviders(ctx) {
|
|
|
19
19
|
: undefined,
|
|
20
20
|
'import * as schema from "@/infra/db/schema";',
|
|
21
21
|
'import { databaseClient } from "@/infra/db/client";',
|
|
22
|
+
hasStarterProvider(ctx, "jobs-inngest")
|
|
23
|
+
? 'import { inngest } from "@/infra/inngest";'
|
|
24
|
+
: undefined,
|
|
22
25
|
'import { starterDatabaseProvider } from "@/infra/db/provider";',
|
|
23
26
|
'import { auth } from "@/lib/better-auth";',
|
|
24
27
|
'import type { AuthSessionMetadata, AuthUser } from "@/ports/auth";',
|
|
@@ -30,7 +33,7 @@ export function serverProviders(ctx) {
|
|
|
30
33
|
`\t${db.providerInstance},`,
|
|
31
34
|
"\tstarterDatabaseProvider,",
|
|
32
35
|
hasStarterProvider(ctx, "jobs-inngest")
|
|
33
|
-
? "\tcreateInngestJobsProvider(),"
|
|
36
|
+
? "\tcreateInngestJobsProvider({ client: inngest }),"
|
|
34
37
|
: undefined,
|
|
35
38
|
hasStarterProvider(ctx, "mail-resend")
|
|
36
39
|
? "\tcreateResendMailProvider(),"
|
|
@@ -148,6 +151,13 @@ export function env(ctx) {
|
|
|
148
151
|
\t\t\t.string()
|
|
149
152
|
\t\t\t.default("${databaseLocalUrl(ctx.database, ctx.name)}"),
|
|
150
153
|
\t\t${ctx.database === "postgres" ? "POSTGRES" : "MYSQL"}_DB_POOL_MAX: z.coerce.number().int().positive().default(5),`;
|
|
154
|
+
const inngestEnvLines = hasStarterProvider(ctx, "jobs-inngest")
|
|
155
|
+
? `\t\tINNGEST_APP_NAME: z.string().min(1).default("beignet-app"),
|
|
156
|
+
\t\tINNGEST_DEV: z.enum(["0", "1"]).optional(),
|
|
157
|
+
\t\tINNGEST_EVENT_KEY: z.string().min(1).optional(),
|
|
158
|
+
\t\tINNGEST_SIGNING_KEY: z.string().min(1).optional(),
|
|
159
|
+
\t\tINNGEST_SIGNING_KEY_FALLBACK: z.string().min(1).optional(),`
|
|
160
|
+
: "";
|
|
151
161
|
return `import { createEnv } from "@beignet/core/config";
|
|
152
162
|
import { z } from "zod";
|
|
153
163
|
|
|
@@ -184,6 +194,7 @@ ${databaseEnvLines}
|
|
|
184
194
|
.default("info"),
|
|
185
195
|
LOG_FORMAT: z.enum(["pretty", "json"]).default("json"),
|
|
186
196
|
LOG_SERVICE: z.string().default("beignet-app"),
|
|
197
|
+
${inngestEnvLines}
|
|
187
198
|
},
|
|
188
199
|
runtimeEnv: process.env,
|
|
189
200
|
});
|
|
@@ -194,6 +205,40 @@ export const isDevtoolsEnabled =
|
|
|
194
205
|
env.DEVTOOLS_ENABLED ?? process.env.NODE_ENV !== "production";
|
|
195
206
|
`;
|
|
196
207
|
}
|
|
208
|
+
export function inngestClient() {
|
|
209
|
+
return `import { Inngest } from "inngest";
|
|
210
|
+
import { env } from "@/lib/env";
|
|
211
|
+
|
|
212
|
+
/** Shared by the Beignet jobs provider and the Inngest serve endpoint. */
|
|
213
|
+
export const inngest = new Inngest({
|
|
214
|
+
id: env.INNGEST_APP_NAME,
|
|
215
|
+
});
|
|
216
|
+
`;
|
|
217
|
+
}
|
|
218
|
+
export function inngestRegistry() {
|
|
219
|
+
return `import { createServiceActor } from "@beignet/core/ports";
|
|
220
|
+
import { createInngestJobFunctions } from "@beignet/provider-jobs-inngest";
|
|
221
|
+
import type { AppContext } from "@/app-context";
|
|
222
|
+
import { inngest } from "@/infra/inngest";
|
|
223
|
+
import { getServer } from "@/server";
|
|
224
|
+
|
|
225
|
+
/** Central registry updated by \`beignet make job\`. */
|
|
226
|
+
export const inngestJobs = [] as const;
|
|
227
|
+
|
|
228
|
+
export const inngestFunctions = createInngestJobFunctions<AppContext>({
|
|
229
|
+
client: inngest,
|
|
230
|
+
jobs: inngestJobs,
|
|
231
|
+
ctx: async () => {
|
|
232
|
+
const server = await getServer();
|
|
233
|
+
return server.createServiceContext({
|
|
234
|
+
actor: createServiceActor("beignet-inngest"),
|
|
235
|
+
});
|
|
236
|
+
},
|
|
237
|
+
instrumentation: async () => (await getServer()).ports,
|
|
238
|
+
errorReporter: async () => (await getServer()).ports.errorReporter,
|
|
239
|
+
});
|
|
240
|
+
`;
|
|
241
|
+
}
|
|
197
242
|
export function betterAuth(ctx) {
|
|
198
243
|
const connectionByDatabase = {
|
|
199
244
|
sqlite: `import { betterAuth } from "better-auth";
|
|
@@ -654,6 +699,15 @@ export function GET(request: Request): Promise<Response> {
|
|
|
654
699
|
export function POST(request: Request): Promise<Response> {
|
|
655
700
|
return handleAuthRoute("POST", request);
|
|
656
701
|
}
|
|
702
|
+
`,
|
|
703
|
+
inngestRoute: `import { serve } from "inngest/next";
|
|
704
|
+
import { inngest } from "@/infra/inngest";
|
|
705
|
+
import { inngestFunctions } from "@/server/inngest";
|
|
706
|
+
|
|
707
|
+
export const { GET, POST, PUT } = serve({
|
|
708
|
+
client: inngest,
|
|
709
|
+
functions: inngestFunctions,
|
|
710
|
+
});
|
|
657
711
|
`,
|
|
658
712
|
// API-only scaffold frontend: a minimal layout and landing page that point
|
|
659
713
|
// at the contract-backed API surface, plus a typed client without React
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/templates/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EACL,kBAAkB,EAClB,kBAAkB,GAEnB,MAAM,aAAa,CAAC;AAErB,MAAM,UAAU,eAAe,CAAC,GAAoB;IAClD,MAAM,EAAE,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;IACnC,MAAM,OAAO,GAAG;QACd,qCAAqC;QACrC,6DAA6D;QAC7D,gFAAgF;QAChF,YAAY,EAAE,CAAC,eAAe,yCAAyC,EAAE,CAAC,OAAO,IAAI;QACrF,kBAAkB,CAAC,GAAG,EAAE,cAAc,CAAC;YACrC,CAAC,CAAC,6EAA6E;YAC/E,CAAC,CAAC,SAAS;QACb,2EAA2E;QAC3E,kBAAkB,CAAC,GAAG,EAAE,aAAa,CAAC;YACpC,CAAC,CAAC,2EAA2E;YAC7E,CAAC,CAAC,SAAS;QACb,kBAAkB,CAAC,GAAG,EAAE,oBAAoB,CAAC;YAC3C,CAAC,CAAC,wFAAwF;YAC1F,CAAC,CAAC,SAAS;QACb,8CAA8C;QAC9C,qDAAqD;QACrD,gEAAgE;QAChE,2CAA2C;QAC3C,oEAAoE;KACrE,CAAC,MAAM,CAAC,CAAC,IAAI,EAAkB,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IAElD,MAAM,OAAO,GAAG;QACd,6BAA6B;QAC7B,kEAAkE;QAClE,+BAA+B;QAC/B,KAAK,EAAE,CAAC,gBAAgB,GAAG;QAC3B,4BAA4B;QAC5B,kBAAkB,CAAC,GAAG,EAAE,cAAc,CAAC;YACrC,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/templates/server.ts"],"names":[],"mappings":"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"}
|
package/dist/templates/shadcn.js
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* uses.
|
|
5
5
|
*
|
|
6
6
|
* The config, tokens, and most primitives are vendored byte-identically from
|
|
7
|
-
* `apps/example-twitter-clone` (shadcn style "radix-nova"), which is the
|
|
7
|
+
* `apps/example-next-twitter-clone` (shadcn style "radix-nova"), which is the
|
|
8
8
|
* repo's source of truth for this stack. `checkbox` and `label` are ported
|
|
9
9
|
* from the radix-nova registry following the same conventions.
|
|
10
10
|
*/
|
package/dist/templates/shared.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@beignet/cli",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.41",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "CLI for creating and maintaining Beignet apps.",
|
|
6
6
|
"main": "./dist/lib.js",
|
|
@@ -69,7 +69,7 @@
|
|
|
69
69
|
"tsx": "^4.22.4"
|
|
70
70
|
},
|
|
71
71
|
"dependencies": {
|
|
72
|
-
"@beignet/core": "^0.0.
|
|
72
|
+
"@beignet/core": "^0.0.41",
|
|
73
73
|
"@clack/prompts": "^1.5.1",
|
|
74
74
|
"@modelcontextprotocol/sdk": "^1.29.0",
|
|
75
75
|
"@stricli/core": "^1.2.7",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: app-structure
|
|
3
|
-
description: "Maintain Beignet app structure with @beignet/cli: create starter output, make generators, full-slice feature recipes, db schema sync, TenantScope resources, workflow registries, runtime-integrity manifests, beignet.config paths, routes inspection, lint dependency boundaries, doctor drift checks and fixes, MCP tools, generated AGENTS.md guidance, Intent package skills, and generated-app validation. Use when scaffolding, generating, fixing, or reviewing a Beignet app's structure."
|
|
3
|
+
description: "Maintain Beignet app structure with @beignet/cli: deterministic app maps, create starter output, make generators, full-slice feature recipes, db schema sync, TenantScope resources, workflow registries, runtime-integrity manifests, beignet.config paths, routes inspection, lint dependency boundaries, doctor drift checks and fixes, MCP tools, generated AGENTS.md guidance, Intent package skills, and generated-app validation. Use when scaffolding, generating, fixing, or reviewing a Beignet app's structure."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Beignet CLI App Structure
|
|
@@ -41,6 +41,7 @@ beignet make job billing.sync
|
|
|
41
41
|
beignet make schedule billing.nightly --cron "0 2 * * *"
|
|
42
42
|
beignet make task admin.backfill
|
|
43
43
|
beignet make seed demo.users
|
|
44
|
+
beignet make outbox
|
|
44
45
|
beignet make upload issues.attachment
|
|
45
46
|
beignet make upload issues.attachment --ui
|
|
46
47
|
```
|
|
@@ -75,6 +76,12 @@ Hand-written files do not run until registered:
|
|
|
75
76
|
every job worker or outbox registry that can receive it
|
|
76
77
|
- seeds -> the app-owned seed entrypoint, usually `server/seed.ts`
|
|
77
78
|
|
|
79
|
+
For generated Next.js 15.1+ apps, `make outbox` also adds a server-local
|
|
80
|
+
provider that wraps the database Unit of Work with a push-assisted `after()`
|
|
81
|
+
trigger. Keep the generated cron route: it is the recovery path for missed
|
|
82
|
+
callbacks, delayed messages, retries, and additional batches. Older Next.js
|
|
83
|
+
apps remain cron-only.
|
|
84
|
+
|
|
78
85
|
When an app opts into runtime integrity, keep `server/runtime-integrity.ts`
|
|
79
86
|
aligned with those central registries. The boot check is pure and
|
|
80
87
|
serverless-safe: it compares declared listeners, schedules, tasks, and outbox
|
|
@@ -89,7 +96,11 @@ low-risk route-group, schedule, task, outbox, and listener registry repair.
|
|
|
89
96
|
|
|
90
97
|
## Path Config
|
|
91
98
|
|
|
92
|
-
`beignet.config.*` moves paths; it
|
|
99
|
+
`beignet.config.*` selects the inspected server adapter and moves paths; it
|
|
100
|
+
does not change the application architecture. `framework: "next"` is the
|
|
101
|
+
default. Use `framework: "web"` for `@beignet/web` Fetch servers so `routes`
|
|
102
|
+
and `doctor` inspect the central `defineRoutes(...)` registry instead of
|
|
103
|
+
requiring Next.js `app/api/` handlers.
|
|
93
104
|
|
|
94
105
|
Common `src/` apps configure:
|
|
95
106
|
|
|
@@ -107,6 +118,10 @@ export default defineConfig({
|
|
|
107
118
|
});
|
|
108
119
|
```
|
|
109
120
|
|
|
121
|
+
Framework-neutral generators work in either profile. `make payments`,
|
|
122
|
+
`make upload`, `make outbox`, and `make schedule --route` still generate
|
|
123
|
+
Next.js handlers and reject the web profile before writing files.
|
|
124
|
+
|
|
110
125
|
When `appContext` moves under `src/`, root client setup follows that source
|
|
111
126
|
root at `src/client/index.ts`. Other registries and app-bound builders are not
|
|
112
127
|
relocated implicitly; override each path the app has moved, such as
|
|
@@ -114,6 +129,11 @@ relocated implicitly; override each path the app has moved, such as
|
|
|
114
129
|
|
|
115
130
|
## Lint And Doctor
|
|
116
131
|
|
|
132
|
+
Start unfamiliar app work with `beignet map`. Its human output summarizes each
|
|
133
|
+
feature; `beignet map --json` returns the versioned graph with source evidence,
|
|
134
|
+
registration status, doctor/lint findings, and unresolved references. Use
|
|
135
|
+
`--feature <name>` or `--kind route,use-case,event` to bound agent context.
|
|
136
|
+
|
|
117
137
|
`beignet lint` enforces dependency direction:
|
|
118
138
|
|
|
119
139
|
- domain and use cases must not import infra, routes, server, providers, React,
|
|
@@ -157,9 +177,17 @@ Generated apps register:
|
|
|
157
177
|
}
|
|
158
178
|
```
|
|
159
179
|
|
|
160
|
-
The MCP server exposes `
|
|
161
|
-
`
|
|
162
|
-
|
|
180
|
+
The MCP server exposes `app_map`, `explain`, `check`, `routes`, `doctor`,
|
|
181
|
+
`doctor_fix`, `lint`, `make`, and `provider_add`. `app_map` accepts feature and
|
|
182
|
+
node-kind projections. `explain` accepts `{ kind, target }` for one feature,
|
|
183
|
+
route, provider, or diagnostic and returns the same deterministic result as
|
|
184
|
+
`beignet explain <kind> <target> --json`. `check` accepts optional
|
|
185
|
+
`{ preflight?: boolean, timeoutMs?: number }`, bounds failure output, cancels
|
|
186
|
+
the active script with the MCP request, and returns the same versioned result
|
|
187
|
+
as `beignet check --json`. It does not apply Beignet fixes, but app package
|
|
188
|
+
scripts retain their normal side effects. `doctor`, `lint`, and their JSON output match
|
|
189
|
+
the CLI's `--json` shape. Run MCP clients from the app root so the local CLI
|
|
190
|
+
version is used.
|
|
163
191
|
|
|
164
192
|
## Validation Loop
|
|
165
193
|
|
|
@@ -167,12 +195,17 @@ After structural changes:
|
|
|
167
195
|
|
|
168
196
|
```bash
|
|
169
197
|
beignet routes
|
|
198
|
+
beignet map
|
|
199
|
+
beignet explain feature <name>
|
|
170
200
|
beignet lint
|
|
171
201
|
beignet doctor --strict
|
|
172
202
|
bun run test
|
|
173
203
|
bun run typecheck
|
|
174
204
|
```
|
|
175
205
|
|
|
206
|
+
When MCP is available, call `check` after edits to run the full validation loop
|
|
207
|
+
through the app-local CLI without reconstructing these commands individually.
|
|
208
|
+
|
|
176
209
|
For generated app template changes inside the Beignet monorepo, also run:
|
|
177
210
|
|
|
178
211
|
```bash
|