@donotdev/cli 0.0.3

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 (281) hide show
  1. package/LICENSE.md +48 -0
  2. package/README.md +291 -0
  3. package/dependencies-matrix.json +694 -0
  4. package/dist/bin/commands/build.d.ts +11 -0
  5. package/dist/bin/commands/build.d.ts.map +1 -0
  6. package/dist/bin/commands/build.js +8162 -0
  7. package/dist/bin/commands/build.js.map +1 -0
  8. package/dist/bin/commands/bump.d.ts +11 -0
  9. package/dist/bin/commands/bump.d.ts.map +1 -0
  10. package/dist/bin/commands/bump.js +8004 -0
  11. package/dist/bin/commands/bump.js.map +1 -0
  12. package/dist/bin/commands/cacheout.d.ts +11 -0
  13. package/dist/bin/commands/cacheout.d.ts.map +1 -0
  14. package/dist/bin/commands/cacheout.js +7630 -0
  15. package/dist/bin/commands/cacheout.js.map +1 -0
  16. package/dist/bin/commands/create-app.d.ts +11 -0
  17. package/dist/bin/commands/create-app.d.ts.map +1 -0
  18. package/dist/bin/commands/create-app.js +9032 -0
  19. package/dist/bin/commands/create-app.js.map +1 -0
  20. package/dist/bin/commands/create-project.d.ts +11 -0
  21. package/dist/bin/commands/create-project.d.ts.map +1 -0
  22. package/dist/bin/commands/create-project.js +9643 -0
  23. package/dist/bin/commands/create-project.js.map +1 -0
  24. package/dist/bin/commands/deploy.d.ts +11 -0
  25. package/dist/bin/commands/deploy.d.ts.map +1 -0
  26. package/dist/bin/commands/deploy.js +9007 -0
  27. package/dist/bin/commands/deploy.js.map +1 -0
  28. package/dist/bin/commands/dev.d.ts +11 -0
  29. package/dist/bin/commands/dev.d.ts.map +1 -0
  30. package/dist/bin/commands/dev.js +7892 -0
  31. package/dist/bin/commands/dev.js.map +1 -0
  32. package/dist/bin/commands/emu.d.ts +11 -0
  33. package/dist/bin/commands/emu.d.ts.map +1 -0
  34. package/dist/bin/commands/emu.js +8302 -0
  35. package/dist/bin/commands/emu.js.map +1 -0
  36. package/dist/bin/commands/format.d.ts +11 -0
  37. package/dist/bin/commands/format.d.ts.map +1 -0
  38. package/dist/bin/commands/format.js +8009 -0
  39. package/dist/bin/commands/format.js.map +1 -0
  40. package/dist/bin/commands/lint.d.ts +11 -0
  41. package/dist/bin/commands/lint.d.ts.map +1 -0
  42. package/dist/bin/commands/lint.js +7481 -0
  43. package/dist/bin/commands/lint.js.map +1 -0
  44. package/dist/bin/commands/preview.d.ts +11 -0
  45. package/dist/bin/commands/preview.d.ts.map +1 -0
  46. package/dist/bin/commands/preview.js +7909 -0
  47. package/dist/bin/commands/preview.js.map +1 -0
  48. package/dist/bin/commands/sync-secrets.d.ts +11 -0
  49. package/dist/bin/commands/sync-secrets.d.ts.map +1 -0
  50. package/dist/bin/commands/sync-secrets.js +8227 -0
  51. package/dist/bin/commands/sync-secrets.js.map +1 -0
  52. package/dist/bin/dndev.js +222 -0
  53. package/dist/bin/donotdev.js +222 -0
  54. package/dist/index.d.ts +8 -0
  55. package/dist/index.d.ts.map +1 -0
  56. package/dist/index.js +12820 -0
  57. package/dist/index.js.map +1 -0
  58. package/package.json +71 -0
  59. package/templates/app-demo/index.html.example +20 -0
  60. package/templates/app-demo/public/favicon.ico.example +0 -0
  61. package/templates/app-demo/public/fonts/Roboto-400-cyrillic-ext.woff2.example +0 -0
  62. package/templates/app-demo/public/fonts/Roboto-400-cyrillic.woff2.example +0 -0
  63. package/templates/app-demo/public/fonts/Roboto-400-greek-ext.woff2.example +0 -0
  64. package/templates/app-demo/public/fonts/Roboto-400-greek.woff2.example +0 -0
  65. package/templates/app-demo/public/fonts/Roboto-400-latin-ext.woff2.example +0 -0
  66. package/templates/app-demo/public/fonts/Roboto-400-latin.woff2.example +0 -0
  67. package/templates/app-demo/public/fonts/Roboto-400-vietnamese.woff2.example +0 -0
  68. package/templates/app-demo/public/fonts/Roboto-700-cyrillic-ext.woff2.example +0 -0
  69. package/templates/app-demo/public/fonts/Roboto-700-cyrillic.woff2.example +0 -0
  70. package/templates/app-demo/public/fonts/Roboto-700-greek-ext.woff2.example +0 -0
  71. package/templates/app-demo/public/fonts/Roboto-700-greek.woff2.example +0 -0
  72. package/templates/app-demo/public/fonts/Roboto-700-latin-ext.woff2.example +0 -0
  73. package/templates/app-demo/public/fonts/Roboto-700-latin.woff2.example +0 -0
  74. package/templates/app-demo/public/fonts/Roboto-700-vietnamese.woff2.example +0 -0
  75. package/templates/app-demo/public/fonts/fonts.css.example +144 -0
  76. package/templates/app-demo/public/logo.png.example +0 -0
  77. package/templates/app-demo/public/logo.svg.example +1 -0
  78. package/templates/app-demo/public/manifest.json.example +10 -0
  79. package/templates/app-demo/src/App.tsx.example +17 -0
  80. package/templates/app-demo/src/Routes.tsx.example +20 -0
  81. package/templates/app-demo/src/components/ThemeToggle.tsx.example +48 -0
  82. package/templates/app-demo/src/globals.css.example +4 -0
  83. package/templates/app-demo/src/main.tsx.example +27 -0
  84. package/templates/app-demo/src/pages/DetailPage.tsx.example +103 -0
  85. package/templates/app-demo/src/pages/FullPage.tsx.example +142 -0
  86. package/templates/app-demo/src/pages/HomePage.tsx.example +79 -0
  87. package/templates/app-demo/src/pages/components/ComponentRenderer.tsx.example +511 -0
  88. package/templates/app-demo/src/pages/components/ComponentsData.tsx.example +152 -0
  89. package/templates/app-demo/src/pages/components/DemoLayout.tsx.example +266 -0
  90. package/templates/app-demo/src/pages/components/LayoutRoute.tsx.example +20 -0
  91. package/templates/app-demo/src/pages/components/componentConfig.ts.example +921 -0
  92. package/templates/app-demo/src/themes.css.example +179 -0
  93. package/templates/app-demo/tsconfig.json.example +9 -0
  94. package/templates/app-demo/vite.config.ts.example +53 -0
  95. package/templates/app-next/.env.example +92 -0
  96. package/templates/app-next/next.config.ts.example +8 -0
  97. package/templates/app-next/postcss.config.js.example +58 -0
  98. package/templates/app-next/service-account-key.json.example +2 -0
  99. package/templates/app-next/src/app/ClientLayout.tsx.example +39 -0
  100. package/templates/app-next/src/app/layout.tsx.example +52 -0
  101. package/templates/app-next/src/app/not-found.tsx.example +21 -0
  102. package/templates/app-next/src/config/app.ts.example +75 -0
  103. package/templates/app-next/src/config/legal.ts.example +170 -0
  104. package/templates/app-next/src/globals.css.example +15 -0
  105. package/templates/app-next/src/locales/dndev_en.json.example +516 -0
  106. package/templates/app-next/src/pages/HomePage.tsx.example +20 -0
  107. package/templates/app-next/src/pages/legal/LegalNoticePage.tsx.example +75 -0
  108. package/templates/app-next/src/pages/legal/PrivacyPage.tsx.example +69 -0
  109. package/templates/app-next/src/pages/legal/TermsPage.tsx.example +71 -0
  110. package/templates/app-next/src/themes.css.example +179 -0
  111. package/templates/app-next/tsconfig.json.example +11 -0
  112. package/templates/app-payload/.env.example +28 -0
  113. package/templates/app-payload/README.md.example +233 -0
  114. package/templates/app-payload/collections/Company.ts.example +125 -0
  115. package/templates/app-payload/collections/Hero.ts.example +62 -0
  116. package/templates/app-payload/collections/Media.ts.example +41 -0
  117. package/templates/app-payload/collections/Products.ts.example +115 -0
  118. package/templates/app-payload/collections/Services.ts.example +104 -0
  119. package/templates/app-payload/collections/Testimonials.ts.example +92 -0
  120. package/templates/app-payload/collections/Users.ts.example +35 -0
  121. package/templates/app-payload/src/server.ts.example +79 -0
  122. package/templates/app-payload/tsconfig.json.example +24 -0
  123. package/templates/app-vite/.env.example +77 -0
  124. package/templates/app-vite/index.html.example +127 -0
  125. package/templates/app-vite/service-account-key.json.example +2 -0
  126. package/templates/app-vite/src/App.tsx.example +39 -0
  127. package/templates/app-vite/src/Routes.tsx.example +16 -0
  128. package/templates/app-vite/src/config/app.ts.example +75 -0
  129. package/templates/app-vite/src/config/legal.ts.example +170 -0
  130. package/templates/app-vite/src/globals.css.example +11 -0
  131. package/templates/app-vite/src/locales/dndev_en.json.example +516 -0
  132. package/templates/app-vite/src/main.tsx.example +21 -0
  133. package/templates/app-vite/src/pages/HomePage.tsx.example +22 -0
  134. package/templates/app-vite/src/pages/NotFoundPage.tsx.example +33 -0
  135. package/templates/app-vite/src/pages/legal/LegalNoticePage.tsx.example +75 -0
  136. package/templates/app-vite/src/pages/legal/PrivacyPage.tsx.example +69 -0
  137. package/templates/app-vite/src/pages/legal/TermsPage.tsx.example +71 -0
  138. package/templates/app-vite/src/pages/locales/README.md.example +1 -0
  139. package/templates/app-vite/src/pages/locales/example_en.json.example +5 -0
  140. package/templates/app-vite/src/themes.css.example +179 -0
  141. package/templates/app-vite/tsconfig.json.example +9 -0
  142. package/templates/app-vite/vite.config.ts.example +9 -0
  143. package/templates/functions-firebase/README.md.example +129 -0
  144. package/templates/functions-firebase/build.mjs.example +52 -0
  145. package/templates/functions-firebase/functions-firebase/.env.example.example +45 -0
  146. package/templates/functions-firebase/functions-firebase/README.md.example +123 -0
  147. package/templates/functions-firebase/functions-firebase/build.mjs.example +52 -0
  148. package/templates/functions-firebase/functions-firebase/src/auth/getCustomClaims.ts.example +19 -0
  149. package/templates/functions-firebase/functions-firebase/src/auth/getUserAuthStatus.ts.example +21 -0
  150. package/templates/functions-firebase/functions-firebase/src/auth/index.ts.example +11 -0
  151. package/templates/functions-firebase/functions-firebase/src/auth/removeCustomClaims.ts.example +21 -0
  152. package/templates/functions-firebase/functions-firebase/src/auth/setCustomClaims.ts.example +21 -0
  153. package/templates/functions-firebase/functions-firebase/src/billing/handleStripeWebhook.ts.example +24 -0
  154. package/templates/functions-firebase/functions-firebase/src/billing/index.ts.example +10 -0
  155. package/templates/functions-firebase/functions-firebase/src/billing/processPaymentSuccess.ts.example +14 -0
  156. package/templates/functions-firebase/functions-firebase/src/billing/refreshSubscriptionStatus.ts.example +14 -0
  157. package/templates/functions-firebase/functions-firebase/src/crud/createEntity.ts.example +19 -0
  158. package/templates/functions-firebase/functions-firebase/src/crud/deleteEntity.ts.example +14 -0
  159. package/templates/functions-firebase/functions-firebase/src/crud/getEntity.ts.example +14 -0
  160. package/templates/functions-firebase/functions-firebase/src/crud/index.ts.example +12 -0
  161. package/templates/functions-firebase/functions-firebase/src/crud/listEntities.ts.example +14 -0
  162. package/templates/functions-firebase/functions-firebase/src/crud/updateEntity.ts.example +14 -0
  163. package/templates/functions-firebase/functions-firebase/src/index.ts.example +45 -0
  164. package/templates/functions-firebase/functions-firebase/src/oauth/checkGitHubAccess.ts.example +14 -0
  165. package/templates/functions-firebase/functions-firebase/src/oauth/disconnect.ts.example +14 -0
  166. package/templates/functions-firebase/functions-firebase/src/oauth/exchangeToken.ts.example +14 -0
  167. package/templates/functions-firebase/functions-firebase/src/oauth/getConnections.ts.example +14 -0
  168. package/templates/functions-firebase/functions-firebase/src/oauth/grantGitHubAccess.ts.example +14 -0
  169. package/templates/functions-firebase/functions-firebase/src/oauth/index.ts.example +17 -0
  170. package/templates/functions-firebase/functions-firebase/src/oauth/refreshToken.ts.example +14 -0
  171. package/templates/functions-firebase/functions-firebase/src/oauth/revokeGitHubAccess.ts.example +14 -0
  172. package/templates/functions-firebase/functions-firebase/tsconfig.json.example +21 -0
  173. package/templates/functions-firebase/functions.yaml.example +14 -0
  174. package/templates/functions-firebase/src/auth/getCustomClaims.ts.example +19 -0
  175. package/templates/functions-firebase/src/auth/getUserAuthStatus.ts.example +21 -0
  176. package/templates/functions-firebase/src/auth/index.ts.example +11 -0
  177. package/templates/functions-firebase/src/auth/removeCustomClaims.ts.example +21 -0
  178. package/templates/functions-firebase/src/auth/setCustomClaims.ts.example +21 -0
  179. package/templates/functions-firebase/src/billing/handleStripeWebhook.ts.example +24 -0
  180. package/templates/functions-firebase/src/billing/index.ts.example +10 -0
  181. package/templates/functions-firebase/src/billing/processPaymentSuccess.ts.example +14 -0
  182. package/templates/functions-firebase/src/billing/refreshSubscriptionStatus.ts.example +14 -0
  183. package/templates/functions-firebase/src/crud/createEntity.ts.example +19 -0
  184. package/templates/functions-firebase/src/crud/deleteEntity.ts.example +14 -0
  185. package/templates/functions-firebase/src/crud/getEntity.ts.example +14 -0
  186. package/templates/functions-firebase/src/crud/index.ts.example +12 -0
  187. package/templates/functions-firebase/src/crud/listEntities.ts.example +14 -0
  188. package/templates/functions-firebase/src/crud/updateEntity.ts.example +14 -0
  189. package/templates/functions-firebase/src/index.ts.example +45 -0
  190. package/templates/functions-firebase/src/oauth/checkGitHubAccess.ts.example +14 -0
  191. package/templates/functions-firebase/src/oauth/disconnect.ts.example +14 -0
  192. package/templates/functions-firebase/src/oauth/exchangeToken.ts.example +14 -0
  193. package/templates/functions-firebase/src/oauth/getConnections.ts.example +14 -0
  194. package/templates/functions-firebase/src/oauth/grantGitHubAccess.ts.example +14 -0
  195. package/templates/functions-firebase/src/oauth/index.ts.example +17 -0
  196. package/templates/functions-firebase/src/oauth/refreshToken.ts.example +14 -0
  197. package/templates/functions-firebase/src/oauth/revokeGitHubAccess.ts.example +14 -0
  198. package/templates/functions-firebase/tsconfig.json.example +24 -0
  199. package/templates/functions-vercel/README.md.example +116 -0
  200. package/templates/functions-vercel/build.mjs.example +52 -0
  201. package/templates/functions-vercel/functions-vercel/.env.example.example +37 -0
  202. package/templates/functions-vercel/functions-vercel/README.md.example +116 -0
  203. package/templates/functions-vercel/functions-vercel/build.mjs.example +52 -0
  204. package/templates/functions-vercel/functions-vercel/src/api/auth/getCustomClaims.ts.example +20 -0
  205. package/templates/functions-vercel/functions-vercel/src/api/auth/getUserAuthStatus.ts.example +20 -0
  206. package/templates/functions-vercel/functions-vercel/src/api/auth/removeCustomClaims.ts.example +20 -0
  207. package/templates/functions-vercel/functions-vercel/src/api/auth/setCustomClaims.ts.example +20 -0
  208. package/templates/functions-vercel/functions-vercel/src/api/billing/handleStripeWebhook.ts.example +20 -0
  209. package/templates/functions-vercel/functions-vercel/src/api/billing/processPaymentSuccess.ts.example +20 -0
  210. package/templates/functions-vercel/functions-vercel/src/api/billing/refreshSubscriptionStatus.ts.example +20 -0
  211. package/templates/functions-vercel/functions-vercel/src/api/crud/createEntity.ts.example +20 -0
  212. package/templates/functions-vercel/functions-vercel/src/api/crud/deleteEntity.ts.example +20 -0
  213. package/templates/functions-vercel/functions-vercel/src/api/crud/getEntity.ts.example +20 -0
  214. package/templates/functions-vercel/functions-vercel/src/api/crud/listEntities.ts.example +20 -0
  215. package/templates/functions-vercel/functions-vercel/src/api/crud/updateEntity.ts.example +20 -0
  216. package/templates/functions-vercel/functions-vercel/src/api/oauth/checkGitHubAccess.ts.example +20 -0
  217. package/templates/functions-vercel/functions-vercel/src/api/oauth/disconnect.ts.example +20 -0
  218. package/templates/functions-vercel/functions-vercel/src/api/oauth/exchangeToken.ts.example +20 -0
  219. package/templates/functions-vercel/functions-vercel/src/api/oauth/getConnections.ts.example +20 -0
  220. package/templates/functions-vercel/functions-vercel/src/api/oauth/grantGitHubAccess.ts.example +20 -0
  221. package/templates/functions-vercel/functions-vercel/src/api/oauth/refreshToken.ts.example +20 -0
  222. package/templates/functions-vercel/functions-vercel/src/api/oauth/revokeGitHubAccess.ts.example +20 -0
  223. package/templates/functions-vercel/functions-vercel/tsconfig.json.example +21 -0
  224. package/templates/functions-vercel/functions-vercel/vercel.json.example +14 -0
  225. package/templates/functions-vercel/src/api/auth/getCustomClaims.ts.example +20 -0
  226. package/templates/functions-vercel/src/api/auth/getUserAuthStatus.ts.example +20 -0
  227. package/templates/functions-vercel/src/api/auth/removeCustomClaims.ts.example +20 -0
  228. package/templates/functions-vercel/src/api/auth/setCustomClaims.ts.example +20 -0
  229. package/templates/functions-vercel/src/api/billing/handleStripeWebhook.ts.example +20 -0
  230. package/templates/functions-vercel/src/api/billing/processPaymentSuccess.ts.example +20 -0
  231. package/templates/functions-vercel/src/api/billing/refreshSubscriptionStatus.ts.example +20 -0
  232. package/templates/functions-vercel/src/api/crud/createEntity.ts.example +20 -0
  233. package/templates/functions-vercel/src/api/crud/deleteEntity.ts.example +20 -0
  234. package/templates/functions-vercel/src/api/crud/getEntity.ts.example +20 -0
  235. package/templates/functions-vercel/src/api/crud/listEntities.ts.example +20 -0
  236. package/templates/functions-vercel/src/api/crud/updateEntity.ts.example +20 -0
  237. package/templates/functions-vercel/src/api/oauth/checkGitHubAccess.ts.example +20 -0
  238. package/templates/functions-vercel/src/api/oauth/disconnect.ts.example +20 -0
  239. package/templates/functions-vercel/src/api/oauth/exchangeToken.ts.example +20 -0
  240. package/templates/functions-vercel/src/api/oauth/getConnections.ts.example +20 -0
  241. package/templates/functions-vercel/src/api/oauth/grantGitHubAccess.ts.example +20 -0
  242. package/templates/functions-vercel/src/api/oauth/refreshToken.ts.example +20 -0
  243. package/templates/functions-vercel/src/api/oauth/revokeGitHubAccess.ts.example +20 -0
  244. package/templates/functions-vercel/tsconfig.json.example +24 -0
  245. package/templates/functions-vercel/vercel.json.example +14 -0
  246. package/templates/github/github/workflows/firebase-deploy.yml.example +79 -0
  247. package/templates/github/workflows/firebase-deploy.yml.example +79 -0
  248. package/templates/root-consumer/.env.example +19 -0
  249. package/templates/root-consumer/.gitignore.example +82 -0
  250. package/templates/root-consumer/.prettierrc.cjs.example +12 -0
  251. package/templates/root-consumer/CLAUDE.md.example +73 -0
  252. package/templates/root-consumer/README.md.example +295 -0
  253. package/templates/root-consumer/bunfig.toml.example +68 -0
  254. package/templates/root-consumer/eslint.config.js.example +336 -0
  255. package/templates/root-consumer/firebase.json.example +348 -0
  256. package/templates/root-consumer/guides/AGENT_START_HERE.md.example +98 -0
  257. package/templates/root-consumer/guides/APP_CHECK_SETUP.md.example +111 -0
  258. package/templates/root-consumer/guides/AUTH_SETUP.md.example +92 -0
  259. package/templates/root-consumer/guides/BILLING_SETUP.md.example +120 -0
  260. package/templates/root-consumer/guides/CLI.md.example +293 -0
  261. package/templates/root-consumer/guides/COMPONENTS.md.example +875 -0
  262. package/templates/root-consumer/guides/CONFIG_SETUP.md.example +132 -0
  263. package/templates/root-consumer/guides/EMULATOR_SETUP.md.example +48 -0
  264. package/templates/root-consumer/guides/FEATURES.md.example +286 -0
  265. package/templates/root-consumer/guides/FRAMEWORK_OVERVIEW.md.example +97 -0
  266. package/templates/root-consumer/guides/FUNCTIONS.md.example +177 -0
  267. package/templates/root-consumer/guides/GETTING_STARTED.md.example +451 -0
  268. package/templates/root-consumer/guides/HOW_TO_USE.md.example +296 -0
  269. package/templates/root-consumer/guides/I18N_SETUP.md.example +204 -0
  270. package/templates/root-consumer/guides/IMPORT_PATTERNS.md.example +79 -0
  271. package/templates/root-consumer/guides/INDEX.md.example +50 -0
  272. package/templates/root-consumer/guides/INSTALLATION.md.example +296 -0
  273. package/templates/root-consumer/guides/LAYOUTS.md.example +310 -0
  274. package/templates/root-consumer/guides/PAGES_SETUP.md.example +123 -0
  275. package/templates/root-consumer/guides/STYLING.md.example +273 -0
  276. package/templates/root-consumer/guides/THEMING_SETUP.md.example +119 -0
  277. package/templates/root-consumer/guides/VERSION_CONTROL.md.example +181 -0
  278. package/templates/root-consumer/tsconfig.functions.json.example +15 -0
  279. package/templates/root-consumer/tsconfig.json.example +18 -0
  280. package/templates/root-consumer/turbo.json.example +46 -0
  281. package/templates/root-consumer/vercel.json.example +124 -0
