@beignet/cli 0.0.15 → 0.0.17
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 +20 -0
- package/README.md +21 -16
- package/dist/choices.d.ts +1 -1
- package/dist/choices.d.ts.map +1 -1
- package/dist/choices.js +8 -0
- package/dist/choices.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +29 -2
- package/dist/index.js.map +1 -1
- package/dist/inspect.js +1 -1
- package/dist/inspect.js.map +1 -1
- package/dist/make.d.ts +14 -0
- package/dist/make.d.ts.map +1 -1
- package/dist/make.js +620 -15
- package/dist/make.js.map +1 -1
- package/dist/mcp.d.ts.map +1 -1
- package/dist/mcp.js +12 -4
- package/dist/mcp.js.map +1 -1
- package/dist/templates/agents.d.ts.map +1 -1
- package/dist/templates/agents.js +9 -6
- package/dist/templates/agents.js.map +1 -1
- package/dist/templates/shared.js +2 -2
- package/dist/templates/shared.js.map +1 -1
- package/dist/templates/shell.d.ts.map +1 -1
- package/dist/templates/shell.js +2 -2
- package/dist/templates/shell.js.map +1 -1
- package/package.json +2 -2
- package/src/choices.ts +8 -0
- package/src/index.ts +35 -2
- package/src/inspect.ts +1 -1
- package/src/make.ts +874 -16
- package/src/mcp.ts +12 -3
- package/src/templates/agents.ts +9 -6
- package/src/templates/shared.ts +2 -2
- package/src/templates/shell.ts +2 -1
package/src/mcp.ts
CHANGED
|
@@ -15,6 +15,7 @@ import {
|
|
|
15
15
|
makeJob,
|
|
16
16
|
makeListener,
|
|
17
17
|
makeNotification,
|
|
18
|
+
makeOutbox,
|
|
18
19
|
makePayments,
|
|
19
20
|
makePolicy,
|
|
20
21
|
makePort,
|
|
@@ -44,6 +45,7 @@ const makeArtifactChoices = [
|
|
|
44
45
|
"job",
|
|
45
46
|
"listener",
|
|
46
47
|
"notification",
|
|
48
|
+
"outbox",
|
|
47
49
|
"payments",
|
|
48
50
|
"policy",
|
|
49
51
|
"port",
|
|
@@ -66,13 +68,13 @@ const makeInputSchema = {
|
|
|
66
68
|
.string()
|
|
67
69
|
.optional()
|
|
68
70
|
.describe(
|
|
69
|
-
"Artifact name. Required except for payments. Feature-owned artifacts use feature-scoped paths such as posts/backfill.",
|
|
71
|
+
"Artifact name. Required except for outbox and payments. Feature-owned artifacts use feature-scoped paths such as posts/backfill.",
|
|
70
72
|
),
|
|
71
73
|
with: z
|
|
72
74
|
.array(z.enum(makeFeatureAddonChoices))
|
|
73
75
|
.optional()
|
|
74
76
|
.describe(
|
|
75
|
-
"feature only: add feature-owned artifacts such as policy, events, jobs, notifications, tasks, ui, and uploads.",
|
|
77
|
+
"feature only: add feature-owned artifacts such as policy, factories, seeds, events, listeners, jobs, notifications, schedules, tasks, ui, and uploads.",
|
|
76
78
|
),
|
|
77
79
|
event: z
|
|
78
80
|
.string()
|
|
@@ -186,6 +188,13 @@ async function runMakeTool(
|
|
|
186
188
|
dryRun: input.dryRun,
|
|
187
189
|
});
|
|
188
190
|
}
|
|
191
|
+
if (input.artifact === "outbox") {
|
|
192
|
+
return makeOutbox({
|
|
193
|
+
cwd,
|
|
194
|
+
force: input.force,
|
|
195
|
+
dryRun: input.dryRun,
|
|
196
|
+
});
|
|
197
|
+
}
|
|
189
198
|
if (!input.name) {
|
|
190
199
|
throw new Error(`make ${input.artifact} requires a name.`);
|
|
191
200
|
}
|
|
@@ -352,7 +361,7 @@ export function buildBeignetMcpServer(options: McpServerOptions): McpServer {
|
|
|
352
361
|
"make",
|
|
353
362
|
{
|
|
354
363
|
description:
|
|
355
|
-
"Generate Beignet app files for one artifact: adapter, contract, event, factory, feature, job, listener, notification, policy, port, resource, schedule, seed, task, test, upload, or use-case. Generators auto-register artifacts, so doctor stays clean. Options by artifact: feature accepts with (addons); resource accepts auth, tenant, events, softDelete; listener requires event; schedule accepts cron, timezone, route. All artifacts accept force and dryRun. Returns created, updated, and skipped files as JSON.",
|
|
364
|
+
"Generate Beignet app files for one artifact: adapter, contract, event, factory, feature, job, listener, notification, outbox, payments, policy, port, resource, schedule, seed, task, test, upload, or use-case. Generators auto-register artifacts, so doctor stays clean. Options by artifact: feature accepts with (addons); resource accepts auth, tenant, events, softDelete; listener requires event; schedule accepts cron, timezone, route. All artifacts accept force and dryRun. Returns created, updated, and skipped files as JSON.",
|
|
356
365
|
inputSchema: makeInputSchema,
|
|
357
366
|
},
|
|
358
367
|
async (input) =>
|
package/src/templates/agents.ts
CHANGED
|
@@ -32,10 +32,10 @@ https://beignetjs.com (agent-friendly index at https://beignetjs.com/llms.txt).
|
|
|
32
32
|
README.md covers setup and the app map; this file covers what is not
|
|
33
33
|
discoverable from the code.
|
|
34
34
|
|
|
35
|
-
## Registration is
|
|
35
|
+
## Registration is explicit
|
|
36
36
|
|
|
37
|
-
|
|
38
|
-
a silent failure — the file exists but never runs:
|
|
37
|
+
Hand-writing an artifact file does not wire it into the app. Non-registration
|
|
38
|
+
is a silent failure — the file exists but never runs:
|
|
39
39
|
|
|
40
40
|
- Feature route groups in \`features/<feature>/routes.ts\` must be composed in
|
|
41
41
|
\`server/routes.ts\` via \`defineRoutes([...])\`.
|
|
@@ -47,9 +47,12 @@ a silent failure — the file exists but never runs:
|
|
|
47
47
|
wiring.
|
|
48
48
|
|
|
49
49
|
The starter ships no workflow registries — generators create them on first
|
|
50
|
-
use, so their absence is fine. \`${cli}
|
|
51
|
-
\`${cli}
|
|
52
|
-
|
|
50
|
+
use, so their absence is fine. \`${cli} make event\`, \`${cli} make job\`,
|
|
51
|
+
\`${cli} make schedule\`, \`${cli} make task\`, \`${cli} make seed\`, and
|
|
52
|
+
\`${cli} make upload\` create or update their required app entrypoints.
|
|
53
|
+
\`${cli} doctor\` detects registration drift. \`${cli} doctor --fix\` repairs
|
|
54
|
+
route-group, schedule, task, and outbox registration; listener drift is
|
|
55
|
+
report-only and must be fixed by hand.
|
|
53
56
|
|
|
54
57
|
## Prefer generators
|
|
55
58
|
|
package/src/templates/shared.ts
CHANGED
|
@@ -44,7 +44,7 @@ export const externalVersions = {
|
|
|
44
44
|
tanstackReactQuery: "^5.100.7",
|
|
45
45
|
hookformResolvers: "^5.0.0",
|
|
46
46
|
reactHookForm: "^7.74.0",
|
|
47
|
-
betterAuth: "1.6.
|
|
47
|
+
betterAuth: "1.6.20",
|
|
48
48
|
drizzleKit: "^0.31.10",
|
|
49
49
|
drizzleOrm: "^0.45.2",
|
|
50
50
|
inngest: "^3.0.0",
|
|
@@ -53,7 +53,7 @@ export const externalVersions = {
|
|
|
53
53
|
pg: "^8.13.0",
|
|
54
54
|
pglite: "^0.5.2",
|
|
55
55
|
pino: "^9.7.0",
|
|
56
|
-
resend: "^
|
|
56
|
+
resend: "^6.14.0",
|
|
57
57
|
typesPg: "^8.11.0",
|
|
58
58
|
upstashRateLimit: "^2.0.0",
|
|
59
59
|
upstashRedis: "^1.0.0",
|
package/src/templates/shell.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import {
|
|
2
|
+
externalVersions,
|
|
2
3
|
packageRunner,
|
|
3
4
|
type TemplateContext,
|
|
4
5
|
type TemplateFile,
|
|
@@ -1219,7 +1220,7 @@ export function shellTemplateFiles(ctx: TemplateContext): TemplateFile[] {
|
|
|
1219
1220
|
}
|
|
1220
1221
|
|
|
1221
1222
|
export const shellDependencies: Record<string, string> = {
|
|
1222
|
-
"better-auth":
|
|
1223
|
+
"better-auth": externalVersions.betterAuth,
|
|
1223
1224
|
"lucide-react": "^1.16.0",
|
|
1224
1225
|
"next-themes": "^0.4.6",
|
|
1225
1226
|
};
|