@donotdev/cli 0.0.18 → 0.0.20

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.
Files changed (150) hide show
  1. package/dependencies-matrix.json +42 -55
  2. package/dist/bin/commands/bump.js +5 -2
  3. package/dist/bin/commands/coach.js +8177 -0
  4. package/dist/bin/commands/create-app.js +6 -6
  5. package/dist/bin/commands/create-project.js +23 -9
  6. package/dist/bin/commands/deploy.js +99 -59
  7. package/dist/bin/commands/doctor.js +243 -698
  8. package/dist/bin/commands/emu.js +2 -2
  9. package/dist/bin/commands/format.js +4 -1
  10. package/dist/bin/commands/get-demo.js +8351 -0
  11. package/dist/bin/commands/make-admin.js +773 -152
  12. package/dist/bin/commands/setup.js +524 -1713
  13. package/dist/bin/commands/staging.js +17870 -0
  14. package/dist/bin/commands/sync-secrets.js +2 -11
  15. package/dist/bin/commands/type-check.js +7738 -1712
  16. package/dist/bin/dndev.js +868 -199
  17. package/dist/bin/donotdev.js +868 -199
  18. package/dist/index.js +127 -67
  19. package/package.json +1 -1
  20. package/templates/app-demo/index.html.example +147 -10
  21. package/templates/app-demo/public/apple-touch-icon.png.example +0 -0
  22. package/templates/app-demo/public/favicon.svg.example +1 -0
  23. package/templates/app-demo/public/icon-192x192.png.example +0 -0
  24. package/templates/app-demo/public/icon-512x512.png.example +0 -0
  25. package/templates/app-demo/src/App.tsx.example +7 -11
  26. package/templates/app-demo/src/config/app.ts.example +13 -48
  27. package/templates/app-demo/src/entities/booking.ts.example +75 -0
  28. package/templates/app-demo/src/entities/onboarding.ts.example +160 -0
  29. package/templates/app-demo/src/entities/product.ts.example +50 -0
  30. package/templates/app-demo/src/entities/quote.ts.example +70 -0
  31. package/templates/app-demo/src/globals.css.example +5 -1
  32. package/templates/app-demo/src/main.tsx.example +13 -7
  33. package/templates/app-demo/src/pages/ChangelogPage.tsx.example +41 -0
  34. package/templates/app-demo/src/pages/ConditionalFormPage.tsx.example +88 -0
  35. package/templates/app-demo/src/pages/DashboardPage.tsx.example +17 -0
  36. package/templates/app-demo/src/pages/HomePage.tsx.example +339 -60
  37. package/templates/app-demo/src/pages/OnboardingPage.tsx.example +47 -0
  38. package/templates/app-demo/src/pages/PricingPage.tsx.example +41 -0
  39. package/templates/app-demo/src/pages/ProductsPage.tsx.example +19 -0
  40. package/templates/app-demo/src/pages/ProfilePage.tsx.example +18 -0
  41. package/templates/app-demo/src/pages/SettingsPage.tsx.example +17 -0
  42. package/templates/app-demo/src/pages/ShowcaseDetailPage.tsx.example +118 -0
  43. package/templates/app-demo/src/pages/ShowcasePage.tsx.example +93 -0
  44. package/templates/app-demo/src/pages/components/ComponentRenderer.tsx.example +147 -51
  45. package/templates/app-demo/src/pages/components/ComponentsData.tsx.example +103 -21
  46. package/templates/app-demo/src/pages/components/componentConfig.ts.example +139 -59
  47. package/templates/app-demo/src/pages/legal/LegalPage.tsx.example +25 -0
  48. package/templates/app-demo/src/pages/legal/PrivacyPage.tsx.example +23 -0
  49. package/templates/app-demo/src/pages/legal/TermsPage.tsx.example +23 -0
  50. package/templates/app-demo/src/themes.css.example +289 -77
  51. package/templates/app-demo/stats.html.example +4949 -0
  52. package/templates/app-demo/tsconfig.json.example +1 -1
  53. package/templates/app-demo/vite.config.ts.example +23 -48
  54. package/templates/app-expo/README.md.example +1 -1
  55. package/templates/app-expo/app/index.tsx.example +1 -1
  56. package/templates/app-next/src/locales/home_en.json.example +6 -6
  57. package/templates/app-vite/src/locales/home_en.json.example +6 -6
  58. package/templates/app-vite/src/pages/HomePage.tsx.example +8 -10
  59. package/templates/overlay-firebase/env.fragment.example +1 -1
  60. package/templates/overlay-firebase/env.fragment.expo.example +1 -1
  61. package/templates/overlay-firebase/env.fragment.nextjs.example +1 -1
  62. package/templates/overlay-supabase/env.fragment.example +1 -1
  63. package/templates/overlay-supabase/env.fragment.expo.example +1 -1
  64. package/templates/overlay-supabase/env.fragment.nextjs.example +1 -1
  65. package/templates/overlay-vercel/env.fragment.example +1 -1
  66. package/templates/overlay-vercel/env.fragment.nextjs.example +1 -1
  67. package/templates/root-consumer/AI.md.example +4 -3
  68. package/templates/root-consumer/guides/dndev/AGENT_START_HERE.md.example +21 -6
  69. package/templates/root-consumer/guides/dndev/COMPONENTS_ADV.md.example +16 -179
  70. package/templates/root-consumer/guides/dndev/ENV_SETUP.md.example +19 -21
  71. package/templates/root-consumer/guides/dndev/GOTCHAS.md.example +14 -3
  72. package/templates/root-consumer/guides/dndev/INDEX.md.example +2 -2
  73. package/templates/root-consumer/guides/dndev/SETUP_APP_CONFIG.md.example +3 -3
  74. package/templates/root-consumer/guides/dndev/SETUP_BLOG.md.example +19 -2
  75. package/templates/root-consumer/guides/dndev/SETUP_CRUD.md.example +35 -1
  76. package/templates/root-consumer/guides/dndev/SETUP_FIREBASE.md.example +17 -12
  77. package/templates/root-consumer/guides/dndev/SETUP_LAYOUTS.md.example +32 -0
  78. package/templates/root-consumer/guides/dndev/SETUP_OAUTH_PROVIDERS.md.example +1 -1
  79. package/templates/root-consumer/guides/dndev/SETUP_PAGES.md.example +19 -15
  80. package/templates/root-consumer/guides/dndev/SETUP_STRIPE.md.example +2 -2
  81. package/templates/root-consumer/guides/dndev/SETUP_SUPABASE.md.example +17 -12
  82. package/templates/root-consumer/guides/dndev/SETUP_VERCEL.md.example +37 -16
  83. package/templates/root-consumer/guides/dndev/USE_ROUTING.md.example +18 -18
  84. package/templates/root-consumer/guides/dndev/advanced/COOKIE_REFERENCE.md.example +252 -252
  85. package/templates/root-consumer/guides/dndev/advanced/VERSION_CONTROL.md.example +174 -174
  86. package/templates/root-consumer/guides/dndev/essences_reference.css.example +119 -2
  87. package/templates/root-consumer/guides/wai-way/blueprints/1_scaffold.md.example +14 -0
  88. package/templates/root-consumer/guides/wai-way/blueprints/2_entities.md.example +6 -0
  89. package/templates/root-consumer/guides/wai-way/blueprints/3_compose.md.example +14 -0
  90. package/templates/root-consumer/guides/wai-way/entity_patterns.md.example +4 -5
  91. package/templates/root-consumer/guides/wai-way/page_patterns.md.example +2 -2
  92. package/dist/bin/commands/agent-setup.d.ts +0 -6
  93. package/dist/bin/commands/agent-setup.d.ts.map +0 -1
  94. package/dist/bin/commands/agent-setup.js.map +0 -1
  95. package/dist/bin/commands/build.d.ts +0 -11
  96. package/dist/bin/commands/build.d.ts.map +0 -1
  97. package/dist/bin/commands/build.js.map +0 -1
  98. package/dist/bin/commands/bump.d.ts +0 -11
  99. package/dist/bin/commands/bump.d.ts.map +0 -1
  100. package/dist/bin/commands/bump.js.map +0 -1
  101. package/dist/bin/commands/cacheout.d.ts +0 -11
  102. package/dist/bin/commands/cacheout.d.ts.map +0 -1
  103. package/dist/bin/commands/cacheout.js.map +0 -1
  104. package/dist/bin/commands/create-app.d.ts +0 -11
  105. package/dist/bin/commands/create-app.d.ts.map +0 -1
  106. package/dist/bin/commands/create-app.js.map +0 -1
  107. package/dist/bin/commands/create-project.d.ts +0 -11
  108. package/dist/bin/commands/create-project.d.ts.map +0 -1
  109. package/dist/bin/commands/create-project.js.map +0 -1
  110. package/dist/bin/commands/deploy.d.ts +0 -11
  111. package/dist/bin/commands/deploy.d.ts.map +0 -1
  112. package/dist/bin/commands/deploy.js.map +0 -1
  113. package/dist/bin/commands/dev.d.ts +0 -11
  114. package/dist/bin/commands/dev.d.ts.map +0 -1
  115. package/dist/bin/commands/dev.js.map +0 -1
  116. package/dist/bin/commands/doctor.d.ts +0 -6
  117. package/dist/bin/commands/doctor.d.ts.map +0 -1
  118. package/dist/bin/commands/doctor.js.map +0 -1
  119. package/dist/bin/commands/emu.d.ts +0 -11
  120. package/dist/bin/commands/emu.d.ts.map +0 -1
  121. package/dist/bin/commands/emu.js.map +0 -1
  122. package/dist/bin/commands/format.d.ts +0 -11
  123. package/dist/bin/commands/format.d.ts.map +0 -1
  124. package/dist/bin/commands/format.js.map +0 -1
  125. package/dist/bin/commands/make-admin.d.ts +0 -11
  126. package/dist/bin/commands/make-admin.d.ts.map +0 -1
  127. package/dist/bin/commands/make-admin.js.map +0 -1
  128. package/dist/bin/commands/preview.d.ts +0 -11
  129. package/dist/bin/commands/preview.d.ts.map +0 -1
  130. package/dist/bin/commands/preview.js.map +0 -1
  131. package/dist/bin/commands/setup.d.ts +0 -6
  132. package/dist/bin/commands/setup.d.ts.map +0 -1
  133. package/dist/bin/commands/setup.js.map +0 -1
  134. package/dist/bin/commands/sync-secrets.d.ts +0 -11
  135. package/dist/bin/commands/sync-secrets.d.ts.map +0 -1
  136. package/dist/bin/commands/sync-secrets.js.map +0 -1
  137. package/dist/bin/commands/type-check.d.ts +0 -14
  138. package/dist/bin/commands/type-check.d.ts.map +0 -1
  139. package/dist/bin/commands/type-check.js.map +0 -1
  140. package/dist/bin/commands/wai.d.ts +0 -11
  141. package/dist/bin/commands/wai.d.ts.map +0 -1
  142. package/dist/bin/commands/wai.js.map +0 -1
  143. package/dist/index.d.ts +0 -8
  144. package/dist/index.d.ts.map +0 -1
  145. package/dist/index.js.map +0 -1
  146. package/templates/app-demo/src/components/ThemeToggle.tsx.example +0 -48
  147. package/templates/app-demo/src/pages/DetailPage.tsx.example +0 -103
  148. package/templates/app-demo/src/pages/FullPage.tsx.example +0 -142
  149. package/templates/app-demo/src/pages/components/DemoLayout.tsx.example +0 -266
  150. package/templates/app-demo/src/pages/components/LayoutRoute.tsx.example +0 -20
