@idealyst/cli 1.1.9 → 1.2.1

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 (324) hide show
  1. package/dist/commands/add.js +233 -0
  2. package/dist/commands/add.js.map +1 -0
  3. package/dist/commands/index.js +13 -0
  4. package/dist/commands/index.js.map +1 -0
  5. package/dist/commands/info.js +193 -0
  6. package/dist/commands/info.js.map +1 -0
  7. package/dist/commands/init.js +155 -0
  8. package/dist/commands/init.js.map +1 -0
  9. package/dist/constants.js +119 -0
  10. package/dist/constants.js.map +1 -0
  11. package/dist/generators/core/index.js +23 -0
  12. package/dist/generators/core/index.js.map +1 -0
  13. package/dist/generators/core/mobile.js +286 -0
  14. package/dist/generators/core/mobile.js.map +1 -0
  15. package/dist/generators/core/shared.js +207 -0
  16. package/dist/generators/core/shared.js.map +1 -0
  17. package/dist/generators/core/web.js +377 -0
  18. package/dist/generators/core/web.js.map +1 -0
  19. package/dist/generators/extensions/api.js +223 -0
  20. package/dist/generators/extensions/api.js.map +1 -0
  21. package/dist/generators/extensions/devcontainer.js +510 -0
  22. package/dist/generators/extensions/devcontainer.js.map +1 -0
  23. package/dist/generators/extensions/graphql.js +202 -0
  24. package/dist/generators/extensions/graphql.js.map +1 -0
  25. package/dist/generators/extensions/index.js +17 -0
  26. package/dist/generators/extensions/index.js.map +1 -0
  27. package/dist/generators/extensions/prisma.js +249 -0
  28. package/dist/generators/extensions/prisma.js.map +1 -0
  29. package/dist/generators/extensions/trpc.js +258 -0
  30. package/dist/generators/extensions/trpc.js.map +1 -0
  31. package/dist/generators/index.js +106 -4
  32. package/dist/generators/index.js.map +1 -1
  33. package/dist/generators/reactNative.js +177 -0
  34. package/dist/generators/reactNative.js.map +1 -0
  35. package/dist/generators/workspace.js +272 -0
  36. package/dist/generators/workspace.js.map +1 -0
  37. package/dist/identifiers/android.js +75 -0
  38. package/dist/identifiers/android.js.map +1 -0
  39. package/dist/identifiers/index.js +35 -0
  40. package/dist/identifiers/index.js.map +1 -0
  41. package/dist/identifiers/ios.js +65 -0
  42. package/dist/identifiers/ios.js.map +1 -0
  43. package/dist/index.js +41 -319
  44. package/dist/index.js.map +1 -1
  45. package/dist/templates/copier.js +135 -0
  46. package/dist/templates/copier.js.map +1 -0
  47. package/dist/templates/index.js +23 -0
  48. package/dist/templates/index.js.map +1 -0
  49. package/dist/templates/merger.js +113 -0
  50. package/dist/templates/merger.js.map +1 -0
  51. package/dist/templates/processor.js +142 -0
  52. package/dist/templates/processor.js.map +1 -0
  53. package/dist/types/commands/add.d.ts +14 -0
  54. package/dist/types/commands/index.d.ts +6 -0
  55. package/dist/types/commands/info.d.ts +10 -0
  56. package/dist/types/commands/init.d.ts +19 -0
  57. package/dist/types/constants.d.ts +76 -0
  58. package/dist/types/generators/core/index.d.ts +6 -0
  59. package/dist/types/generators/core/mobile.d.ts +13 -0
  60. package/dist/types/generators/core/shared.d.ts +8 -0
  61. package/dist/types/generators/core/web.d.ts +8 -0
  62. package/dist/types/generators/extensions/api.d.ts +8 -0
  63. package/dist/types/generators/extensions/devcontainer.d.ts +15 -0
  64. package/dist/types/generators/extensions/graphql.d.ts +8 -0
  65. package/dist/types/generators/extensions/index.d.ts +8 -0
  66. package/dist/types/generators/extensions/prisma.d.ts +8 -0
  67. package/dist/types/generators/extensions/trpc.d.ts +9 -0
  68. package/dist/types/generators/index.d.ts +11 -3
  69. package/dist/types/generators/reactNative.d.ts +19 -0
  70. package/dist/types/generators/workspace.d.ts +8 -0
  71. package/dist/types/identifiers/android.d.ts +26 -0
  72. package/dist/types/identifiers/index.d.ts +26 -0
  73. package/dist/types/identifiers/ios.d.ts +21 -0
  74. package/dist/types/index.d.ts +3 -0
  75. package/dist/types/templates/copier.d.ts +24 -0
  76. package/dist/types/templates/index.d.ts +6 -0
  77. package/dist/types/templates/merger.d.ts +43 -0
  78. package/dist/types/templates/processor.d.ts +39 -0
  79. package/dist/types/types.d.ts +153 -5
  80. package/dist/types/utils/filesystem.d.ts +56 -0
  81. package/dist/types/utils/index.d.ts +7 -0
  82. package/dist/types/utils/logger.d.ts +58 -0
  83. package/dist/types/utils/shell.d.ts +35 -0
  84. package/dist/types/utils/validation.d.ts +32 -0
  85. package/dist/types/wizard/index.d.ts +20 -0
  86. package/dist/types/wizard/steps/apiExtension.d.ts +5 -0
  87. package/dist/types/wizard/steps/appDisplayName.d.ts +5 -0
  88. package/dist/types/wizard/steps/devcontainerExtension.d.ts +5 -0
  89. package/dist/types/wizard/steps/graphqlExtension.d.ts +5 -0
  90. package/dist/types/wizard/steps/index.d.ts +12 -0
  91. package/dist/types/wizard/steps/orgDomain.d.ts +5 -0
  92. package/dist/types/wizard/steps/prismaExtension.d.ts +5 -0
  93. package/dist/types/wizard/steps/projectName.d.ts +5 -0
  94. package/dist/types/wizard/steps/summary.d.ts +5 -0
  95. package/dist/types/wizard/steps/trpcExtension.d.ts +5 -0
  96. package/dist/types/wizard/validators.d.ts +17 -0
  97. package/dist/types.js +41 -0
  98. package/dist/types.js.map +1 -1
  99. package/dist/utils/filesystem.js +173 -0
  100. package/dist/utils/filesystem.js.map +1 -0
  101. package/dist/utils/index.js +24 -0
  102. package/dist/utils/index.js.map +1 -0
  103. package/dist/utils/logger.js +95 -0
  104. package/dist/utils/logger.js.map +1 -0
  105. package/dist/utils/shell.js +113 -0
  106. package/dist/utils/shell.js.map +1 -0
  107. package/dist/utils/validation.js +196 -0
  108. package/dist/utils/validation.js.map +1 -0
  109. package/dist/wizard/index.js +177 -0
  110. package/dist/wizard/index.js.map +1 -0
  111. package/dist/wizard/steps/apiExtension.js +33 -0
  112. package/dist/wizard/steps/apiExtension.js.map +1 -0
  113. package/dist/wizard/steps/appDisplayName.js +53 -0
  114. package/dist/wizard/steps/appDisplayName.js.map +1 -0
  115. package/dist/wizard/steps/devcontainerExtension.js +78 -0
  116. package/dist/wizard/steps/devcontainerExtension.js.map +1 -0
  117. package/dist/wizard/steps/graphqlExtension.js +37 -0
  118. package/dist/wizard/steps/graphqlExtension.js.map +1 -0
  119. package/dist/wizard/steps/index.js +25 -0
  120. package/dist/wizard/steps/index.js.map +1 -0
  121. package/dist/wizard/steps/orgDomain.js +40 -0
  122. package/dist/wizard/steps/orgDomain.js.map +1 -0
  123. package/dist/wizard/steps/prismaExtension.js +33 -0
  124. package/dist/wizard/steps/prismaExtension.js.map +1 -0
  125. package/dist/wizard/steps/projectName.js +40 -0
  126. package/dist/wizard/steps/projectName.js.map +1 -0
  127. package/dist/wizard/steps/summary.js +107 -0
  128. package/dist/wizard/steps/summary.js.map +1 -0
  129. package/dist/wizard/steps/trpcExtension.js +37 -0
  130. package/dist/wizard/steps/trpcExtension.js.map +1 -0
  131. package/dist/wizard/validators.js +35 -0
  132. package/dist/wizard/validators.js.map +1 -0
  133. package/package.json +6 -19
  134. package/README.md +0 -110
  135. package/dist/generators/init.js +0 -268
  136. package/dist/generators/init.js.map +0 -1
  137. package/dist/generators/utils.js +0 -682
  138. package/dist/generators/utils.js.map +0 -1
  139. package/dist/scripts/configure-react-native-monorepo.js +0 -144
  140. package/dist/scripts/configure-react-native-monorepo.js.map +0 -1
  141. package/dist/template/.devcontainer/Dockerfile +0 -26
  142. package/dist/template/.devcontainer/devcontainer.json +0 -113
  143. package/dist/template/.devcontainer/docker-compose.yml +0 -59
  144. package/dist/template/.devcontainer/figma-mcp.sh +0 -32
  145. package/dist/template/.devcontainer/gitignore.template +0 -2
  146. package/dist/template/.devcontainer/setup.sh +0 -45
  147. package/dist/template/DOCKER.md +0 -0
  148. package/dist/template/Dockerfile +0 -111
  149. package/dist/template/README.md +0 -233
  150. package/dist/template/docker/nginx/prod.conf +0 -238
  151. package/dist/template/docker/nginx.conf +0 -131
  152. package/dist/template/docker/postgres/init.sql +0 -41
  153. package/dist/template/docker/prometheus/prometheus.yml +0 -52
  154. package/dist/template/docker-compose.prod.yml +0 -146
  155. package/dist/template/docker-compose.yml +0 -143
  156. package/dist/template/dockerignore.template +0 -151
  157. package/dist/template/env.example.template +0 -36
  158. package/dist/template/gitignore.template +0 -56
  159. package/dist/template/jest.config.js +0 -20
  160. package/dist/template/mcp.json.template +0 -8
  161. package/dist/template/package.json +0 -45
  162. package/dist/template/packages/api/README.md +0 -510
  163. package/dist/template/packages/api/__tests__/api.test.ts +0 -26
  164. package/dist/template/packages/api/env.example.template +0 -6
  165. package/dist/template/packages/api/gitignore.template +0 -35
  166. package/dist/template/packages/api/jest.config.js +0 -23
  167. package/dist/template/packages/api/jest.setup.js +0 -9
  168. package/dist/template/packages/api/package.json +0 -66
  169. package/dist/template/packages/api/src/context.ts +0 -52
  170. package/dist/template/packages/api/src/controllers/TestController.ts +0 -0
  171. package/dist/template/packages/api/src/graphql/builder.ts +0 -75
  172. package/dist/template/packages/api/src/graphql/generated.ts +0 -64
  173. package/dist/template/packages/api/src/graphql/index.ts +0 -75
  174. package/dist/template/packages/api/src/graphql/types/index.ts +0 -44
  175. package/dist/template/packages/api/src/graphql/types/test.ts +0 -245
  176. package/dist/template/packages/api/src/index.ts +0 -26
  177. package/dist/template/packages/api/src/lib/database.ts +0 -23
  178. package/dist/template/packages/api/src/router/index.ts +0 -163
  179. package/dist/template/packages/api/src/routers/test.ts +0 -161
  180. package/dist/template/packages/api/src/server.ts +0 -68
  181. package/dist/template/packages/api/src/trpc.ts +0 -28
  182. package/dist/template/packages/api/tsconfig.json +0 -44
  183. package/dist/template/packages/database/README.md +0 -162
  184. package/dist/template/packages/database/gitignore.template +0 -41
  185. package/dist/template/packages/database/package.json +0 -49
  186. package/dist/template/packages/database/prisma/seed.ts +0 -64
  187. package/dist/template/packages/database/schema.prisma +0 -107
  188. package/dist/template/packages/database/src/index.ts +0 -15
  189. package/dist/template/packages/database/src/validators.ts +0 -10
  190. package/dist/template/packages/database/tsconfig.json +0 -18
  191. package/dist/template/packages/mobile/README.md +0 -86
  192. package/dist/template/packages/mobile/__tests__/App.test.tsx +0 -156
  193. package/dist/template/packages/mobile/__tests__/components.test.tsx +0 -300
  194. package/dist/template/packages/mobile/app.json +0 -5
  195. package/dist/template/packages/mobile/babel.config.js +0 -10
  196. package/dist/template/packages/mobile/gitignore.template +0 -73
  197. package/dist/template/packages/mobile/index.js +0 -6
  198. package/dist/template/packages/mobile/jest.config.js +0 -21
  199. package/dist/template/packages/mobile/jest.setup.js +0 -12
  200. package/dist/template/packages/mobile/metro.config.js +0 -36
  201. package/dist/template/packages/mobile/package.json +0 -60
  202. package/dist/template/packages/mobile/src/App.tsx +0 -8
  203. package/dist/template/packages/mobile/src/utils/trpc.ts +0 -7
  204. package/dist/template/packages/mobile/tsconfig.json +0 -28
  205. package/dist/template/packages/shared/README.md +0 -135
  206. package/dist/template/packages/shared/__tests__/shared.test.ts +0 -51
  207. package/dist/template/packages/shared/gitignore.template +0 -35
  208. package/dist/template/packages/shared/jest.config.js +0 -22
  209. package/dist/template/packages/shared/package.json +0 -68
  210. package/dist/template/packages/shared/src/components/App.tsx +0 -57
  211. package/dist/template/packages/shared/src/components/HelloWorld.tsx +0 -531
  212. package/dist/template/packages/shared/src/components/index.ts +0 -1
  213. package/dist/template/packages/shared/src/graphql/client.ts +0 -34
  214. package/dist/template/packages/shared/src/index.ts +0 -22
  215. package/dist/template/packages/shared/src/navigation/AppRouter.tsx +0 -565
  216. package/dist/template/packages/shared/src/trpc/client.ts +0 -44
  217. package/dist/template/packages/shared/tsconfig.json +0 -22
  218. package/dist/template/packages/web/README.md +0 -131
  219. package/dist/template/packages/web/__tests__/App.test.tsx +0 -342
  220. package/dist/template/packages/web/__tests__/components.test.tsx +0 -564
  221. package/dist/template/packages/web/gitignore.template +0 -35
  222. package/dist/template/packages/web/index.html +0 -13
  223. package/dist/template/packages/web/jest.config.js +0 -27
  224. package/dist/template/packages/web/jest.setup.js +0 -24
  225. package/dist/template/packages/web/package.json +0 -69
  226. package/dist/template/packages/web/src/App.tsx +0 -14
  227. package/dist/template/packages/web/src/components/TestDemo.tsx +0 -164
  228. package/dist/template/packages/web/src/main.tsx +0 -25
  229. package/dist/template/packages/web/src/utils/trpc.ts +0 -7
  230. package/dist/template/packages/web/tsconfig.json +0 -26
  231. package/dist/template/packages/web/vite.config.ts +0 -98
  232. package/dist/template/setup.sh +0 -30
  233. package/dist/template/tsconfig.json +0 -22
  234. package/dist/template/yarnrc.yml.template +0 -4
  235. package/dist/types/generators/init.d.ts +0 -5
  236. package/dist/types/generators/utils.d.ts +0 -45
  237. package/dist/types/scripts/configure-react-native-monorepo.d.ts +0 -23
  238. package/template/.devcontainer/Dockerfile +0 -26
  239. package/template/.devcontainer/devcontainer.json +0 -113
  240. package/template/.devcontainer/docker-compose.yml +0 -59
  241. package/template/.devcontainer/figma-mcp.sh +0 -32
  242. package/template/.devcontainer/setup.sh +0 -45
  243. package/template/.dockerignore +0 -151
  244. package/template/.env.example +0 -36
  245. package/template/.env.production +0 -56
  246. package/template/DOCKER.md +0 -0
  247. package/template/Dockerfile +0 -111
  248. package/template/README.md +0 -233
  249. package/template/docker/nginx/prod.conf +0 -238
  250. package/template/docker/nginx.conf +0 -131
  251. package/template/docker/postgres/init.sql +0 -41
  252. package/template/docker/prometheus/prometheus.yml +0 -52
  253. package/template/docker-compose.prod.yml +0 -146
  254. package/template/docker-compose.yml +0 -143
  255. package/template/jest.config.js +0 -20
  256. package/template/package.json +0 -45
  257. package/template/packages/api/.env.example +0 -6
  258. package/template/packages/api/README.md +0 -510
  259. package/template/packages/api/__tests__/api.test.ts +0 -26
  260. package/template/packages/api/jest.config.js +0 -23
  261. package/template/packages/api/jest.setup.js +0 -9
  262. package/template/packages/api/package.json +0 -66
  263. package/template/packages/api/src/context.ts +0 -52
  264. package/template/packages/api/src/controllers/TestController.ts +0 -0
  265. package/template/packages/api/src/graphql/builder.ts +0 -75
  266. package/template/packages/api/src/graphql/generated.ts +0 -64
  267. package/template/packages/api/src/graphql/index.ts +0 -75
  268. package/template/packages/api/src/graphql/types/index.ts +0 -44
  269. package/template/packages/api/src/graphql/types/test.ts +0 -245
  270. package/template/packages/api/src/index.ts +0 -26
  271. package/template/packages/api/src/lib/database.ts +0 -23
  272. package/template/packages/api/src/router/index.ts +0 -163
  273. package/template/packages/api/src/routers/test.ts +0 -161
  274. package/template/packages/api/src/server.ts +0 -68
  275. package/template/packages/api/src/trpc.ts +0 -28
  276. package/template/packages/api/tsconfig.json +0 -44
  277. package/template/packages/database/README.md +0 -162
  278. package/template/packages/database/package.json +0 -49
  279. package/template/packages/database/prisma/seed.ts +0 -64
  280. package/template/packages/database/schema.prisma +0 -107
  281. package/template/packages/database/src/index.ts +0 -15
  282. package/template/packages/database/src/validators.ts +0 -10
  283. package/template/packages/database/tsconfig.json +0 -18
  284. package/template/packages/mobile/README.md +0 -86
  285. package/template/packages/mobile/__tests__/App.test.tsx +0 -156
  286. package/template/packages/mobile/__tests__/components.test.tsx +0 -300
  287. package/template/packages/mobile/app.json +0 -5
  288. package/template/packages/mobile/babel.config.js +0 -26
  289. package/template/packages/mobile/index.js +0 -8
  290. package/template/packages/mobile/jest.config.js +0 -21
  291. package/template/packages/mobile/jest.setup.js +0 -12
  292. package/template/packages/mobile/metro.config.js +0 -36
  293. package/template/packages/mobile/package.json +0 -60
  294. package/template/packages/mobile/src/App.tsx +0 -8
  295. package/template/packages/mobile/src/utils/trpc.ts +0 -7
  296. package/template/packages/mobile/tsconfig.json +0 -28
  297. package/template/packages/shared/README.md +0 -135
  298. package/template/packages/shared/__tests__/shared.test.ts +0 -51
  299. package/template/packages/shared/jest.config.js +0 -22
  300. package/template/packages/shared/package.json +0 -68
  301. package/template/packages/shared/src/components/App.tsx +0 -57
  302. package/template/packages/shared/src/components/HelloWorld.tsx +0 -531
  303. package/template/packages/shared/src/components/index.ts +0 -1
  304. package/template/packages/shared/src/graphql/client.ts +0 -34
  305. package/template/packages/shared/src/index.ts +0 -25
  306. package/template/packages/shared/src/navigation/AppRouter.tsx +0 -565
  307. package/template/packages/shared/src/trpc/client.ts +0 -44
  308. package/template/packages/shared/src/unistyles.ts +0 -50
  309. package/template/packages/shared/tsconfig.json +0 -22
  310. package/template/packages/web/README.md +0 -131
  311. package/template/packages/web/__tests__/App.test.tsx +0 -342
  312. package/template/packages/web/__tests__/components.test.tsx +0 -564
  313. package/template/packages/web/index.html +0 -13
  314. package/template/packages/web/jest.config.js +0 -27
  315. package/template/packages/web/jest.setup.js +0 -24
  316. package/template/packages/web/package.json +0 -69
  317. package/template/packages/web/src/App.tsx +0 -14
  318. package/template/packages/web/src/components/TestDemo.tsx +0 -164
  319. package/template/packages/web/src/main.tsx +0 -27
  320. package/template/packages/web/src/utils/trpc.ts +0 -7
  321. package/template/packages/web/tsconfig.json +0 -26
  322. package/template/packages/web/vite.config.ts +0 -114
  323. package/template/setup.sh +0 -30
  324. package/template/tsconfig.json +0 -22
