@donotdev/cli 0.0.13 → 0.0.15
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/dependencies-matrix.json +357 -89
- package/dist/bin/commands/agent-setup.d.ts +6 -0
- package/dist/bin/commands/agent-setup.d.ts.map +1 -0
- package/dist/bin/commands/agent-setup.js +629 -0
- package/dist/bin/commands/agent-setup.js.map +1 -0
- package/dist/bin/commands/build.js +131 -50
- package/dist/bin/commands/bump.js +137 -49
- package/dist/bin/commands/cacheout.js +50 -21
- package/dist/bin/commands/create-app.js +270 -261
- package/dist/bin/commands/create-project.js +418 -197
- package/dist/bin/commands/deploy.js +1752 -712
- package/dist/bin/commands/dev.js +151 -35
- package/dist/bin/commands/emu.js +228 -70
- package/dist/bin/commands/format.js +50 -21
- package/dist/bin/commands/lint.js +50 -21
- package/dist/bin/commands/preview.js +155 -35
- package/dist/bin/commands/supabase-setup.d.ts +6 -0
- package/dist/bin/commands/supabase-setup.d.ts.map +1 -0
- package/dist/bin/commands/supabase-setup.js +7 -0
- package/dist/bin/commands/supabase-setup.js.map +1 -0
- package/dist/bin/commands/sync-secrets.js +224 -46
- package/dist/bin/commands/type-check.d.ts +14 -0
- package/dist/bin/commands/type-check.d.ts.map +1 -0
- package/dist/bin/commands/type-check.js +314 -0
- package/dist/bin/commands/type-check.js.map +1 -0
- package/dist/bin/commands/wai.js +7399 -11
- package/dist/bin/dndev.js +27 -2
- package/dist/bin/donotdev.js +27 -2
- package/dist/index.js +3960 -2996
- package/package.json +2 -2
- package/templates/app-demo/src/App.tsx.example +1 -0
- package/templates/app-demo/src/pages/FullPage.tsx.example +2 -2
- package/templates/app-demo/src/pages/components/DemoLayout.tsx.example +2 -2
- package/templates/app-demo/src/themes.css.example +5 -12
- package/templates/app-expo/.env.example +64 -0
- package/templates/app-expo/.expo/README.md.example +5 -0
- package/templates/app-expo/.gitignore.example +36 -0
- package/templates/app-expo/README.md.example +58 -0
- package/templates/app-expo/app/.gitkeep +2 -0
- package/templates/app-expo/app/_layout.tsx.example +41 -0
- package/templates/app-expo/app/form.tsx.example +52 -0
- package/templates/app-expo/app/index.tsx.example +89 -0
- package/templates/app-expo/app/list.tsx.example +32 -0
- package/templates/app-expo/app/profile.tsx.example +76 -0
- package/templates/app-expo/app/signin.tsx.example +53 -0
- package/templates/app-expo/app.json.example +39 -0
- package/templates/app-expo/babel.config.js.example +10 -0
- package/templates/app-expo/eas.json.example +20 -0
- package/templates/app-expo/expo-env.d.ts.example +4 -0
- package/templates/app-expo/metro.config.js.example +20 -0
- package/templates/app-expo/service-account-key.json.example +12 -0
- package/templates/app-expo/tsconfig.json.example +19 -0
- package/templates/app-next/.env.example +4 -33
- package/templates/app-next/src/app/ClientLayout.tsx.example +2 -0
- package/templates/app-next/src/app/layout.tsx.example +7 -6
- package/templates/app-next/src/globals.css.example +2 -11
- package/templates/app-next/src/pages/HomePage.tsx.example +1 -1
- package/templates/app-next/src/themes.css.example +10 -13
- package/templates/app-vite/.env.example +3 -32
- package/templates/app-vite/index.html.example +2 -24
- package/templates/app-vite/src/App.tsx.example +2 -0
- package/templates/app-vite/src/globals.css.example +2 -12
- package/templates/app-vite/src/pages/FormPageExample.tsx.example +1 -2
- package/templates/app-vite/src/pages/HomePage.tsx.example +1 -1
- package/templates/app-vite/src/themes.css.example +109 -79
- package/templates/app-vite/vercel.json.example +11 -0
- package/templates/functions-firebase/build.mjs.example +2 -72
- package/templates/functions-firebase/functions-firebase/.env.example.example +23 -25
- package/templates/functions-firebase/functions-firebase/build.mjs.example +2 -72
- package/templates/functions-firebase/functions-firebase/tsconfig.json.example +1 -1
- package/templates/functions-supabase/supabase/functions/cancel-subscription/index.ts.example +7 -0
- package/templates/functions-supabase/supabase/functions/change-plan/index.ts.example +11 -0
- package/templates/functions-supabase/supabase/functions/create-checkout-session/index.ts.example +11 -0
- package/templates/functions-supabase/supabase/functions/create-customer-portal/index.ts.example +7 -0
- package/templates/functions-supabase/supabase/functions/crud/index.ts.example +16 -0
- package/templates/functions-supabase/supabase/functions/delete-account/index.ts.example +7 -0
- package/templates/functions-supabase/supabase/functions/get-custom-claims/index.ts.example +7 -0
- package/templates/functions-supabase/supabase/functions/get-user-auth-status/index.ts.example +7 -0
- package/templates/functions-supabase/supabase/functions/refresh-subscription-status/index.ts.example +7 -0
- package/templates/functions-supabase/supabase/functions/remove-custom-claims/index.ts.example +7 -0
- package/templates/functions-supabase/supabase/functions/set-custom-claims/index.ts.example +7 -0
- package/templates/functions-supabase/supabase/migrations/20250101000000_idempotency.sql +24 -0
- package/templates/functions-supabase/supabase/migrations/20250101000001_rate_limits.sql +22 -0
- package/templates/functions-supabase/supabase/migrations/20250101000002_cleanup_jobs.sql +28 -0
- package/templates/functions-supabase/supabase/migrations/20250101000003_operation_metrics.sql +28 -0
- package/templates/functions-vercel/functions-vercel/tsconfig.json.example +1 -1
- package/templates/functions-vercel/functions-vercel/vercel.json.example +1 -1
- package/templates/functions-vercel/vercel.json.example +1 -1
- package/templates/github/github/workflows/firebase-deploy.yml.example +1 -1
- package/templates/github/workflows/firebase-deploy.yml.example +1 -1
- package/templates/overlay-firebase/env.fragment.example +34 -0
- package/templates/overlay-firebase/env.fragment.expo.example +34 -0
- package/templates/overlay-firebase/env.fragment.nextjs.example +34 -0
- package/templates/overlay-firebase/src/config/providers.expo.ts.example +49 -0
- package/templates/overlay-firebase/src/config/providers.ts.example +23 -0
- package/templates/overlay-supabase/env.fragment.example +7 -0
- package/templates/overlay-supabase/env.fragment.expo.example +7 -0
- package/templates/overlay-supabase/env.fragment.nextjs.example +7 -0
- package/templates/overlay-supabase/src/config/providers.expo.ts.example +35 -0
- package/templates/overlay-supabase/src/config/providers.ts.example +33 -0
- package/templates/overlay-supabase/vercel.headers.example +23 -0
- package/templates/overlay-supabase/vercel.json.example +22 -0
- package/templates/overlay-vercel/env.fragment.example +34 -0
- package/templates/overlay-vercel/env.fragment.nextjs.example +34 -0
- package/templates/overlay-vercel/src/config/providers.ts.example +24 -0
- package/templates/root-consumer/.claude/agents/architect.md.example +2 -310
- package/templates/root-consumer/.claude/agents/builder.md.example +2 -326
- package/templates/root-consumer/.claude/agents/coder.md.example +2 -83
- package/templates/root-consumer/.claude/agents/extractor.md.example +2 -231
- package/templates/root-consumer/.claude/agents/polisher.md.example +2 -132
- package/templates/root-consumer/.claude/agents/prompt-engineer.md.example +2 -81
- package/templates/root-consumer/.claude/commands/brainstorm.md.example +1 -1
- package/templates/root-consumer/.claude/commands/build.md.example +1 -1
- package/templates/root-consumer/.claude/commands/design.md.example +1 -1
- package/templates/root-consumer/.claude/commands/grill.md.example +30 -0
- package/templates/root-consumer/.claude/commands/polish.md.example +1 -1
- package/templates/root-consumer/.claude/commands/techdebt.md.example +28 -0
- package/templates/root-consumer/.clinerules.example +1 -0
- package/templates/root-consumer/.cursor/rules/no-docs.mdc.example +15 -0
- package/templates/root-consumer/.cursorrules.example +1 -0
- package/templates/root-consumer/.dndev/args.json.example +6 -0
- package/templates/root-consumer/.gemini/settings.json.example +2 -2
- package/templates/root-consumer/.github/copilot-instructions.md.example +1 -0
- package/templates/root-consumer/.windsurfrules.example +1 -0
- package/templates/root-consumer/AI.md.example +25 -108
- package/templates/root-consumer/CLAUDE.md.example +1 -128
- package/templates/root-consumer/CONVENTIONS.md.example +1 -0
- package/templates/root-consumer/GEMINI.md.example +1 -0
- package/templates/root-consumer/firebase.json.example +1 -1
- package/templates/root-consumer/guides/dndev/AGENT_START_HERE.md.example +54 -0
- package/templates/root-consumer/guides/dndev/COMPONENTS_ADV.md.example +0 -18
- package/templates/root-consumer/guides/dndev/COMPONENTS_UI.md.example +1 -1
- package/templates/root-consumer/guides/dndev/ENV_SETUP.md.example +99 -30
- package/templates/root-consumer/guides/dndev/GOTCHAS.md.example +186 -0
- package/templates/root-consumer/guides/dndev/INDEX.md.example +4 -1
- package/templates/root-consumer/guides/dndev/SETUP_CRUD.md.example +143 -12
- package/templates/root-consumer/guides/dndev/SETUP_FIREBASE.md.example +9 -3
- package/templates/root-consumer/guides/dndev/SETUP_FUNCTIONS.md.example +12 -7
- package/templates/root-consumer/guides/dndev/SETUP_SOC2.md.example +234 -0
- package/templates/root-consumer/guides/dndev/SETUP_SUPABASE.md.example +124 -0
- package/templates/root-consumer/guides/dndev/SETUP_THEMES.md.example +6 -2
- package/templates/root-consumer/guides/dndev/SETUP_VERCEL.md.example +176 -0
- package/templates/root-consumer/guides/dndev/USE_ROUTING.md.example +5 -9
- package/templates/root-consumer/guides/dndev/essences_reference.css.example +174 -0
- package/templates/root-consumer/guides/wai-way/agents/builder.md.example +10 -0
- package/templates/root-consumer/guides/wai-way/agents/extractor.md.example +25 -5
- package/templates/root-consumer/guides/wai-way/agents/polisher.md.example +13 -2
- package/templates/root-consumer/guides/wai-way/blueprints/0_brainstorm.md.example +2 -2
- package/templates/root-consumer/guides/wai-way/blueprints/1_scaffold.md.example +47 -11
- package/templates/root-consumer/guides/wai-way/blueprints/3_compose.md.example +15 -4
- package/templates/root-consumer/guides/wai-way/spec_template.md.example +7 -6
- package/templates/app-payload/.env.example +0 -28
- package/templates/app-payload/README.md.example +0 -233
- package/templates/app-payload/collections/Company.ts.example +0 -125
- package/templates/app-payload/collections/Hero.ts.example +0 -62
- package/templates/app-payload/collections/Media.ts.example +0 -41
- package/templates/app-payload/collections/Products.ts.example +0 -115
- package/templates/app-payload/collections/Services.ts.example +0 -104
- package/templates/app-payload/collections/Testimonials.ts.example +0 -92
- package/templates/app-payload/collections/Users.ts.example +0 -35
- package/templates/app-payload/src/server.ts.example +0 -79
- package/templates/app-payload/tsconfig.json.example +0 -24
package/dist/bin/dndev.js
CHANGED
|
@@ -52,10 +52,12 @@ Commands:
|
|
|
52
52
|
preview [app] Preview production build
|
|
53
53
|
emu [app] Start dev with Firebase emulators
|
|
54
54
|
format Format code with Prettier
|
|
55
|
+
tc [app] Type-check TypeScript (all packages or specific app)
|
|
55
56
|
deploy [app] Deploy to Firebase
|
|
56
57
|
staging [subcommand] Deploy to staging/UAT (deploy, deploy:hosting, deploy:functions, seed, status)
|
|
57
|
-
sync-secrets Sync env vars to Firebase/Vercel
|
|
58
|
+
sync-secrets Sync env vars to Firebase/Vercel/GitHub Secrets
|
|
58
59
|
firebase:setup Set up Firebase project, web app, and .env config
|
|
60
|
+
supabase:setup Set up Supabase project URL and keys in .env
|
|
59
61
|
cacheout [app] Clear build caches
|
|
60
62
|
bump Update framework packages and peer dependencies
|
|
61
63
|
agent Configure MCP server for AI agents (Cursor, Claude, Gemini)
|
|
@@ -125,6 +127,21 @@ formatCmd.action(async (commanderOptions) => {
|
|
|
125
127
|
throw error;
|
|
126
128
|
}
|
|
127
129
|
});
|
|
130
|
+
var tcCmd = program.command("tc [app]").alias("type-check").description("TypeScript type-check (runs bun run type-check in all packages)");
|
|
131
|
+
addCommonOptions(tcCmd);
|
|
132
|
+
tcCmd.action(async (app, commanderOptions) => {
|
|
133
|
+
const commonOptions = extractCommonOptions(commanderOptions);
|
|
134
|
+
const options = { ...commonOptions, app };
|
|
135
|
+
try {
|
|
136
|
+
const { main } = await import("./commands/type-check.js");
|
|
137
|
+
process.exit(await main(options));
|
|
138
|
+
} catch (error) {
|
|
139
|
+
if (error.code === "invalid-argument" || error.name === "DoNotDevError") {
|
|
140
|
+
process.exit(error.context?.exitCode || 1);
|
|
141
|
+
}
|
|
142
|
+
throw error;
|
|
143
|
+
}
|
|
144
|
+
});
|
|
128
145
|
var cacheoutCmd = program.command("cacheout [app]").alias("co").description("Clear build caches").option("--app <app>", "App name to clear cache for");
|
|
129
146
|
addCommonOptions(cacheoutCmd);
|
|
130
147
|
cacheoutCmd.action(async (app, commanderOptions) => {
|
|
@@ -167,7 +184,7 @@ deployCmd.action(async (app, commanderOptions) => {
|
|
|
167
184
|
const { main } = await import("./commands/deploy.js");
|
|
168
185
|
await main(options);
|
|
169
186
|
});
|
|
170
|
-
var syncSecretsCmd = program.command("sync-secrets").description("Sync env vars to Firebase/Vercel").option("-e, --env-file <file>", "environment file path").option("--platform <platform>", "platform (firebase|vercel)").option("-p, --project <project>", "project ID");
|
|
187
|
+
var syncSecretsCmd = program.command("sync-secrets").description("Sync env vars to Firebase/Vercel or GitHub Secrets").option("-e, --env-file <file>", "environment file path").option("--target <target>", "sync target: runtime (default) or github").option("--platform <platform>", "platform (firebase|vercel) for runtime target").option("-p, --project <project>", "project ID").option("--repo <repo>", "GitHub repo (owner/repo) for github target");
|
|
171
188
|
addCommonOptions(syncSecretsCmd);
|
|
172
189
|
syncSecretsCmd.action(async (commanderOptions) => {
|
|
173
190
|
const commonOptions = extractCommonOptions(commanderOptions);
|
|
@@ -183,6 +200,14 @@ firebaseSetupCmd.action(async (commanderOptions) => {
|
|
|
183
200
|
const { main } = await import("./commands/firebase-setup.js");
|
|
184
201
|
await main(options);
|
|
185
202
|
});
|
|
203
|
+
var supabaseSetupCmd = program.command("supabase:setup").description("Set up Supabase project URL and keys in .env").option("-a, --app <app>", "app name (if multiple apps)");
|
|
204
|
+
addCommonOptions(supabaseSetupCmd);
|
|
205
|
+
supabaseSetupCmd.action(async (commanderOptions) => {
|
|
206
|
+
const commonOptions = extractCommonOptions(commanderOptions);
|
|
207
|
+
const options = { ...commonOptions, ...commanderOptions };
|
|
208
|
+
const { main } = await import("./commands/supabase-setup.js");
|
|
209
|
+
await main(options);
|
|
210
|
+
});
|
|
186
211
|
program.command("dev [app]").description("Start development server").action(async (app) => {
|
|
187
212
|
const { main } = await import("./commands/dev.js");
|
|
188
213
|
if (app) {
|
package/dist/bin/donotdev.js
CHANGED
|
@@ -52,10 +52,12 @@ Commands:
|
|
|
52
52
|
preview [app] Preview production build
|
|
53
53
|
emu [app] Start dev with Firebase emulators
|
|
54
54
|
format Format code with Prettier
|
|
55
|
+
tc [app] Type-check TypeScript (all packages or specific app)
|
|
55
56
|
deploy [app] Deploy to Firebase
|
|
56
57
|
staging [subcommand] Deploy to staging/UAT (deploy, deploy:hosting, deploy:functions, seed, status)
|
|
57
|
-
sync-secrets Sync env vars to Firebase/Vercel
|
|
58
|
+
sync-secrets Sync env vars to Firebase/Vercel/GitHub Secrets
|
|
58
59
|
firebase:setup Set up Firebase project, web app, and .env config
|
|
60
|
+
supabase:setup Set up Supabase project URL and keys in .env
|
|
59
61
|
cacheout [app] Clear build caches
|
|
60
62
|
bump Update framework packages and peer dependencies
|
|
61
63
|
agent Configure MCP server for AI agents (Cursor, Claude, Gemini)
|
|
@@ -125,6 +127,21 @@ formatCmd.action(async (commanderOptions) => {
|
|
|
125
127
|
throw error;
|
|
126
128
|
}
|
|
127
129
|
});
|
|
130
|
+
var tcCmd = program.command("tc [app]").alias("type-check").description("TypeScript type-check (runs bun run type-check in all packages)");
|
|
131
|
+
addCommonOptions(tcCmd);
|
|
132
|
+
tcCmd.action(async (app, commanderOptions) => {
|
|
133
|
+
const commonOptions = extractCommonOptions(commanderOptions);
|
|
134
|
+
const options = { ...commonOptions, app };
|
|
135
|
+
try {
|
|
136
|
+
const { main } = await import("./commands/type-check.js");
|
|
137
|
+
process.exit(await main(options));
|
|
138
|
+
} catch (error) {
|
|
139
|
+
if (error.code === "invalid-argument" || error.name === "DoNotDevError") {
|
|
140
|
+
process.exit(error.context?.exitCode || 1);
|
|
141
|
+
}
|
|
142
|
+
throw error;
|
|
143
|
+
}
|
|
144
|
+
});
|
|
128
145
|
var cacheoutCmd = program.command("cacheout [app]").alias("co").description("Clear build caches").option("--app <app>", "App name to clear cache for");
|
|
129
146
|
addCommonOptions(cacheoutCmd);
|
|
130
147
|
cacheoutCmd.action(async (app, commanderOptions) => {
|
|
@@ -167,7 +184,7 @@ deployCmd.action(async (app, commanderOptions) => {
|
|
|
167
184
|
const { main } = await import("./commands/deploy.js");
|
|
168
185
|
await main(options);
|
|
169
186
|
});
|
|
170
|
-
var syncSecretsCmd = program.command("sync-secrets").description("Sync env vars to Firebase/Vercel").option("-e, --env-file <file>", "environment file path").option("--platform <platform>", "platform (firebase|vercel)").option("-p, --project <project>", "project ID");
|
|
187
|
+
var syncSecretsCmd = program.command("sync-secrets").description("Sync env vars to Firebase/Vercel or GitHub Secrets").option("-e, --env-file <file>", "environment file path").option("--target <target>", "sync target: runtime (default) or github").option("--platform <platform>", "platform (firebase|vercel) for runtime target").option("-p, --project <project>", "project ID").option("--repo <repo>", "GitHub repo (owner/repo) for github target");
|
|
171
188
|
addCommonOptions(syncSecretsCmd);
|
|
172
189
|
syncSecretsCmd.action(async (commanderOptions) => {
|
|
173
190
|
const commonOptions = extractCommonOptions(commanderOptions);
|
|
@@ -183,6 +200,14 @@ firebaseSetupCmd.action(async (commanderOptions) => {
|
|
|
183
200
|
const { main } = await import("./commands/firebase-setup.js");
|
|
184
201
|
await main(options);
|
|
185
202
|
});
|
|
203
|
+
var supabaseSetupCmd = program.command("supabase:setup").description("Set up Supabase project URL and keys in .env").option("-a, --app <app>", "app name (if multiple apps)");
|
|
204
|
+
addCommonOptions(supabaseSetupCmd);
|
|
205
|
+
supabaseSetupCmd.action(async (commanderOptions) => {
|
|
206
|
+
const commonOptions = extractCommonOptions(commanderOptions);
|
|
207
|
+
const options = { ...commonOptions, ...commanderOptions };
|
|
208
|
+
const { main } = await import("./commands/supabase-setup.js");
|
|
209
|
+
await main(options);
|
|
210
|
+
});
|
|
186
211
|
program.command("dev [app]").description("Start development server").action(async (app) => {
|
|
187
212
|
const { main } = await import("./commands/dev.js");
|
|
188
213
|
if (app) {
|