@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
@@ -0,0 +1,273 @@
1
+ # Styling Your App
2
+
3
+ **Guide for:** DoNotDev framework consumers
4
+
5
+ ---
6
+
7
+ ## Quick Start: Zero CSS Required
8
+
9
+ DoNotDev components work out of the box. Just pass props:
10
+
11
+ ```tsx
12
+ import { Card, Button, Section } from '@donotdev/components';
13
+ import { PageContainer } from '@donotdev/ui';
14
+
15
+ <PageContainer>
16
+ <Section gridCols={3}>
17
+ <Card title="Feature 1" content="Description" />
18
+ <Card title="Feature 2" content="Description" />
19
+ <Card title="Feature 3" content="Description" />
20
+ </Section>
21
+ </PageContainer>;
22
+ ```
23
+
24
+ **Result:** Responsive, accessible, themed. No CSS written.
25
+
26
+ ---
27
+
28
+ ## Page Structure (90% of use cases)
29
+
30
+ ```tsx
31
+ <PageContainer>
32
+ <HeroSection title="Title" subtitle="Subtitle" />
33
+
34
+ <Section gridCols={3} title="Features">
35
+ <Card title="Feature 1" />
36
+ <Card title="Feature 2" />
37
+ <Card title="Feature 3" />
38
+ </Section>
39
+
40
+ <CallToAction title="Get Started" primaryAction={<Button>Action</Button>} />
41
+ </PageContainer>
42
+ ```
43
+
44
+ **PageContainer handles:**
45
+
46
+ - Width constraints (`variant`: `full`, `standard`, `narrow`, `text`, `form`, `table`, `dashboard`)
47
+ - Spacing and typography via density system (`density`: `compact`, `standard`, `expressive`)
48
+
49
+ **Section handles:**
50
+
51
+ - Full-width backgrounds (`tone`: `base`, `muted`, `elevated`, `contrast`, `accent`)
52
+ - Grid layout (`gridCols`: `1`, `2`, `3`, `4`)
53
+ - Grid gap (`gridGap`: `none`, `tight`, `medium`, `large`)
54
+
55
+ ---
56
+
57
+ ## Density System
58
+
59
+ Control spacing and typography globally:
60
+
61
+ ```tsx
62
+ <PageContainer density="expressive">
63
+ {/* All components automatically use expressive scale */}
64
+ <HeroSection title="Large Hero" />
65
+ <Section gridCols={3}>
66
+ <Card title="Card" />
67
+ </Section>
68
+ </PageContainer>
69
+ ```
70
+
71
+ **Three densities:**
72
+
73
+ - **compact** - Dense layouts (admin, dashboards) - Minor Third (1.2×)
74
+ - **standard** - DEFAULT, balanced (docs, SaaS) - Major Third (1.25×)
75
+ - **expressive** - Spacious (marketing) - Perfect Fourth (1.333×)
76
+
77
+ All spacing (`--gap-sm/md/lg`) and typography (`--font-size-*`) adjust automatically based on musical scale ratios.
78
+
79
+ ---
80
+
81
+ ## Breakthrough Components
82
+
83
+ Some components break out of PageContainer width constraints to achieve full-width backgrounds:
84
+
85
+ ```tsx
86
+ <PageContainer variant="standard">
87
+ {' '}
88
+ {/* 1480px max */}
89
+ <Section tone="muted" gridCols={3}>
90
+ {/* Section has full-width gray background */}
91
+ {/* But content is constrained to 1480px */}
92
+ <Card title="Card 1" />
93
+ <Card title="Card 2" />
94
+ <Card title="Card 3" />
95
+ </Section>
96
+ <CallToAction
97
+ title="Get Started"
98
+ subtitle="Ready to build?"
99
+ primaryAction={<Button>Start Now</Button>}
100
+ />
101
+ {/* CTA has full-width background, constrained content */}
102
+ </PageContainer>
103
+ ```
104
+
105
+ **Breakthrough components:**
106
+
107
+ - `Section` - Full-width backgrounds with grid layout
108
+ - `HeroSection` - Full-width hero sections
109
+ - `CallToAction` - Full-width conversion sections
110
+
111
+ **Why?** Marketing pages need full-width colored backgrounds while keeping text readable (constrained width).
112
+
113
+ ---
114
+
115
+ ## Overriding Styles
116
+
117
+ ### Via className
118
+
119
+ ```tsx
120
+ // Default styling
121
+ <Card title="Feature" />
122
+
123
+ // Tighter gap
124
+ <Card title="Feature" className="dndev-gap-sm" />
125
+
126
+ // Custom layout
127
+ <div className="dndev-flex dndev-gap-md">
128
+ <Card title="Left" />
129
+ <Card title="Right" />
130
+ </div>
131
+ ```
132
+
133
+ **Available utilities:**
134
+
135
+ - Gap: `dndev-gap-none`, `dndev-gap-sm`, `dndev-gap-md`, `dndev-gap-lg`
136
+ - Layout: `dndev-flex`, `dndev-flex-col`, `dndev-grid`, `dndev-center`
137
+ - Padding: `dndev-p-{none|tight|medium|large}`
138
+
139
+ ### Via Data Attributes
140
+
141
+ **Text Alignment:**
142
+ ```tsx
143
+ <HeroSection data-text-align="center" title="Centered Hero" />
144
+ <CallToAction data-text-align="center" title="Centered CTA" />
145
+ <div data-text-align="end">Right-aligned text</div>
146
+ ```
147
+
148
+ **Universal data attributes:**
149
+ - `data-text-align="start|center|end"` - Text alignment (RTL-aware)
150
+ - `data-gap="none|tight|medium|large"` - Gap spacing
151
+ - `data-radius="none|md|full"` - Border radius
152
+ - `data-cols="1|2|3|4"` - Grid columns (when using grid utilities)
153
+
154
+ **Why data attributes?**
155
+ - DRY: Single CSS rule handles all components
156
+ - No prop conflicts: `align` prop in Stack/Grid is for flex alignment, not text alignment
157
+ - No nesting issues: Each element controls its own styling
158
+ - Works with any element, not just framework components
159
+
160
+ ### Via inline styles
161
+
162
+ ```tsx
163
+ <Button style={{ minWidth: '200px' }}>
164
+ Wide Button
165
+ </Button>
166
+
167
+ <div style={{
168
+ display: 'grid',
169
+ gridTemplateColumns: '2fr 1fr',
170
+ gap: 'var(--gap-md)'
171
+ }}>
172
+ <Card title="Main" />
173
+ <Card title="Sidebar" />
174
+ </div>
175
+ ```
176
+
177
+ ---
178
+
179
+ ## CSS Variables
180
+
181
+ All design tokens available as CSS variables:
182
+
183
+ ```css
184
+ /* Your custom styles */
185
+ .my-component {
186
+ padding: var(--gap-md);
187
+ background: var(--color-surface);
188
+ border-radius: var(--radius-md);
189
+ box-shadow: var(--shadow-md);
190
+ }
191
+ ```
192
+
193
+ **Common variables:**
194
+
195
+ - **Gap:** `--gap-none`, `--gap-sm`, `--gap-md`, `--gap-lg`
196
+ - **Radius:** `--radius-none`, `--radius-md`, `--radius-full`
197
+ - **Shadows:** `--shadow-sm`, `--shadow-md`, `--shadow-lg`, `--shadow-xl`
198
+ - **Colors:** `--color-primary`, `--color-surface`, `--color-text`
199
+
200
+ ---
201
+
202
+ ## Theming
203
+
204
+ Override CSS variables in your `themes.css`:
205
+
206
+ ```css
207
+ [data-theme='custom'] {
208
+ --color-primary: #ff6b6b;
209
+ --gap-md: 1.5rem;
210
+ --radius-md: 1rem;
211
+ }
212
+ ```
213
+
214
+ See [THEMING.md](./THEMING.md) for complete guide.
215
+
216
+ ---
217
+
218
+ ## Advanced: Using Primitives
219
+
220
+ For complex UI, use primitives directly:
221
+
222
+ ```tsx
223
+ import {
224
+ TooltipPrimitive,
225
+ TooltipTriggerPrimitive,
226
+ TooltipContentPrimitive,
227
+ } from '@donotdev/components';
228
+
229
+ <TooltipPrimitive>
230
+ <TooltipTriggerPrimitive asChild>
231
+ <Button>Hover</Button>
232
+ </TooltipTriggerPrimitive>
233
+ <TooltipContentPrimitive>
234
+ <div className="dndev-flex-col dndev-gap-sm">
235
+ <h4>Title</h4>
236
+ <p>Description</p>
237
+ <Button>Action</Button>
238
+ </div>
239
+ </TooltipContentPrimitive>
240
+ </TooltipPrimitive>;
241
+ ```
242
+
243
+ **When to use:**
244
+
245
+ - Simple content → Props-based components
246
+ - Complex/interactive content → Primitives
247
+
248
+ ---
249
+
250
+ ## Styling Approaches (All Valid)
251
+
252
+ The framework is flexible. Use what works:
253
+
254
+ ✅ Utility classes
255
+ ✅ Inline styles
256
+ ✅ CSS modules
257
+ ✅ Tailwind (if you prefer)
258
+ ✅ Styled components
259
+ ✅ Emotion
260
+
261
+ **Build your way.**
262
+
263
+ ---
264
+
265
+ ## Related
266
+
267
+ - [COMPONENTS.md](./COMPONENTS.md) - Component catalog
268
+ - [LAYOUTS.md](./LAYOUTS.md) - Layout patterns
269
+ - [THEMING.md](./THEMING.md) - Theme customization
270
+
271
+ ---
272
+
273
+ **Last Updated:** 2025-12-03
@@ -0,0 +1,119 @@
1
+ # Theming Setup
2
+
3
+ **For AI Agents:** Override `src/themes.css`. CSS variables control everything.
4
+
5
+ ---
6
+
7
+ ## 1. Theme File
8
+
9
+ **Scaffolded:** `src/themes.css` (already imported in your app)
10
+
11
+ ```css
12
+ /* src/themes.css */
13
+ .light {
14
+ --theme-icon: 'Sun';
15
+ --theme-label: 'Light';
16
+ --primary: #3b82f6;
17
+ --background: #ffffff;
18
+ --foreground: #0a0a0a;
19
+ /* ... more variables with JSDoc in scaffolded file */
20
+ }
21
+
22
+ .dark {
23
+ --theme-icon: 'Moon';
24
+ --theme-label: 'Dark';
25
+ --primary: #60a5fa;
26
+ --background: #0a0a0a;
27
+ --foreground: #fafafa;
28
+ }
29
+ ```
30
+
31
+ ---
32
+
33
+ ## 2. Add Custom Theme
34
+
35
+ ```css
36
+ .ocean {
37
+ --theme-icon: 'Waves';
38
+ --theme-label: 'Ocean';
39
+ --primary: #0ea5e9;
40
+ --background: #001a33;
41
+ --foreground: #e0f2fe;
42
+ }
43
+ ```
44
+
45
+ Framework auto-discovers themes. ThemeToggle auto-populated.
46
+
47
+ ---
48
+
49
+ ## 3. Key Variables
50
+
51
+ **Base colors:**
52
+ - `--background` / `--foreground`
53
+ - `--primary` / `--primary-foreground`
54
+ - `--secondary` / `--secondary-foreground`
55
+
56
+ **Containers:**
57
+ - `--card` / `--card-foreground`
58
+ - `--popover` / `--popover-foreground`
59
+
60
+ **Status:**
61
+ - `--destructive`, `--success`, `--warning`
62
+
63
+ **Radius:**
64
+ - `--radius-surface` - Cards (rounded)
65
+ - `--radius-floating` - Dropdowns (square)
66
+ - `--radius-interactive` - Buttons (square)
67
+
68
+ ---
69
+
70
+ ## 4. Using Theme Colors
71
+
72
+ **In CSS:**
73
+ ```css
74
+ .my-component {
75
+ background: var(--background);
76
+ color: var(--foreground);
77
+ }
78
+ ```
79
+
80
+ **In components:**
81
+ All framework components auto-use theme colors.
82
+
83
+ ---
84
+
85
+ ## 5. Theme Switching
86
+
87
+ **Automatic (built-in):**
88
+ ```tsx
89
+ import { ThemeToggle } from '@donotdev/ui';
90
+
91
+ // Auto-included in layout presets
92
+ // Hides if 1 theme, icon if 2, dropdown if 3+
93
+ <ThemeToggle />
94
+ ```
95
+
96
+ **Manual:**
97
+ ```tsx
98
+ import { useThemeStore } from '@donotdev/core';
99
+
100
+ const { theme, setTheme } = useThemeStore();
101
+ setTheme('dark');
102
+ ```
103
+
104
+ ---
105
+
106
+ ## 6. Configuration
107
+
108
+ ```typescript
109
+ // src/config/app.ts
110
+ export const appConfig: AppConfig = {
111
+ theme: {
112
+ defaultTheme: 'light',
113
+ },
114
+ };
115
+ ```
116
+
117
+ ---
118
+
119
+ **Zero config. Infinite themes. Read JSDoc in scaffolded file for all variables.**
@@ -0,0 +1,181 @@
1
+ # Version Control Guide
2
+
3
+ **How to upgrade DoNotDev framework packages in your project**
4
+
5
+ ---
6
+
7
+ ## Quick Start
8
+
9
+ ```bash
10
+ # Check for available updates
11
+ dndev bump --check
12
+
13
+ # Apply safe updates (minor/patch versions)
14
+ dndev bump
15
+
16
+ # Preview changes without applying
17
+ dndev bump --dry-run
18
+ ```
19
+
20
+ ---
21
+
22
+ ## How It Works
23
+
24
+ ### Automatic Updates
25
+
26
+ **Patch versions (0.0.x):**
27
+ - Handled automatically by `bun install`
28
+ - No action needed - `^` ranges allow automatic patch updates
29
+ - Example: `^0.0.2` → `0.0.3`, `0.0.4`, etc.
30
+
31
+ **Minor versions (0.x.y):**
32
+ - Handled automatically by `dndev bump`
33
+ - **RISK FREE:** All changes are backward compatible via deprecation
34
+ - No breaking changes in 0.x.y range
35
+ - Example: `^0.0.2` → `^0.1.0` (auto-updated, safe)
36
+
37
+ ### Manual Validation Required
38
+
39
+ **Major versions (0.*.* → 1.x.y):**
40
+ - `dndev bump` detects major version changes
41
+ - Shows migration guide with breaking changes
42
+ - **You must validate manually** before updating
43
+ - **Only place where breaking changes occur**
44
+ - Example: `^0.1.0` → `^1.0.0` (requires validation)
45
+
46
+ ---
47
+
48
+ ## Upgrade Process
49
+
50
+ ### Step 1: Check for Updates
51
+
52
+ ```bash
53
+ dndev bump --check
54
+ ```
55
+
56
+ This shows:
57
+ - Available updates for `@donotdev/*` packages (from npm)
58
+ - Available updates for external peer dependencies (from matrix)
59
+ - Major version changes (with migration guides)
60
+
61
+ ### Step 2: Review Migration Guides
62
+
63
+ If major version changes are detected:
64
+ - Read the migration guide shown in the output
65
+ - Check for breaking changes that affect your code
66
+ - Review the migration guide file (path shown in output)
67
+
68
+ ### Step 3: Apply Updates
69
+
70
+ ```bash
71
+ # Safe updates (minor/patch) - auto-applied
72
+ dndev bump
73
+
74
+ # Or preview first
75
+ dndev bump --dry-run
76
+ ```
77
+
78
+ **What gets updated:**
79
+ - `@donotdev/*` packages: Updated to latest compatible version
80
+ - External peer dependencies: Updated to matrix versions
81
+ - All `package.json` files in your project
82
+
83
+ ---
84
+
85
+ ## Understanding Version Ranges
86
+
87
+ ### `^` Range (Caret)
88
+
89
+ **What it means:**
90
+ - Allows updates to latest minor/patch version
91
+ - Same major version required
92
+ - Example: `^0.0.2` allows `0.0.2` through `0.0.9`, but not `0.1.0`
93
+
94
+ **Why we use it:**
95
+ - Automatic patch updates via `bun install`
96
+ - Safe minor updates via `dndev bump`
97
+ - Prevents accidental major version updates
98
+
99
+ ### Version Format
100
+
101
+ ```json
102
+ {
103
+ "dependencies": {
104
+ "@donotdev/core": "^0.0.2",
105
+ "react": "^19.2.3"
106
+ }
107
+ }
108
+ ```
109
+
110
+ - `^0.0.2` = allows `0.0.2` to `0.0.x` (patch updates)
111
+ - `^0.1.0` = allows `0.1.0` to `0.x.x` (minor updates)
112
+ - `^1.0.0` = allows `1.0.0` to `1.x.x` (minor updates, not `2.0.0`)
113
+
114
+ ---
115
+
116
+ ## Migration Guides
117
+
118
+ When upgrading major versions, migration guides are provided:
119
+
120
+ **Location:** Shown in `dndev bump` output
121
+
122
+ **Contains:**
123
+ - List of breaking changes
124
+ - Step-by-step migration instructions
125
+ - Code examples for updated APIs
126
+
127
+ **Example:**
128
+ ```
129
+ ⚠️ Major version update detected: @donotdev/core 0.1.0 → 1.0.0
130
+
131
+ Migration guide: docs/migration/v0.1-to-v1.0.md
132
+
133
+ Breaking changes:
134
+ - Removed useAuth() - use useAuthentication() instead
135
+ - Theme API changed - see migration guide
136
+
137
+ Review the migration guide before updating.
138
+ ```
139
+
140
+ ---
141
+
142
+ ## Troubleshooting
143
+
144
+ ### "No updates available"
145
+
146
+ - All packages are up to date
147
+ - Or you're already on latest version
148
+
149
+ ### "Major version change detected"
150
+
151
+ - Review migration guide
152
+ - Check breaking changes
153
+ - Update code if needed
154
+ - Run `dndev bump` again to apply
155
+
156
+ ### "Package not found on npm"
157
+
158
+ - Package may not be published yet
159
+ - Check package name spelling
160
+ - Verify you're using correct registry
161
+
162
+ ---
163
+
164
+ ## Best Practices
165
+
166
+ 1. **Regular updates:** Run `dndev bump --check` monthly
167
+ 2. **Test after updates:** Run your test suite after applying updates
168
+ 3. **Review major changes:** Always read migration guides for major versions
169
+ 4. **Use `--dry-run`:** Preview changes before applying
170
+ 5. **Commit changes:** Commit updated `package.json` files after successful updates
171
+
172
+ ---
173
+
174
+ ## Related
175
+
176
+ - **[Dependency System](../../docs/development/DEPENDENCY_SYSTEM.md)** - How dependency management works
177
+ - **[Architecture Hub](../../docs/architecture/INDEX.md)** - Framework structure
178
+
179
+ ---
180
+
181
+ **Keep your dependencies up to date. Stay secure. Stay compatible.**
@@ -0,0 +1,15 @@
1
+ {
2
+ "extends": "./tsconfig.json",
3
+ "compilerOptions": {
4
+ "module": "NodeNext",
5
+ "moduleResolution": "NodeNext",
6
+ "lib": ["ES2022"],
7
+ "types": ["node"],
8
+ "noEmit": false,
9
+ "outDir": "./functions/lib",
10
+ "rootDir": "./functions/src"
11
+ },
12
+ "include": ["functions/src/**/*", "entities/**/*"],
13
+ "exclude": ["node_modules", "**/node_modules", "**/dist", "**/.next", "**/lib"]
14
+ }
15
+
@@ -0,0 +1,18 @@
1
+ {
2
+ "compilerOptions": {
3
+ "target": "ES2022",
4
+ "module": "preserve",
5
+ "moduleResolution": "bundler",
6
+ "lib": ["ESNext", "DOM", "DOM.Iterable"],
7
+ "strict": true,
8
+ "skipLibCheck": true,
9
+ "esModuleInterop": true,
10
+ "resolveJsonModule": true,
11
+ "isolatedModules": true,
12
+ "jsx": "react-jsx",
13
+ "forceConsistentCasingInFileNames": true
14
+ },
15
+ "include": ["apps/*/tsconfig.json"],
16
+ "exclude": ["node_modules", "**/node_modules", "dist", "**/dist", "**/.next", "**/lib"]
17
+ }
18
+
@@ -0,0 +1,46 @@
1
+ {
2
+ "$schema": "https://turbo.build/schema.json",
3
+ "globalDependencies": [
4
+ "**/.env.*local"
5
+ ],
6
+ "tasks": {
7
+ "build": {
8
+ "dependsOn": [
9
+ "^build"
10
+ ],
11
+ "outputs": [
12
+ "*/dist/**",
13
+ "!**/node_modules/**"
14
+ ]
15
+ },
16
+ "type-check": {
17
+ "dependsOn": [
18
+ "^type-check"
19
+ ],
20
+ "cache": true
21
+ },
22
+ "preview": {
23
+ "dependsOn": ["build"],
24
+ "cache": false,
25
+ "persistent": true
26
+ },
27
+ "test": {
28
+ "dependsOn": [
29
+ "^build"
30
+ ],
31
+ "outputs": [
32
+ "coverage/**"
33
+ ]
34
+ },
35
+ "lint": {
36
+ "outputs": []
37
+ },
38
+ "dev": {
39
+ "cache": false,
40
+ "persistent": true
41
+ },
42
+ "clean": {
43
+ "cache": false
44
+ }
45
+ }
46
+ }