@@ -1,113 +0,0 @@
1
- {
2
- "name": "{{projectName}} Development",
3
- "dockerComposeFile": "docker-compose.yml",
4
- "service": "app",
5
- "workspaceFolder": "/workspace",
6
-
7
- // Forward ports
8
- "forwardPorts": [
9
- 3000, // Api server
10
- 5173, // Vite dev server
11
- 8081, // Metro Bundler
12
- 19006, // Expo dev tools
13
- 5432, // PostgreSQL
14
- 6379, // Redis
15
- 3333 // Figma MCP server
16
- ],
17
-
18
- // Port attributes
19
- "portsAttributes": {
20
- "3000": {
21
- "label": "API Server",
22
- "onAutoForward": "notify"
23
- },
24
- "5173": {
25
- "label": "Vite Dev Server",
26
- "onAutoForward": "openBrowser"
27
- },
28
- "8081": {
29
- "label": "Metro Bundler",
30
- "onAutoForward": "notify"
31
- },
32
- "19006": {
33
- "label": "Expo Dev Tools",
34
- "onAutoForward": "openBrowser"
35
- },
36
- "5432": {
37
- "label": "PostgreSQL Database",
38
- "onAutoForward": "silent"
39
- },
40
- "6379": {
41
- "label": "Redis Cache",
42
- "onAutoForward": "silent"
43
- },
44
- "3333": {
45
- "label": "Figma MCP Server",
46
- "onAutoForward": "openBrowser"
47
- }
48
- },
49
-
50
- // VS Code customizations
51
- "customizations": {
52
- "vscode": {
53
- "extensions": [
54
- // React Native/React development
55
- "ms-vscode.vscode-react-native",
56
- "msjsdiag.vscode-react-native",
57
-
58
- // TypeScript/JavaScript
59
- "ms-vscode.vscode-typescript-next",
60
- "dbaeumer.vscode-eslint",
61
- "esbenp.prettier-vscode",
62
- "bradlc.vscode-tailwindcss",
63
-
64
- // General development
65
- "ms-vscode.vscode-json",
66
- "redhat.vscode-yaml",
67
- "ms-vscode.vscode-docker",
68
- "ms-vscode.vscode-markdown",
69
- "christian-kohler.path-intellisense",
70
- "formulahendry.auto-rename-tag",
71
-
72
- // Testing
73
- "orta.vscode-jest",
74
- "ms-vscode.test-adapter-converter",
75
-
76
- // Git
77
- "mhutchie.git-graph",
78
- "eamodio.gitlens",
79
- "github.vscode-pull-request-github",
80
- "github.copilot",
81
- "github.copilot-chat"
82
- ],
83
- "settings": {
84
- "terminal.integrated.defaultProfile.linux": "bash",
85
- "typescript.preferences.includePackageJsonAutoImports": "auto",
86
- "editor.formatOnSave": true,
87
- "editor.defaultFormatter": "esbenp.prettier-vscode",
88
- "editor.codeActionsOnSave": {
89
- "source.fixAll.eslint": "explicit",
90
- "source.organizeImports": "explicit"
91
- },
92
- "files.watcherExclude": {
93
- "**/node_modules/**": true,
94
- "**/.git/**": true,
95
- "**/dist/**": true,
96
- "**/coverage/**": true
97
- },
98
- "search.exclude": {
99
- "**/node_modules": true,
100
- "**/dist": true,
101
- "**/coverage": true,
102
- "**/.yarn": true
103
- },
104
- "jest.jestCommandLine": "yarn test",
105
- "jest.autoRun": "off"
106
- }
107
- }
108
- },
109
- "remoteUser": "node",
110
-
111
- // Post-create command to set up the development environment
112
- "postCreateCommand": "bash .devcontainer/setup.sh"
113
- }
@@ -1,59 +0,0 @@
1
- services:
2
- # PostgreSQL Database
3
- postgres:
4
- image: postgres:15-alpine
5
- environment:
6
- POSTGRES_DB: idealyst_db
7
- POSTGRES_USER: postgres
8
- POSTGRES_PASSWORD: postgres
9
- ports:
10
- - "5432:5432"
11
- volumes:
12
- - postgres_data:/var/lib/postgresql/data
13
-
14
- # Redis Cache
15
- redis:
16
- image: redis:7-alpine
17
- ports:
18
- - "6379:6379"
19
- volumes:
20
- - redis_data:/data
21
-
22
- # Development Service (for devcontainer)
23
- app:
24
- build:
25
- context: .
26
- dockerfile: Dockerfile
27
- environment:
28
- NODE_ENV: development
29
- DATABASE_URL: postgresql://postgres:postgres@postgres:5432/idealyst_db
30
- REDIS_URL: redis://redis:6379
31
- ports:
32
- - "3000:3000"
33
- - "5173:5173"
34
- - "8081:8081"
35
- - "19006:19006"
36
- volumes:
37
- - ..:/workspace
38
- depends_on:
39
- - postgres
40
- - redis
41
- command: sleep infinity
42
-
43
- # Figma MCP Server
44
- figma-mcp:
45
- image: node:18-alpine
46
- working_dir: /app
47
- environment:
48
- - FIGMA_ACCESS_TOKEN=${FIGMA_ACCESS_TOKEN:-}
49
- ports:
50
- - "3333:3333"
51
- volumes:
52
- - ./figma-mcp.sh:/app/figma-mcp.sh:ro
53
- - figma_mcp_data:/app/node_modules
54
- command: ["sh", "/app/figma-mcp.sh"]
55
-
56
- volumes:
57
- postgres_data:
58
- redis_data:
59
- figma_mcp_data:
@@ -1,32 +0,0 @@
1
- #!/bin/bash
2
- set -e
3
-
4
- echo "Starting Figma MCP Server..."
5
-
6
- # Check if FIGMA_ACCESS_TOKEN is provided
7
- if [ -z "$FIGMA_ACCESS_TOKEN" ]; then
8
- echo "❌ No FIGMA_ACCESS_TOKEN provided"
9
- echo "💡 Add your token to .devcontainer/.env to enable Figma integration"
10
- echo " Example: echo 'FIGMA_ACCESS_TOKEN=fig_your_token_here' > .devcontainer/.env"
11
- echo ""
12
- echo "🔄 Keeping container alive (waiting for token)..."
13
- sleep infinity
14
- exit 0
15
- fi
16
-
17
- echo "✅ Figma token found, installing figma-developer-mcp..."
18
-
19
- # Install figma-developer-mcp if not already installed
20
- if ! command -v figma-developer-mcp &> /dev/null; then
21
- npm install -g figma-developer-mcp
22
- echo "📦 figma-developer-mcp installed successfully"
23
- else
24
- echo "📦 figma-developer-mcp already installed"
25
- fi
26
-
27
- echo "🚀 Starting Figma MCP server on port 3333..."
28
- echo "🎨 Figma designs will be available to AI tools like Claude"
29
-
30
- # Start the MCP server with the correct environment variable
31
- export FIGMA_API_KEY="$FIGMA_ACCESS_TOKEN"
32
- exec npx figma-developer-mcp --port 3333
@@ -1,45 +0,0 @@
1
- #!/bin/bash
2
-
3
- echo "🚀 Setting up Idealyst development environment..."
4
-
5
- # Create environment file if it doesn't exist
6
- if [ ! -f ".env" ]; then
7
- echo "📝 Creating .env file..."
8
- cat > .env << EOF
9
- # Database Configuration
10
- DATABASE_URL=postgresql://postgres:postgres@postgres:5432/idealyst_db
11
- POSTGRES_DB=idealyst_db
12
- POSTGRES_USER=postgres
13
- POSTGRES_PASSWORD=postgres
14
-
15
- # Redis Configuration
16
- REDIS_URL=redis://redis:6379
17
-
18
- # API Configuration
19
- API_PORT=3000
20
- JWT_SECRET=your-jwt-secret-here
21
-
22
- # Web Configuration
23
- WEB_PORT=3000
24
-
25
- # Development Configuration
26
- NODE_ENV=development
27
- LOG_LEVEL=debug
28
-
29
- # Project Configuration
30
- PROJECT_NAME={{packageName}}
31
- EOF
32
- fi
33
-
34
- # Wait for database to be ready
35
- echo "⏳ Waiting for database to be ready..."
36
- until pg_isready -h postgres -p 5432 -U postgres; do
37
- echo "Database is unavailable - sleeping"
38
- sleep 1
39
- done
40
-
41
- echo "Add Figma MCP to Claude Code"
42
- claude mcp add -t sse figma-mcp http://figma-mcp:3333/sse
43
-
44
- echo "✅ Development environment is ready!"
45
- echo "🎉 You can now start developing your Idealyst application!"
@@ -1,151 +0,0 @@
1
- # Dockerignore file for Idealyst workspace
2
- # Excludes files and directories from Docker build context
3
-
4
- # Node.js
5
- node_modules/
6
- npm-debug.log*
7
- yarn-debug.log*
8
- yarn-error.log*
9
- .pnpm-debug.log*
10
-
11
- # Environment files (use .env.example instead)
12
- .env
13
- .env.local
14
- .env.development.local
15
- .env.test.local
16
- .env.production.local
17
-
18
- # Build outputs
19
- dist/
20
- build/
21
- out/
22
- .next/
23
- coverage/
24
-
25
- # Development tools
26
- .vscode/
27
- .idea/
28
- *.swp
29
- *.swo
30
- *~
31
-
32
- # OS generated files
33
- .DS_Store
34
- .DS_Store?
35
- ._*
36
- .Spotlight-V100
37
- .Trashes
38
- ehthumbs.db
39
- Thumbs.db
40
-
41
- # Git
42
- .git/
43
- .gitignore
44
- .gitattributes
45
-
46
- # Docker
47
- Dockerfile*
48
- docker-compose*.yml
49
- .dockerignore
50
-
51
- # CI/CD
52
- .github/
53
- .gitlab-ci.yml
54
- .travis.yml
55
- .circleci/
56
-
57
- # Logs
58
- logs/
59
- *.log
60
-
61
- # Runtime data
62
- pids/
63
- *.pid
64
- *.seed
65
- *.pid.lock
66
-
67
- # Coverage directory used by tools like istanbul
68
- coverage/
69
- .nyc_output/
70
-
71
- # Test files and directories
72
- __tests__/
73
- *.test.js
74
- *.test.ts
75
- *.test.tsx
76
- *.spec.js
77
- *.spec.ts
78
- *.spec.tsx
79
- test/
80
- tests/
81
-
82
- # Documentation
83
- README.md
84
- CHANGELOG.md
85
- LICENSE
86
- *.md
87
-
88
- # Package manager files
89
- package-lock.json
90
- # yarn.lock - DO NOT IGNORE: Required for immutable installs
91
- pnpm-lock.yaml
92
-
93
- # Development scripts
94
- scripts/dev*
95
- scripts/test*
96
-
97
- # Temporary files
98
- tmp/
99
- temp/
100
- .tmp/
101
-
102
- # Editor directories and files
103
- .vscode/
104
- .idea/
105
- *.suo
106
- *.ntvs*
107
- *.njsproj
108
- *.sln
109
- *.sw?
110
-
111
- # Runtime configuration
112
- .editorconfig
113
- .eslintrc*
114
- .prettierrc*
115
- .stylelintrc*
116
- jest.config.*
117
- tsconfig.json
118
- tsconfig.*.json
119
-
120
- # Mobile development
121
- android/
122
- ios/
123
- .expo/
124
- .expo-shared/
125
-
126
- # Backup files
127
- *.backup
128
- backups/
129
-
130
- # Database files
131
- *.db
132
- *.sqlite
133
- *.sqlite3
134
-
135
- # Cache directories
136
- .cache/
137
- .parcel-cache/
138
- .eslintcache
139
-
140
- # Storybook
141
- .storybook/
142
- storybook-static/
143
-
144
- # IDE files
145
- .project
146
- .classpath
147
- .c9/
148
- *.launch
149
- .settings/
150
- *.sublime-workspace
151
- *.sublime-project
@@ -1,36 +0,0 @@
1
- # Environment variables for Docker Compose
2
- # Copy this file to .env and customize for your environment
3
-
4
- # Project Configuration
5
- PROJECT_NAME={{packageName}}
6
- NODE_ENV=development
7
-
8
- # Database Configuration
9
- POSTGRES_DB=idealyst_db
10
- POSTGRES_USER=postgres
11
- POSTGRES_PASSWORD=postgres
12
- POSTGRES_PORT=5432
13
-
14
- # Redis Configuration
15
- REDIS_PORT=6379
16
-
17
- # API Configuration
18
- API_PORT=3000
19
- JWT_SECRET=your-jwt-secret-change-this-in-production
20
-
21
- # Web Configuration
22
- WEB_PORT=3000
23
-
24
- # Monitoring Configuration (optional)
25
- GRAFANA_PASSWORD=admin
26
-
27
- # SSL Configuration (for production)
28
- DOMAIN_NAME=localhost
29
- SSL_EMAIL=admin@localhost
30
-
31
- # Logging
32
- LOG_LEVEL=info
33
-
34
- # Rate Limiting
35
- RATE_LIMIT_WINDOW_MS=900000
36
- RATE_LIMIT_MAX_REQUESTS=100
@@ -1,56 +0,0 @@
1
- # Production Environment Variables
2
- # Copy this file to .env for production deployment
3
-
4
- # Project Configuration
5
- PROJECT_NAME={{packageName}}
6
- NODE_ENV=production
7
-
8
- # Database Configuration (use strong passwords!)
9
- POSTGRES_DB={{packageName}}_production
10
- POSTGRES_USER={{packageName}}_user
11
- POSTGRES_PASSWORD=CHANGE_THIS_STRONG_PASSWORD
12
- POSTGRES_PORT=5432
13
-
14
- # Redis Configuration
15
- REDIS_PORT=6379
16
-
17
- # API Configuration
18
- API_PORT=3001
19
- JWT_SECRET=CHANGE_THIS_VERY_STRONG_JWT_SECRET_MINIMUM_32_CHARACTERS
20
-
21
- # Web Configuration
22
- WEB_PORT=80
23
-
24
- # SSL/Domain Configuration
25
- DOMAIN_NAME=yourdomain.com
26
- SSL_EMAIL=admin@yourdomain.com
27
-
28
- # Monitoring
29
- GRAFANA_PASSWORD=CHANGE_THIS_STRONG_PASSWORD
30
-
31
- # Logging
32
- LOG_LEVEL=warn
33
-
34
- # Rate Limiting (more restrictive for production)
35
- RATE_LIMIT_WINDOW_MS=900000
36
- RATE_LIMIT_MAX_REQUESTS=50
37
-
38
- # Security Settings
39
- SESSION_SECRET=CHANGE_THIS_VERY_STRONG_SESSION_SECRET
40
- ENCRYPTION_KEY=CHANGE_THIS_32_CHARACTER_ENCRYPTION_KEY
41
-
42
- # External Services (configure as needed)
43
- # SMTP_HOST=smtp.yourdomain.com
44
- # SMTP_PORT=587
45
- # SMTP_USER=noreply@yourdomain.com
46
- # SMTP_PASS=smtp_password
47
-
48
- # AWS/Cloud Storage (if using)
49
- # AWS_ACCESS_KEY_ID=your_access_key
50
- # AWS_SECRET_ACCESS_KEY=your_secret_key
51
- # AWS_REGION=us-east-1
52
- # S3_BUCKET=your-bucket-name
53
-
54
- # Analytics/Monitoring
55
- # SENTRY_DSN=your_sentry_dsn
56
- # GOOGLE_ANALYTICS_ID=your_ga_id
File without changes
@@ -1,111 +0,0 @@
1
- # Multi-stage Dockerfile for Idealyst Workspace
2
- # Supports web apps, API services, and can be used for staging/production
3
-
4
- # Base stage with Node.js and build tools
5
- FROM node:20-bullseye-slim AS base
6
- RUN apt-get update && apt-get install -y \
7
- libc6-dev \
8
- git \
9
- && rm -rf /var/lib/apt/lists/*
10
- WORKDIR /app
11
-
12
- # Enable corepack for yarn
13
- RUN corepack enable
14
-
15
- # Dependencies stage - install all dependencies
16
- FROM base AS deps
17
- COPY package.json yarn.lock .yarnrc.yml ./
18
- COPY .yarn .yarn
19
-
20
- # Create packages directory structure and copy package.json files
21
- RUN mkdir -p packages/api packages/app packages/components packages/web
22
- COPY packages/api/package.json ./packages/api/
23
- COPY packages/app/package.json ./packages/app/
24
- COPY packages/components/package.json ./packages/components/
25
- COPY packages/web/package.json ./packages/web/
26
-
27
- RUN yarn install
28
-
29
- # Build stage - build all packages
30
- FROM base AS builder
31
- COPY --from=deps /app/node_modules ./node_modules
32
- COPY . .
33
-
34
- # Build all packages
35
- RUN yarn build:all
36
-
37
- # Production API stage
38
- FROM base AS api-runner
39
- RUN addgroup --system --gid 1001 nodejs
40
- RUN adduser --system --uid 1001 apiuser
41
-
42
- # Copy built API and dependencies
43
- COPY --from=builder /app/packages/*/dist ./packages/
44
- COPY --from=builder /app/node_modules ./node_modules
45
- COPY --from=builder /app/package.json ./
46
-
47
- USER apiuser
48
- EXPOSE 3000
49
- ENV NODE_ENV=production
50
- ENV PORT=3000
51
-
52
- # Health check for API
53
- HEALTHCHECK --interval=30s --timeout=10s --start-period=5s --retries=3 \
54
- CMD node -e "require('http').get('http://localhost:3000/health', (res) => { process.exit(res.statusCode === 200 ? 0 : 1) })"
55
-
56
- CMD ["node", "packages/api/dist/server.js"]
57
-
58
- # Production Web stage
59
- FROM nginx:alpine AS web-runner
60
- COPY --from=builder /app/packages/web/dist /usr/share/nginx/html
61
- COPY docker/nginx.conf /etc/nginx/nginx.conf
62
-
63
- EXPOSE 80
64
- CMD ["nginx", "-g", "daemon off;"]
65
-
66
- # Development stage - for use with dev containers
67
- FROM base AS dev
68
-
69
- # Install additional tools for development
70
- RUN apt-get update && apt-get install -y \
71
- sudo \
72
- postgresql-client \
73
- && rm -rf /var/lib/apt/lists/*
74
-
75
- # Create dev user with proper permissions
76
- RUN groupadd --gid 1000 devuser \
77
- && useradd --uid 1000 --gid devuser --shell /bin/bash --create-home devuser \
78
- && echo 'devuser ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers
79
-
80
- # Set up workspace directory with proper ownership
81
- RUN mkdir -p /app && chown -R devuser:devuser /app
82
-
83
- # Switch to dev user for remaining setup
84
- USER devuser
85
- WORKDIR /app
86
-
87
- # Copy package files
88
- COPY --chown=devuser:devuser package.json yarn.lock .yarnrc.yml ./
89
- COPY --chown=devuser:devuser .yarn .yarn
90
-
91
- # Create packages directory structure and copy package.json files
92
- RUN mkdir -p packages/api packages/app packages/components packages/web
93
- COPY --chown=devuser:devuser packages/api/package.json ./packages/api/
94
- COPY --chown=devuser:devuser packages/app/package.json ./packages/app/
95
- COPY --chown=devuser:devuser packages/components/package.json ./packages/components/
96
- COPY --chown=devuser:devuser packages/web/package.json ./packages/web/
97
-
98
- # Install dependencies including dev dependencies
99
- RUN yarn install
100
-
101
- EXPOSE 3000 5173 1 19006
102
-
103
- CMD ["tail", "-f", "/dev/null"]
104
-
105
- # Test runner stage
106
- FROM base AS test-runner
107
- COPY --from=deps /app/node_modules ./node_modules
108
- COPY . .
109
-
110
- # Run tests
111
- CMD ["yarn", "test:ci"]