package/LICENSE.md ADDED
@@ -0,0 +1,48 @@
1
+ # DoNotDev Free License
2
+
3
+ Copyright (c) 2025 Ambroise Park Consulting. All rights reserved.
4
+
5
+ **Permissive Use License - No Commercial Restrictions**
6
+
7
+ ---
8
+
9
+ ## LICENSE GRANT
10
+
11
+ Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), specifically the @donotdev/cli package, to download, install, and use the Software in your applications for any purpose, including commercial use, subject to the following restrictions:
12
+
13
+ ## WHAT YOU CAN DO
14
+
15
+ ✅ Download and install @donotdev/cli
16
+ ✅ Use @donotdev/cli in your applications (commercial or non-commercial)
17
+ ✅ Integrate @donotdev/cli into your projects
18
+
19
+ ## WHAT YOU CANNOT DO
20
+
21
+ ❌ Fork, copy, or redistribute @donotdev/cli as a standalone package
22
+ ❌ Resell or sublicense @donotdev/cli
23
+ ❌ Remove or alter copyright notices
24
+ ❌ Claim ownership of @donotdev/cli
25
+ ❌ Create derivative works that compete with or replace @donotdev/cli
26
+
27
+ ## WARRANTY DISCLAIMER
28
+
29
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
30
+
31
+ ## LIMITATION OF LIABILITY
32
+
33
+ IN NO EVENT SHALL AMBROISE PARK CONSULTING BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
34
+
35
+ ## NO SUPPORT OBLIGATION
36
+
37
+ The licensor has no obligation to provide support, updates, or maintenance for @donotdev/cli. Any support provided is at the sole discretion of the licensor and may be discontinued at any time without notice.
38
+
39
+ ## CONTACT
40
+
41
+ For questions about this license:
42
+ **mooti.web.app@gmail.com**
43
+
44
+ ---
45
+
46
+ **DoNotDev Free License v1.0**
47
+ Ambroise Park Consulting - 2025
48
+
package/README.md ADDED
@@ -0,0 +1,291 @@
1
+ # @donotdev/cli
2
+
3
+ Command-line interface for the DoNotDev Framework - scaffold projects, manage deployments, and maintain code quality.
4
+
5
+ ## Installation
6
+
7
+ ### Global Installation (Recommended for consumers)
8
+
9
+ ```bash
10
+ npm install -g @donotdev/cli
11
+ # or
12
+ bun install -g @donotdev/cli
13
+ ```
14
+
15
+ ### Project-local Installation
16
+
17
+ ```bash
18
+ npm install --save-dev @donotdev/cli
19
+ # or
20
+ bun add -d @donotdev/cli
21
+ ```
22
+
23
+ ## License
24
+
25
+ This package requires a DoNotDev Framework license. Applications will display a watermark without a valid license key.
26
+
27
+ **View pricing:** [donotdev.com/pricing](https://donotdev.com/pricing)
28
+ **Purchase license:** [donotdev.com/purchase](https://donotdev.com/purchase)
29
+
30
+ **Configure your license key:**
31
+
32
+ ```bash
33
+ # In .env file (Vite projects)
34
+ VITE_DONOTDEV_LICENSE_KEY=dndev_your_key_here
35
+
36
+ # In .env file (Next.js projects)
37
+ NEXT_PUBLIC_DONOTDEV_LICENSE_KEY=dndev_your_key_here
38
+
39
+ # Or in code (before framework initialization)
40
+ globalThis.__DONOTDEV_LICENSE_KEY__ = 'dndev_your_key_here';
41
+ ```
42
+
43
+ For detailed setup instructions, see [License Key Setup Guide](../../docs/guides/LICENSE_KEY_SETUP.md).
44
+
45
+ ## Usage
46
+
47
+ ```bash
48
+ dndev <command> [options]
49
+ ```
50
+
51
+ ## Commands
52
+
53
+ ### `dndev init [name]`
54
+
55
+ Create a new DoNotDev project. Alias for `create-project`.
56
+
57
+ ```bash
58
+ dndev init my-app
59
+ ```
60
+
61
+ Scaffolds a complete project with:
62
+
63
+ - Monorepo structure (Turbo)
64
+ - Vite or Next.js apps
65
+ - Framework packages configured
66
+ - CLAUDE.md for AI-assisted development
67
+ - Ready-to-use auth, billing, i18n features
68
+
69
+ **Options:**
70
+
71
+ - Interactive prompts guide you through setup
72
+ - Choose Vite or Next.js
73
+ - Configure features (auth, billing, OAuth)
74
+ - Select deployment platform (Firebase, Vercel, both)
75
+
76
+ ### `dndev create-project [name]`
77
+
78
+ Full form of `init`. Creates a new DoNotDev project.
79
+
80
+ ```bash
81
+ dndev create-project my-saas-app
82
+ ```
83
+
84
+ ### `dndev create-app [name]`
85
+
86
+ Add a new app to an existing project.
87
+
88
+ ```bash
89
+ cd my-project
90
+ dndev create-app admin-panel
91
+ ```
92
+
93
+ **Options:**
94
+
95
+ - Choose app type (Vite or Next.js)
96
+ - Configure routing
97
+ - Set up i18n
98
+ - Enable features per app
99
+
100
+ ### `dndev deploy`
101
+
102
+ Deploy your application to Firebase or Vercel.
103
+
104
+ ```bash
105
+ dndev deploy
106
+ ```
107
+
108
+ **Features:**
109
+
110
+ - Auto-detects deployment platform
111
+ - Validates service accounts (Firebase)
112
+ - Deploys functions and hosting
113
+ - Handles package.json dependencies
114
+ - Creates backups before deployment
115
+ - Rollback support on failure
116
+
117
+ **Options:**
118
+
119
+ - `--project <id>` - Specify Firebase project
120
+ - `--only functions` - Deploy only functions
121
+ - `--only hosting` - Deploy only hosting
122
+ - `--dry-run` - Show what would be deployed
123
+
124
+ ### `dndev sync-secrets`
125
+
126
+ Sync environment variables from `.env` to Firebase Functions or Vercel.
127
+
128
+ ```bash
129
+ dndev sync-secrets
130
+ ```
131
+
132
+ **Features:**
133
+
134
+ - Parses `.env` files
135
+ - Filters public vars (VITE*\*, NEXT_PUBLIC*\*)
136
+ - Skips Firebase reserved prefixes
137
+ - Supports both Firebase and Vercel
138
+ - Cross-platform secret input
139
+
140
+ **Options:**
141
+
142
+ - `--env-file <path>` - Path to .env file (default: .env)
143
+ - `--platform <platform>` - Target platform: firebase or vercel
144
+ - `--project <id>` - Firebase project ID
145
+ - `--vercel-project <id>` - Vercel project ID
146
+ - `--dry-run` - Show what would be synced
147
+ - `--verbose` - Detailed output
148
+
149
+ **Examples:**
150
+
151
+ ```bash
152
+ dndev sync-secrets --platform=firebase
153
+ dndev sync-secrets --env-file .env.production --project my-firebase-project
154
+ dndev sync-secrets --platform=vercel --vercel-project my-vercel-app
155
+ dndev sync-secrets --dry-run
156
+ ```
157
+
158
+ ### `dndev format [files]`
159
+
160
+ Format code using framework's ESLint and Prettier configurations.
161
+
162
+ ```bash
163
+ dndev format
164
+ dndev format src/**/*.ts
165
+ ```
166
+
167
+ **Features:**
168
+
169
+ - Uses @donotdev/core ESLint rules
170
+ - Auto-fixes violations
171
+ - Enforces framework conventions
172
+ - Import order sorting
173
+ - Type safety checks
174
+
175
+ **Setup:**
176
+ Create `eslint.config.js` in your project:
177
+
178
+ ```javascript
179
+ import dndevConfig from '@donotdev/core/eslint';
180
+
181
+ export default [
182
+ ...dndevConfig,
183
+ // Your custom rules
184
+ ];
185
+ ```
186
+
187
+ ### `dndev clean`
188
+
189
+ Remove build artifacts and caches.
190
+
191
+ ```bash
192
+ dndev clean
193
+ dndev clean --cache
194
+ dndev clean --all
195
+ ```
196
+
197
+ **Options:**
198
+
199
+ - `--cache` - Also remove .turbo, .next, .vite caches
200
+ - `--all` - Also remove node_modules and lock files
201
+
202
+ **What gets cleaned:**
203
+
204
+ - Always: `dist/` directories
205
+ - `--cache`: `.turbo/`, `.next/`, `.vite/`, `tsconfig.tsbuildinfo`
206
+ - `--all`: `node_modules/`, lock files (package-lock.json, yarn.lock, bun.lockb)
207
+
208
+ ## Programmatic Usage
209
+
210
+ You can also use CLI commands programmatically:
211
+
212
+ ```typescript
213
+ import { createProject, createApp } from '@donotdev/cli';
214
+
215
+ await createProject('my-app', {
216
+ type: 'vite',
217
+ features: ['auth', 'billing'],
218
+ deployment: 'firebase',
219
+ });
220
+
221
+ await createApp('admin-panel', {
222
+ type: 'nextjs',
223
+ });
224
+ ```
225
+
226
+ ## Development Mode vs Consumer Mode
227
+
228
+ The CLI automatically detects execution context:
229
+
230
+ **Consumer Mode** (default when installed from npm):
231
+
232
+ - Creates projects in current directory
233
+ - Uses published @donotdev/\* packages
234
+ - Includes CLAUDE.md for AI assistance
235
+ - Standard npm dependency resolution
236
+
237
+ **Development Mode** (when run in dndev monorepo):
238
+
239
+ - Creates projects adjacent to monorepo
240
+ - Uses workspace:\* dependencies
241
+ - Links to local framework packages
242
+
243
+ ## Architecture
244
+
245
+ ```
246
+ packages/cli/
247
+ ├── src/
248
+ │ ├── bin/
249
+ │ │ └── dndev.mjs # CLI entry point
250
+ │ ├── commands/
251
+ │ │ ├── init.ts # Alias for create-project
252
+ │ │ ├── create-project.ts # Project scaffolding
253
+ │ │ ├── create-app.ts # App creation
254
+ │ │ ├── deploy.ts # Deployment automation
255
+ │ │ ├── sync-secrets.ts # Secret management
256
+ │ │ ├── format.ts # Code formatting
257
+ │ │ └── clean.ts # Cleanup utilities
258
+ │ ├── utils/
259
+ │ │ ├── pathResolver.ts # Cross-platform paths
260
+ │ │ ├── logger.ts # Colored output
261
+ │ │ └── errors.ts # Error handling
262
+ │ └── index.ts # Programmatic API
263
+ ├── templates/ # Scaffolding templates
264
+ ├── configs/ # Bundled configs
265
+ └── package.json
266
+ ```
267
+
268
+ ## Requirements
269
+
270
+ - Node.js >= 18
271
+ - Bun >= 1.0 (recommended) or npm
272
+ - Git (for project initialization)
273
+
274
+ For deployment:
275
+
276
+ - Firebase CLI (for Firebase deployment)
277
+ - Vercel CLI (for Vercel deployment)
278
+
279
+ ## License
280
+
281
+ MIT
282
+
283
+ ## Links
284
+
285
+ - [DoNotDev Framework](https://donotdev.com)
286
+ - [Documentation](https://github.com/rodolpheapc/dndev/tree/main/docs)
287
+ - [GitHub](https://github.com/rodolpheapc/dndev)
288
+
289
+ ---
290
+
291
+ Built by AMBROISE PARK Consulting