@@ -2,7 +2,7 @@
2
2
  "$schema": "./dependencies-matrix.schema.json",
3
3
  "version": "0.0.6",
4
4
  "description": "Centralized dependency versions for DoNotDev framework. Single source of truth for all external dependencies. ⚠️ SYNC REQUIRED: When adding/removing @donotdev/* feature packages (auth, billing, crud, oauth), also update packages/core/config/constants.js BUNDLING.optionalFeatures array.",
5
- "lastUpdated": "2026-02-24",
5
+ "lastUpdated": "2026-02-26",
6
6
  "migrationGuides": {
7
7
  "0.0→0.1": {
8
8
  "path": "docs/migration/v0.0-to-v0.1.md",
@@ -14,82 +14,76 @@
14
14
  }
15
15
  },
16
16
  "groups": {
17
- "@donotdev/adv-comps": {
18
- "description": "Advanced components package",
19
- "packages": {
20
- "@donotdev/adv-comps": "^0.0.15"
21
- }
22
- },
23
17
  "@donotdev/auth": {
24
18
  "description": "Authentication package",
25
19
  "packages": {
26
- "@donotdev/auth": "^0.0.11"
20
+ "@donotdev/auth": "^0.0.13"
27
21
  }
28
22
  },
29
23
  "@donotdev/billing": {
30
24
  "description": "Billing package",
31
25
  "packages": {
32
- "@donotdev/billing": "^0.0.10"
26
+ "@donotdev/billing": "^0.0.12"
33
27
  }
34
28
  },
35
29
  "@donotdev/components": {
36
30
  "description": "UI components package",
37
31
  "packages": {
38
- "@donotdev/components": "^0.0.21"
32
+ "@donotdev/components": "^0.0.23"
39
33
  }
40
34
  },
41
35
  "@donotdev/core": {
42
36
  "description": "Core framework package",
43
37
  "packages": {
44
- "@donotdev/core": "^0.0.27"
38
+ "@donotdev/core": "^0.0.29"
45
39
  }
46
40
  },
47
41
  "@donotdev/crud": {
48
42
  "description": "CRUD operations package",
49
43
  "packages": {
50
- "@donotdev/crud": "^0.0.18"
44
+ "@donotdev/crud": "^0.0.20"
51
45
  }
52
46
  },
53
47
  "@donotdev/firebase": {
54
48
  "description": "Firebase provider package",
55
49
  "packages": {
56
- "@donotdev/firebase": "^0.0.14"
50
+ "@donotdev/firebase": "^0.0.15"
57
51
  }
58
52
  },
59
53
  "@donotdev/functions": {
60
54
  "description": "Firebase Functions package",
61
55
  "packages": {
62
- "@donotdev/functions": "^0.0.14"
56
+ "@donotdev/functions": "^0.0.16"
63
57
  }
64
58
  },
65
59
  "@donotdev/oauth": {
66
60
  "description": "OAuth package",
67
61
  "packages": {
68
- "@donotdev/oauth": "^0.0.10"
62
+ "@donotdev/oauth": "^0.0.12"
69
63
  }
70
64
  },
71
65
  "@donotdev/templates": {
72
66
  "description": "Page templates package",
73
67
  "packages": {
74
- "@donotdev/templates": "^0.0.13"
68
+ "@donotdev/templates": "^0.0.15"
75
69
  }
76
70
  },
77
71
  "@donotdev/ui": {
78
72
  "description": "UI and routing package",
79
73
  "packages": {
80
- "@donotdev/ui": "^0.0.17"
74
+ "@donotdev/ui": "^0.0.19"
81
75
  }
82
76
  },
83
77
  "@donotdev/expo": {
84
78
  "description": "Expo/React Native components package",
85
79
  "packages": {
86
- "@donotdev/expo": "^0.0.4"
80
+ "@donotdev/expo": "^0.0.6"
87
81
  }
88
82
  },
89
83
  "@donotdev/supabase": {
90
84
  "description": "Supabase provider package",
91
85
  "packages": {
92
- "@donotdev/supabase": "^0.0.4"
86
+ "@donotdev/supabase": "^0.0.5"
93
87
  }
94
88
  },
95
89
  "supabase-js": {
@@ -101,7 +95,7 @@
101
95
  "supabase-cli": {
102
96
  "description": "Supabase CLI for migrations and edge functions",
103
97
  "packages": {
104
- "supabase": "^2.23.4"
98
+ "supabase": "^2.76.15"
105
99
  }
106
100
  },
107
101
  "provider-firebase": {
@@ -225,10 +219,11 @@
225
219
  }
226
220
  },
227
221
  "fontsource-themes": {
228
- "description": "Theme fonts bundled in @donotdev/ui (Inter, Space Grotesk, Playfair, Roboto)",
222
+ "description": "Theme fonts bundled in @donotdev/ui (Inter, Space Grotesk, Playfair, Press Start 2P, Roboto)",
229
223
  "packages": {
230
224
  "@fontsource/inter": "^5.2.8",
231
225
  "@fontsource/playfair-display": "^5.2.8",
226
+ "@fontsource/press-start-2p": "^5.2.5",
232
227
  "@fontsource/roboto": "^5.2.10",
233
228
  "@fontsource/space-grotesk": "^5.2.10"
234
229
  }
@@ -354,11 +349,12 @@
354
349
  "expo": {
355
350
  "description": "Expo SDK and core dependencies",
356
351
  "packages": {
357
- "expo": "^54.0.0",
358
- "expo-router": "^6.0.0",
359
- "expo-av": "^16.0.0",
360
- "expo-clipboard": "^8.0.0",
361
- "expo-document-picker": "^14.0.0",
352
+ "expo": "^55.0.2",
353
+ "expo-router": "^55.0.2",
354
+ "expo-audio": "^1.1.1",
355
+ "expo-video": "^3.0.16",
356
+ "expo-clipboard": "^55.0.8",
357
+ "expo-document-picker": "^55.0.8",
362
358
  "@expo/vector-icons": "^15.0.0",
363
359
  "@react-native-async-storage/async-storage": "^2.1.0",
364
360
  "@react-native-community/datetimepicker": "^8.0.0",
@@ -424,6 +420,7 @@
424
420
  },
425
421
  "root-consumer-tooling": {
426
422
  "packages": {
423
+ "@donotdev/cli": "latest",
427
424
  "turbo": "^2.8.10",
428
425
  "sharp": "^0.34.5"
429
426
  }
@@ -436,13 +433,13 @@
436
433
  "@donotdev/cli": {
437
434
  "description": "Cli package",
438
435
  "packages": {
439
- "@donotdev/cli": "^0.0.18"
436
+ "@donotdev/cli": "^0.0.20"
440
437
  }
441
438
  },
442
439
  "@donotdev/mcp-server": {
443
440
  "description": "MCP server for component type lookups",
444
441
  "packages": {
445
- "@donotdev/mcp-server": "^0.0.8"
442
+ "@donotdev/mcp-server": "^0.0.10"
446
443
  }
447
444
  },
448
445
  "mcp-sdk": {
@@ -468,7 +465,7 @@
468
465
  "@donotdev/security": {
469
466
  "description": "Security package",
470
467
  "packages": {
471
- "@donotdev/security": "^0.0.4"
468
+ "@donotdev/security": "^0.0.6"
472
469
  }
473
470
  }
474
471
  },
@@ -686,25 +683,8 @@
686
683
  "next"
687
684
  ]
688
685
  },
689
- "@donotdev/adv-comps": {
690
- "peerDependencies": [
691
- "react",
692
- "shiki",
693
- "lucide-react"
694
- ],
695
- "dependencies": [],
696
- "peerDependenciesMeta": {
697
- "shiki": {
698
- "optional": true
699
- },
700
- "lucide-react": {
701
- "optional": true
702
- }
703
- }
704
- },
705
686
  "@donotdev/templates": {
706
687
  "dependencies": [
707
- "@donotdev/adv-comps",
708
688
  "@donotdev/components",
709
689
  "@donotdev/core",
710
690
  "@donotdev/crud",
@@ -788,7 +768,6 @@
788
768
  "dev-vite": {
789
769
  "description": "New vite app in workspace (all packages, all deps, no filtering)",
790
770
  "dependencies": [
791
- "@donotdev/adv-comps",
792
771
  "@donotdev/auth",
793
772
  "@donotdev/billing",
794
773
  "@donotdev/components",
@@ -820,7 +799,6 @@
820
799
  "dev-nextjs": {
821
800
  "description": "New nextjs app in workspace (all packages, all deps, no filtering)",
822
801
  "dependencies": [
823
- "@donotdev/adv-comps",
824
802
  "@donotdev/auth",
825
803
  "@donotdev/billing",
826
804
  "@donotdev/components",
@@ -850,7 +828,6 @@
850
828
  "consumer-root": {
851
829
  "description": "Root package.json for consumer projects",
852
830
  "dependencies": [
853
- "@donotdev/adv-comps",
854
831
  "@donotdev/auth",
855
832
  "@donotdev/billing",
856
833
  "@donotdev/components",
@@ -865,17 +842,18 @@
865
842
  "lucide-react"
866
843
  ],
867
844
  "devDependencies": [
868
- "root-consumer-tooling"
845
+ "root-consumer-tooling",
846
+ "supabase-cli"
869
847
  ],
870
848
  "conditional": {
871
849
  "provider-firebase": "platform===firebase",
872
- "provider-supabase": "platform===supabase"
850
+ "provider-supabase": "platform===supabase",
851
+ "supabase-cli": "platform===supabase"
873
852
  }
874
853
  },
875
854
  "consumer-vite": {
876
855
  "description": "Vite app for consumers (filter inlined packages)",
877
856
  "dependencies": [
878
- "@donotdev/adv-comps",
879
857
  "@donotdev/auth",
880
858
  "@donotdev/billing",
881
859
  "@donotdev/components",
@@ -907,7 +885,6 @@
907
885
  "consumer-nextjs": {
908
886
  "description": "Nextjs app for consumers (filter inlined packages)",
909
887
  "dependencies": [
910
- "@donotdev/adv-comps",
911
888
  "@donotdev/auth",
912
889
  "@donotdev/billing",
913
890
  "@donotdev/components",
@@ -1020,12 +997,22 @@
1020
997
  ]
1021
998
  },
1022
999
  "demo": {
1023
- "description": "Demo app template (components only)",
1000
+ "description": "Demo app template (SaaS reference app)",
1024
1001
  "dependencies": [
1002
+ "@donotdev/auth",
1025
1003
  "@donotdev/components",
1004
+ "@donotdev/core",
1005
+ "@donotdev/crud",
1006
+ "@donotdev/templates",
1007
+ "@donotdev/ui",
1026
1008
  "react",
1009
+ "zustand",
1010
+ "validation",
1027
1011
  "lucide-react",
1028
- "routing"
1012
+ "routing",
1013
+ "i18n",
1014
+ "react-query",
1015
+ "styling"
1029
1016
  ],
1030
1017
  "devDependencies": [
1031
1018
  "postcss",
@@ -8166,7 +8166,7 @@ function getSourceTemplatesPath() {
8166
8166
  return null;
8167
8167
  }
8168
8168
  async function syncFile(sourcePath, destPath, preserveIfExists, appRoot) {
8169
- const destPathWithoutExample = destPath.endsWith(".example") ? destPath.slice(0, -8) : destPath;
8169
+ const destPathWithoutExample = destPath.endsWith(".example") && destPath.length > 8 ? destPath.slice(0, -8) : destPath;
8170
8170
  if (preserveIfExists && pathExists(destPathWithoutExample)) {
8171
8171
  const relativePath = getRelativePathBetween(
8172
8172
  appRoot,
@@ -8559,7 +8559,10 @@ ${majorUpdates.length} major update(s) available (manual review required):`
8559
8559
  }
8560
8560
  for (const [file, packageKeys] of updatedFiles) {
8561
8561
  const pkg = parsePackageJson(file);
8562
- if (!pkg) continue;
8562
+ if (!pkg) {
8563
+ log.warn(`Could not parse ${file} \u2014 skipping updates for this file`);
8564
+ continue;
8565
+ }
8563
8566
  let changed = false;
8564
8567
  for (const packageKey of packageKeys) {
8565
8568
  const [pkgName, field] = packageKey.split(":");