create-chaaskit 0.1.0 → 0.1.2

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 (62) hide show
  1. package/LICENSE +21 -0
  2. package/dist/commands/init.js +5 -0
  3. package/dist/commands/init.js.map +1 -1
  4. package/dist/index.js +1 -1
  5. package/dist/templates/app/root.tsx +26 -14
  6. package/dist/templates/app/routes/chat.admin.promo-codes.tsx +10 -0
  7. package/dist/templates/app/routes/chat.admin.waitlist.tsx +10 -0
  8. package/dist/templates/app/routes.ts +2 -0
  9. package/dist/templates/app/styles/app.css +9 -0
  10. package/dist/templates/config/app.config.ts +29 -80
  11. package/dist/templates/package.json +8 -5
  12. package/dist/templates/postcss.config.js +6 -0
  13. package/dist/templates/server.js +40 -10
  14. package/dist/templates/tailwind.config.ts +76 -0
  15. package/package.json +19 -10
  16. package/dist/cli.d.ts +0 -3
  17. package/dist/cli.d.ts.map +0 -1
  18. package/dist/cli.js +0 -25
  19. package/dist/cli.js.map +0 -1
  20. package/dist/templates/app/components/AcceptInviteClient.tsx +0 -10
  21. package/dist/templates/app/components/AdminDashboardClient.tsx +0 -10
  22. package/dist/templates/app/components/AdminTeamClient.tsx +0 -10
  23. package/dist/templates/app/components/AdminTeamsClient.tsx +0 -10
  24. package/dist/templates/app/components/AdminUsersClient.tsx +0 -10
  25. package/dist/templates/app/components/ApiKeysClient.tsx +0 -10
  26. package/dist/templates/app/components/AutomationsClient.tsx +0 -10
  27. package/dist/templates/app/components/ChatClient.tsx +0 -13
  28. package/dist/templates/app/components/DocumentsClient.tsx +0 -10
  29. package/dist/templates/app/components/OAuthConsentClient.tsx +0 -10
  30. package/dist/templates/app/components/PricingClient.tsx +0 -10
  31. package/dist/templates/app/components/TeamSettingsClient.tsx +0 -10
  32. package/dist/templates/app/components/VerifyEmailClient.tsx +0 -10
  33. package/dist/templates/app/routes/admin._index.tsx +0 -57
  34. package/dist/templates/app/routes/admin.teams.$teamId.tsx +0 -57
  35. package/dist/templates/app/routes/admin.teams._index.tsx +0 -57
  36. package/dist/templates/app/routes/admin.users.tsx +0 -57
  37. package/dist/templates/app/routes/api-keys.tsx +0 -57
  38. package/dist/templates/app/routes/automations.tsx +0 -57
  39. package/dist/templates/app/routes/documents.tsx +0 -57
  40. package/dist/templates/app/routes/team.$teamId.settings.tsx +0 -57
  41. package/dist/templates/app/routes/thread.$threadId.tsx +0 -102
  42. package/dist/templates/docs/admin.md +0 -257
  43. package/dist/templates/docs/api-keys.md +0 -403
  44. package/dist/templates/docs/authentication.md +0 -247
  45. package/dist/templates/docs/configuration.md +0 -1212
  46. package/dist/templates/docs/custom-pages.md +0 -466
  47. package/dist/templates/docs/deployment.md +0 -362
  48. package/dist/templates/docs/development.md +0 -411
  49. package/dist/templates/docs/documents.md +0 -293
  50. package/dist/templates/docs/extensions.md +0 -639
  51. package/dist/templates/docs/index.md +0 -139
  52. package/dist/templates/docs/installation.md +0 -286
  53. package/dist/templates/docs/mcp.md +0 -952
  54. package/dist/templates/docs/native-tools.md +0 -688
  55. package/dist/templates/docs/queue.md +0 -514
  56. package/dist/templates/docs/scheduled-prompts.md +0 -279
  57. package/dist/templates/docs/settings.md +0 -415
  58. package/dist/templates/docs/slack.md +0 -318
  59. package/dist/templates/docs/styling.md +0 -288
  60. package/dist/templates/index.html +0 -16
  61. package/dist/templates/prisma/schema.prisma +0 -271
  62. package/dist/templates/src/main.tsx +0 -8
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2024 Matt Ferrante
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -104,6 +104,7 @@ async function copyTemplateFiles(templatesPath, targetPath, projectName) {
104
104
  await fs.ensureDir(path.join(targetPath, 'app', 'routes'));
105
105
  await fs.ensureDir(path.join(targetPath, 'app', 'components'));
106
106
  await fs.ensureDir(path.join(targetPath, 'app', 'pages'));
107
+ await fs.ensureDir(path.join(targetPath, 'app', 'styles'));
107
108
  await fs.ensureDir(path.join(targetPath, 'config'));
108
109
  await fs.ensureDir(path.join(targetPath, 'extensions', 'agents'));
109
110
  await fs.ensureDir(path.join(targetPath, 'extensions', 'payment-plans'));
@@ -119,6 +120,8 @@ async function copyTemplateFiles(templatesPath, targetPath, projectName) {
119
120
  { src: 'app/root.tsx', dest: 'app/root.tsx' },
120
121
  { src: 'app/entry.client.tsx', dest: 'app/entry.client.tsx' },
121
122
  { src: 'app/entry.server.tsx', dest: 'app/entry.server.tsx' },
123
+ // Styles (Tailwind CSS)
124
+ { src: 'app/styles/app.css', dest: 'app/styles/app.css' },
122
125
  // ClientOnly re-export for convenience
123
126
  { src: 'app/components/ClientOnly.tsx', dest: 'app/components/ClientOnly.tsx' },
124
127
  // Public routes (no basePath prefix)
@@ -149,6 +152,8 @@ async function copyTemplateFiles(templatesPath, targetPath, projectName) {
149
152
  { src: 'config/app.config.ts', dest: 'config/app.config.ts' },
150
153
  { src: 'react-router.config.ts', dest: 'react-router.config.ts' },
151
154
  { src: 'vite.config.ts', dest: 'vite.config.ts' },
155
+ { src: 'tailwind.config.ts', dest: 'tailwind.config.ts' },
156
+ { src: 'postcss.config.js', dest: 'postcss.config.js' },
152
157
  // Extensions
153
158
  { src: 'extensions/agents/.gitkeep', dest: 'extensions/agents/.gitkeep' },
154
159
  { src: 'extensions/payment-plans/.gitkeep', dest: 'extensions/payment-plans/.gitkeep' },
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAEtC,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;AAE3C,4FAA4F;AAC5F,SAAS,QAAQ,CAAC,IAAY;IAC5B,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;AACpD,CAAC;AASD,MAAM,CAAC,KAAK,UAAU,IAAI,CAAC,WAA+B,EAAE,OAAoB;IAC9E,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC,CAAC;IAClD,OAAO,CAAC,GAAG,EAAE,CAAC;IAEd,0CAA0C;IAC1C,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC;YAC7B,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,aAAa;YACnB,OAAO,EAAE,6BAA6B;YACtC,OAAO,EAAE,aAAa;SACvB,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;YAC1B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC,CAAC;YACnD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,WAAW,GAAG,QAAQ,CAAC,WAAW,CAAC;IACrC,CAAC;IAED,wDAAwD;IACxD,MAAM,gBAAgB,GAAG,WAAqB,CAAC;IAC/C,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,gBAAgB,CAAC,CAAC;IAElE,4BAA4B;IAC5B,IAAI,MAAM,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QACrC,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC;YAC7B,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,aAAa,gBAAgB,6BAA6B;YACnE,OAAO,EAAE,KAAK;SACf,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC;YACxB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;YACtC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,MAAM,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IAC/B,CAAC;IAED,2BAA2B;IAC3B,MAAM,EAAE,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IAEhC,MAAM,OAAO,GAAG,GAAG,CAAC,2BAA2B,CAAC,CAAC,KAAK,EAAE,CAAC;IAEzD,IAAI,CAAC;QACH,sBAAsB;QACtB,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;QAC3D,MAAM,iBAAiB,CAAC,aAAa,EAAE,WAAW,EAAE,gBAAgB,CAAC,CAAC;QAEtE,OAAO,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC;QAEzC,4BAA4B;QAC5B,MAAM,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;QAElF,uBAAuB;QACvB,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;YACzB,MAAM,cAAc,GAAG,GAAG,CAAC,gCAAgC,cAAc,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC;YAExF,IAAI,CAAC;gBACH,MAAM,UAAU,CAAC,cAAc,EAAE,CAAC,SAAS,CAAC,EAAE,EAAE,GAAG,EAAE,WAAW,EAAE,CAAC,CAAC;gBACpE,cAAc,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC;YACnD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,cAAc,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;gBACtD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,qDAAqD,CAAC,CAAC,CAAC;gBACjF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,gBAAgB,EAAE,CAAC,CAAC,CAAC;gBACpD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,cAAc,UAAU,CAAC,CAAC,CAAC;YACzD,CAAC;QACH,CAAC;QAED,wBAAwB;QACxB,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,YAAY,gBAAgB,OAAO,WAAW,EAAE,CAAC,CAAC;QAC1F,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC;QACnD,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,cAAc,MAAM,CAAC,CAAC,CAAC;QACnD,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;QAClD,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,cAAc,QAAQ,CAAC,CAAC,CAAC;QACrD,OAAO,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC;QACjD,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,cAAc,UAAU,CAAC,CAAC,CAAC;QACvD,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;QAChD,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;QAC7C,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,gBAAgB,EAAE,CAAC,CAAC,CAAC;QACpD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC,CAAC;QAClD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,mDAAmD,CAAC,CAAC,CAAC;QAC7E,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,cAAc,UAAU,CAAC,CAAC,CAAC;QACvD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,cAAc,MAAM,CAAC,CAAC,CAAC;QACnD,OAAO,CAAC,GAAG,EAAE,CAAC;IAEhB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;QACzC,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,KAAK,UAAU,iBAAiB,CAAC,aAAqB,EAAE,UAAkB,EAAE,WAAmB;IAC7F,qDAAqD;IACrD,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC3D,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC;IAC/D,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;IAC1D,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC3D,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC;IACpD,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAC;IAClE,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,YAAY,EAAE,eAAe,CAAC,CAAC,CAAC;IACzE,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC,CAAC;IACjE,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC9D,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC;IAEpD,sBAAsB;IACtB,gFAAgF;IAChF,4EAA4E;IAC5E,MAAM,SAAS,GAAkF;QAC/F,yBAAyB;QACzB,EAAE,GAAG,EAAE,eAAe,EAAE,IAAI,EAAE,eAAe,EAAE;QAC/C,EAAE,GAAG,EAAE,cAAc,EAAE,IAAI,EAAE,cAAc,EAAE;QAC7C,EAAE,GAAG,EAAE,sBAAsB,EAAE,IAAI,EAAE,sBAAsB,EAAE;QAC7D,EAAE,GAAG,EAAE,sBAAsB,EAAE,IAAI,EAAE,sBAAsB,EAAE;QAC7D,wBAAwB;QACxB,EAAE,GAAG,EAAE,oBAAoB,EAAE,IAAI,EAAE,oBAAoB,EAAE;QACzD,uCAAuC;QACvC,EAAE,GAAG,EAAE,+BAA+B,EAAE,IAAI,EAAE,+BAA+B,EAAE;QAC/E,qCAAqC;QACrC,EAAE,GAAG,EAAE,uBAAuB,EAAE,IAAI,EAAE,uBAAuB,EAAE;QAC/D,EAAE,GAAG,EAAE,sBAAsB,EAAE,IAAI,EAAE,sBAAsB,EAAE;QAC7D,EAAE,GAAG,EAAE,yBAAyB,EAAE,IAAI,EAAE,yBAAyB,EAAE;QACnE,EAAE,GAAG,EAAE,gCAAgC,EAAE,IAAI,EAAE,gCAAgC,EAAE;QACjF,EAAE,GAAG,EAAE,sBAAsB,EAAE,IAAI,EAAE,sBAAsB,EAAE;QAC7D,EAAE,GAAG,EAAE,wBAAwB,EAAE,IAAI,EAAE,wBAAwB,EAAE;QACjE,EAAE,GAAG,EAAE,6BAA6B,EAAE,IAAI,EAAE,6BAA6B,EAAE;QAC3E,EAAE,GAAG,EAAE,8BAA8B,EAAE,IAAI,EAAE,8BAA8B,EAAE;QAC7E,EAAE,GAAG,EAAE,wBAAwB,EAAE,IAAI,EAAE,wBAAwB,EAAE;QACjE,EAAE,GAAG,EAAE,8BAA8B,EAAE,IAAI,EAAE,8BAA8B,EAAE;QAC7E,uDAAuD;QACvD,iEAAiE;QACjE,EAAE,GAAG,EAAE,qBAAqB,EAAE,IAAI,EAAE,qBAAqB,EAAE;QAC3D,EAAE,GAAG,EAAE,4BAA4B,EAAE,IAAI,EAAE,4BAA4B,EAAE;QACzE,EAAE,GAAG,EAAE,sCAAsC,EAAE,IAAI,EAAE,sCAAsC,EAAE;QAC7F,EAAE,GAAG,EAAE,8BAA8B,EAAE,IAAI,EAAE,8BAA8B,EAAE;QAC7E,EAAE,GAAG,EAAE,+BAA+B,EAAE,IAAI,EAAE,+BAA+B,EAAE;QAC/E,EAAE,GAAG,EAAE,iCAAiC,EAAE,IAAI,EAAE,iCAAiC,EAAE;QACnF,EAAE,GAAG,EAAE,2CAA2C,EAAE,IAAI,EAAE,2CAA2C,EAAE;QACvG,EAAE,GAAG,EAAE,kCAAkC,EAAE,IAAI,EAAE,kCAAkC,EAAE;QACrF,EAAE,GAAG,EAAE,iCAAiC,EAAE,IAAI,EAAE,iCAAiC,EAAE;QACnF,EAAE,GAAG,EAAE,wCAAwC,EAAE,IAAI,EAAE,wCAAwC,EAAE;QACjG,EAAE,GAAG,EAAE,yCAAyC,EAAE,IAAI,EAAE,yCAAyC,EAAE;QACnG,SAAS;QACT,EAAE,GAAG,EAAE,sBAAsB,EAAE,IAAI,EAAE,sBAAsB,EAAE;QAC7D,EAAE,GAAG,EAAE,wBAAwB,EAAE,IAAI,EAAE,wBAAwB,EAAE;QACjE,EAAE,GAAG,EAAE,gBAAgB,EAAE,IAAI,EAAE,gBAAgB,EAAE;QACjD,EAAE,GAAG,EAAE,oBAAoB,EAAE,IAAI,EAAE,oBAAoB,EAAE;QACzD,EAAE,GAAG,EAAE,mBAAmB,EAAE,IAAI,EAAE,mBAAmB,EAAE;QACvD,aAAa;QACb,EAAE,GAAG,EAAE,4BAA4B,EAAE,IAAI,EAAE,4BAA4B,EAAE;QACzE,EAAE,GAAG,EAAE,mCAAmC,EAAE,IAAI,EAAE,mCAAmC,EAAE;QACvF,EAAE,GAAG,EAAE,2BAA2B,EAAE,IAAI,EAAE,2BAA2B,EAAE;QACvE,gBAAgB;QAChB,EAAE,GAAG,EAAE,iBAAiB,EAAE,IAAI,EAAE,iBAAiB,EAAE;QACnD,EAAE,GAAG,EAAE,oBAAoB,EAAE,IAAI,EAAE,oBAAoB,EAAE;QACzD,aAAa;QACb;YACE,GAAG,EAAE,cAAc;YACnB,IAAI,EAAE,cAAc;YACpB,SAAS,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,kBAAkB,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC;SACnF;QACD,EAAE,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE,YAAY,EAAE;QACzC;YACE,GAAG,EAAE,cAAc;YACnB,IAAI,EAAE,cAAc;YACpB,SAAS,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,uBAAuB,EAAE,WAAW,CAAC;SAC9E;QACD,EAAE,GAAG,EAAE,eAAe,EAAE,IAAI,EAAE,eAAe,EAAE;QAC/C,EAAE,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,WAAW,EAAE;QACvC,EAAE,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,uBAAuB,EAAE,WAAW,CAAC,EAAE;QACtH,SAAS;QACT,EAAE,GAAG,EAAE,2BAA2B,EAAE,IAAI,EAAE,2BAA2B,EAAE;QACvE,EAAE,GAAG,EAAE,6BAA6B,EAAE,IAAI,EAAE,6BAA6B,EAAE;KAC5E,CAAC;IAEF,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QACjC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC;QACvD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;QAEtD,IAAI,MAAM,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YACjC,IAAI,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAClD,IAAI,QAAQ,CAAC,SAAS,EAAE,CAAC;gBACvB,OAAO,GAAG,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YACxC,CAAC;YACD,MAAM,EAAE,CAAC,UAAU,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACzC,CAAC;aAAM,CAAC;YACN,uCAAuC;YACvC,IAAI,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;gBACtC,MAAM,EAAE,CAAC,UAAU,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;YACpC,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,UAAU,CAAC,OAAe,EAAE,IAAc,EAAE,OAAwB;IAC3E,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE;YACjC,GAAG,OAAO;YACV,KAAK,EAAE,SAAS;YAChB,KAAK,EAAE,IAAI;SACZ,CAAC,CAAC;QAEH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;YACzB,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;gBACf,OAAO,EAAE,CAAC;YACZ,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,IAAI,KAAK,CAAC,4BAA4B,IAAI,EAAE,CAAC,CAAC,CAAC;YACxD,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC5B,CAAC,CAAC,CAAC;AACL,CAAC"}
package/dist/index.js CHANGED
@@ -9,7 +9,7 @@ const program = new Command();
9
9
  program
10
10
  .name('chaaskit')
11
11
  .description('Create and manage ChaasKit applications')
12
- .version('0.1.0');
12
+ .version('0.1.1');
13
13
  // Create a new project
14
14
  program
15
15
  .command('create [project-name]')
@@ -7,24 +7,33 @@ import {
7
7
  useLoaderData,
8
8
  } from 'react-router';
9
9
  import type { Route } from './+types/root';
10
- import { config } from '../config/app.config';
11
- import { generateThemeCSS, baseStyles } from '@chaaskit/client/ssr';
10
+ import { ConfigScript } from '@chaaskit/client/ssr-utils';
12
11
 
13
- function getThemeFromCookie(cookieHeader: string | null, defaultTheme: string): string {
14
- if (!cookieHeader) return defaultTheme;
12
+ // Tailwind CSS - includes theme variables built from tailwind.config.ts
13
+ import './styles/app.css';
14
+
15
+ // Default theme must match defaultTheme in tailwind.config.ts
16
+ const DEFAULT_THEME = 'light';
17
+ const VALID_THEMES = ['light', 'dark'];
18
+
19
+ function getThemeFromCookie(cookieHeader: string | null): string {
20
+ if (!cookieHeader) return DEFAULT_THEME;
15
21
  const match = cookieHeader.match(/(?:^|;\s*)theme=([^;]*)/);
16
- return match ? match[1] : defaultTheme;
22
+ const theme = match ? match[1] : DEFAULT_THEME;
23
+ return VALID_THEMES.includes(theme) ? theme : DEFAULT_THEME;
17
24
  }
18
25
 
19
26
  export async function loader({ request }: Route.LoaderArgs) {
27
+ // Import config on server only (uses process.env)
28
+ const { config } = await import('../config/app.config');
29
+
20
30
  const cookieHeader = request.headers.get('Cookie');
21
- const theme = getThemeFromCookie(cookieHeader, config.theming.defaultTheme);
22
- return { config, theme };
31
+ const theme = getThemeFromCookie(cookieHeader);
32
+ return { theme, config };
23
33
  }
24
34
 
25
35
  export default function Root() {
26
- const { config, theme } = useLoaderData<typeof loader>();
27
- const themeCSS = generateThemeCSS(config, theme);
36
+ const { theme, config } = useLoaderData<typeof loader>();
28
37
 
29
38
  return (
30
39
  <html lang="en" data-theme={theme}>
@@ -39,7 +48,7 @@ export default function Root() {
39
48
  href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap"
40
49
  rel="stylesheet"
41
50
  />
42
- <style dangerouslySetInnerHTML={{ __html: themeCSS + baseStyles }} />
51
+ <ConfigScript config={config} />
43
52
  <ThemeScript serverTheme={theme} />
44
53
  </head>
45
54
  <body>
@@ -51,22 +60,25 @@ export default function Root() {
51
60
  );
52
61
  }
53
62
 
63
+ /**
64
+ * Blocking script that syncs theme from localStorage before first paint.
65
+ * Since CSS has selectors for all themes (html[data-theme="..."]), changing
66
+ * the data-theme attribute instantly applies the correct theme.
67
+ */
54
68
  function ThemeScript({ serverTheme }: { serverTheme: string }) {
55
69
  return (
56
70
  <script
57
71
  dangerouslySetInnerHTML={{
58
72
  __html: `
59
73
  (function() {
74
+ var validThemes = ${JSON.stringify(VALID_THEMES)};
60
75
  var storedTheme = localStorage.getItem('theme');
61
- if (storedTheme && storedTheme !== '${serverTheme}') {
62
- // localStorage has a different theme than server rendered - update DOM and sync cookie
76
+ if (storedTheme && storedTheme !== '${serverTheme}' && validThemes.includes(storedTheme)) {
63
77
  document.documentElement.dataset.theme = storedTheme;
64
78
  document.cookie = 'theme=' + storedTheme + ';path=/;max-age=31536000;SameSite=Lax';
65
79
  } else if (!storedTheme) {
66
- // No localStorage theme - sync server theme to localStorage
67
80
  localStorage.setItem('theme', '${serverTheme}');
68
81
  }
69
- // If storedTheme === serverTheme, everything is already in sync
70
82
  })();
71
83
  `,
72
84
  }}
@@ -0,0 +1,10 @@
1
+ import { createRoute } from '@chaaskit/client/ssr-utils';
2
+
3
+ const route = createRoute({
4
+ title: 'Admin Promo Codes',
5
+ load: () => import('@chaaskit/client/routes/AdminPromoCodesRoute'),
6
+ });
7
+
8
+ export const meta = route.meta;
9
+ export const links = route.links;
10
+ export default route.default;
@@ -0,0 +1,10 @@
1
+ import { createRoute } from '@chaaskit/client/ssr-utils';
2
+
3
+ const route = createRoute({
4
+ title: 'Admin Waitlist',
5
+ load: () => import('@chaaskit/client/routes/AdminWaitlistRoute'),
6
+ });
7
+
8
+ export const meta = route.meta;
9
+ export const links = route.links;
10
+ export default route.default;
@@ -41,6 +41,8 @@ export default [
41
41
  // Admin pages
42
42
  route(`${base}/admin`, 'routes/chat.admin._index.tsx'),
43
43
  route(`${base}/admin/users`, 'routes/chat.admin.users.tsx'),
44
+ route(`${base}/admin/waitlist`, 'routes/chat.admin.waitlist.tsx'),
45
+ route(`${base}/admin/promo-codes`, 'routes/chat.admin.promo-codes.tsx'),
44
46
  route(`${base}/admin/teams`, 'routes/chat.admin.teams._index.tsx'),
45
47
  route(`${base}/admin/teams/:teamId`, 'routes/chat.admin.teams.$teamId.tsx'),
46
48
  ]),
@@ -0,0 +1,9 @@
1
+ @tailwind base;
2
+ @tailwind components;
3
+ @tailwind utilities;
4
+
5
+ /* App-specific overrides (if any) */
6
+ body {
7
+ @apply bg-background text-text-primary;
8
+ margin: 0;
9
+ }
@@ -4,8 +4,8 @@ export const config: AppConfig = {
4
4
  app: {
5
5
  name: 'My Chat App',
6
6
  description: 'AI-powered chat application',
7
- url: 'http://localhost:5173',
8
- basePath: '/chat', // Chat app lives under /chat, landing page at /
7
+ url: process.env.APP_URL || 'http://localhost:5173',
8
+ basePath: '/chat', // Chat app lives under /chat, landing page at /
9
9
  },
10
10
 
11
11
  ui: {
@@ -20,70 +20,7 @@ export const config: AppConfig = {
20
20
  logo: '/logo.svg',
21
21
  },
22
22
 
23
- theming: {
24
- defaultTheme: 'light',
25
- allowUserThemeSwitch: true,
26
- themes: {
27
- light: {
28
- name: 'Light',
29
- colors: {
30
- primary: '#6366f1',
31
- primaryHover: '#4f46e5',
32
- secondary: '#8b5cf6',
33
- background: '#ffffff',
34
- backgroundSecondary: '#f9fafb',
35
- sidebar: '#f3f4f6',
36
- textPrimary: '#111827',
37
- textSecondary: '#6b7280',
38
- textMuted: '#9ca3af',
39
- border: '#e5e7eb',
40
- inputBackground: '#ffffff',
41
- inputBorder: '#d1d5db',
42
- userMessageBg: '#6366f1',
43
- userMessageText: '#ffffff',
44
- assistantMessageBg: '#f3f4f6',
45
- assistantMessageText: '#111827',
46
- success: '#10b981',
47
- warning: '#f59e0b',
48
- error: '#ef4444',
49
- },
50
- },
51
- dark: {
52
- name: 'Dark',
53
- colors: {
54
- primary: '#818cf8',
55
- primaryHover: '#a5b4fc',
56
- secondary: '#a78bfa',
57
- background: '#111827',
58
- backgroundSecondary: '#1f2937',
59
- sidebar: '#0f172a',
60
- textPrimary: '#f9fafb',
61
- textSecondary: '#d1d5db',
62
- textMuted: '#6b7280',
63
- border: '#374151',
64
- inputBackground: '#1f2937',
65
- inputBorder: '#4b5563',
66
- userMessageBg: '#4f46e5',
67
- userMessageText: '#ffffff',
68
- assistantMessageBg: '#1f2937',
69
- assistantMessageText: '#f9fafb',
70
- success: '#34d399',
71
- warning: '#fbbf24',
72
- error: '#f87171',
73
- },
74
- },
75
- },
76
- fonts: {
77
- sans: 'Inter, system-ui, sans-serif',
78
- mono: 'JetBrains Mono, Menlo, monospace',
79
- },
80
- borderRadius: {
81
- sm: '0.25rem',
82
- md: '0.5rem',
83
- lg: '0.75rem',
84
- full: '9999px',
85
- },
86
- },
23
+ // Theming is configured in tailwind.config.ts for build-time CSS generation
87
24
 
88
25
  auth: {
89
26
  methods: ['email-password'],
@@ -92,10 +29,14 @@ export const config: AppConfig = {
92
29
  enabled: true,
93
30
  expiresInMinutes: 15,
94
31
  },
32
+ gating: {
33
+ mode: 'open',
34
+ inviteExpiryDays: 7,
35
+ waitlistEnabled: true,
36
+ },
95
37
  },
96
38
 
97
39
  // Configure your AI agent(s) here
98
- // Using multi-agent format to enable native tools
99
40
  agent: {
100
41
  agents: [
101
42
  {
@@ -107,7 +48,6 @@ export const config: AppConfig = {
107
48
  maxTokens: 4096,
108
49
  isDefault: true,
109
50
  // Enable all native tools (web-scrape, etc.)
110
- // Use 'native:*' for all, or 'native:web-scrape' for specific tools
111
51
  allowedTools: ['native:*'],
112
52
  },
113
53
  ],
@@ -165,17 +105,8 @@ export const config: AppConfig = {
165
105
  colors: ['#6366f1', '#8b5cf6', '#ec4899', '#f43f5e', '#f97316', '#eab308', '#22c55e', '#14b8a6', '#06b6d4', '#3b82f6'],
166
106
  },
167
107
 
168
- // API access (for programmatic use)
169
108
  api: {
170
109
  enabled: true,
171
- // allowedPlans: ['pro', 'enterprise'], // Optional: restrict to specific plans
172
- // keyPrefix: 'myapp-', // Optional: custom prefix for API keys (default: "sk-")
173
- // allowedEndpoints: [ // Endpoints accessible via API keys (default: none)
174
- // '/api/chat', // Exact match
175
- // '/api/threads', // List threads
176
- // '/api/threads/*', // Single thread operations (e.g., /api/threads/123)
177
- // '/api/threads/**', // All thread sub-routes (e.g., /api/threads/123/messages)
178
- // ],
179
110
  },
180
111
 
181
112
  promptTemplates: {
@@ -197,14 +128,13 @@ export const config: AppConfig = {
197
128
  allowUserTemplates: true,
198
129
  },
199
130
 
200
- // Mentionable documents - reference documents in chat with @mentions
201
131
  documents: {
202
132
  enabled: true,
203
133
  storage: {
204
- provider: 'database', // 'database' | 'filesystem' | 's3'
134
+ provider: 'database',
205
135
  },
206
136
  maxFileSizeMB: 10,
207
- hybridThreshold: 1000, // Documents under this char count are injected into context
137
+ hybridThreshold: 1000,
208
138
  acceptedTypes: [
209
139
  'text/plain',
210
140
  'text/markdown',
@@ -213,4 +143,23 @@ export const config: AppConfig = {
213
143
  'application/json',
214
144
  ],
215
145
  },
146
+
147
+ credits: {
148
+ enabled: true,
149
+ expiryEnabled: true,
150
+ defaultExpiryDays: 365,
151
+ tokensPerCredit: 1000,
152
+ referralRewardCredits: 10,
153
+ referralTriggers: {
154
+ signup: true,
155
+ firstMessage: true,
156
+ paying: true,
157
+ },
158
+ promoEnabled: true,
159
+ },
160
+
161
+ metering: {
162
+ enabled: true,
163
+ recordPromptCompletion: true,
164
+ },
216
165
  };
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "{{PROJECT_NAME}}",
3
- "version": "0.1.0",
3
+ "version": "0.1.1",
4
4
  "private": true,
5
5
  "type": "module",
6
6
  "prisma": {
@@ -18,10 +18,10 @@
18
18
  "db:sync": "chaaskit-server db:sync"
19
19
  },
20
20
  "dependencies": {
21
- "@chaaskit/server": "^0.1.0",
22
- "@chaaskit/client": "^0.1.0",
23
- "@chaaskit/db": "^0.1.0",
24
- "@chaaskit/shared": "^0.1.0",
21
+ "@chaaskit/server": "^0.1.1",
22
+ "@chaaskit/client": "^0.1.1",
23
+ "@chaaskit/db": "^0.1.1",
24
+ "@chaaskit/shared": "^0.1.1",
25
25
  "express": "^4.21.0",
26
26
  "@prisma/client": "^6.0.0",
27
27
  "@react-router/express": "^7.1.0",
@@ -38,7 +38,10 @@
38
38
  "@types/node": "^22.0.0",
39
39
  "@types/react": "^18.2.0",
40
40
  "@types/react-dom": "^18.2.0",
41
+ "autoprefixer": "^10.4.17",
42
+ "postcss": "^8.4.35",
41
43
  "prisma": "^6.0.0",
44
+ "tailwindcss": "^3.4.1",
42
45
  "typescript": "^5.6.0",
43
46
  "vite": "^5.4.0",
44
47
  "vite-tsconfig-paths": "^5.0.0"
@@ -0,0 +1,6 @@
1
+ export default {
2
+ plugins: {
3
+ tailwindcss: {},
4
+ autoprefixer: {},
5
+ },
6
+ };
@@ -4,21 +4,43 @@
4
4
  * This is a single server that handles:
5
5
  * - API routes at /api/*, /mcp/*, /v1/*
6
6
  * - SSR for all other routes via React Router
7
+ *
8
+ * ARCHITECTURE: We create a wrapper Express app that handles React Router routes
9
+ * BEFORE body parsing, then delegates API routes to the chaaskit app (which has
10
+ * body parsing). This prevents the body stream from being consumed before React
11
+ * Router can read it with request.formData().
12
+ *
13
+ * SECRETS: Configure secret loading via environment variables:
14
+ * SECRETS_PROVIDER=env (default) - secrets already in env vars
15
+ * SECRETS_PROVIDER=aws-secrets-manager - load from AWS Secrets Manager
16
+ * AWS_SECRET_ARN - ARN of the secret to load
17
+ * AWS_REGION - Region (optional, defaults to 'us-west-2')
7
18
  */
8
- import { createApp } from '@chaaskit/server';
9
- import { createRequestHandler } from '@react-router/express';
10
- import express from 'express';
11
- import path from 'path';
12
- import { fileURLToPath } from 'url';
19
+
20
+ // Load secrets BEFORE importing anything that uses them (Prisma, etc.)
21
+ const { loadSecrets } = await import('@chaaskit/server');
22
+ await loadSecrets();
23
+
24
+ // Now safe to import modules that depend on DATABASE_URL, OPENAI_API_KEY, etc.
25
+ const { createApp } = await import('@chaaskit/server');
26
+ const { createRequestHandler } = await import('@react-router/express');
27
+ const express = (await import('express')).default;
28
+ const path = (await import('path')).default;
29
+ const { fileURLToPath } = await import('url');
13
30
 
14
31
  const __dirname = path.dirname(fileURLToPath(import.meta.url));
15
32
 
16
33
  async function startServer() {
17
- // Create the chaaskit Express app with all API routes
18
- // serveSpa: false disables the built-in SPA fallback since React Router handles SSR
19
- const app = await createApp({ serveSpa: false });
34
+ // Create the chaaskit Express app with all API routes (has body parsing)
35
+ const chaaskitApp = await createApp({ serveSpa: false });
20
36
 
21
- // Serve static assets from the React Router build
37
+ // Create wrapper Express app (NO body parsing here)
38
+ const app = express();
39
+
40
+ // Trust proxy headers when behind load balancer (ALB, nginx, CloudFlare, etc.)
41
+ app.set('trust proxy', true);
42
+
43
+ // Serve static assets FIRST (before any other processing)
22
44
  app.use(
23
45
  '/assets',
24
46
  express.static(path.join(__dirname, 'build/client/assets'), {
@@ -28,8 +50,16 @@ async function startServer() {
28
50
  );
29
51
  app.use(express.static(path.join(__dirname, 'build/client'), { maxAge: '1h' }));
30
52
 
53
+ // Delegate API routes to chaaskit app (which has body parsing)
54
+ app.use((req, res, next) => {
55
+ if (req.path.startsWith('/api/') || req.path.startsWith('/v1/') || req.path.startsWith('/mcp/')) {
56
+ return chaaskitApp(req, res, next);
57
+ }
58
+ next();
59
+ });
60
+
31
61
  // Handle all other routes with React Router SSR
32
- // This must come after API routes (which are already registered in createApp)
62
+ // No body parsing has occurred, so request.formData() works
33
63
  app.all(
34
64
  '*',
35
65
  createRequestHandler({
@@ -0,0 +1,76 @@
1
+ import type { Config } from 'tailwindcss';
2
+ import { createChaaskitPreset } from '@chaaskit/client/tailwind-preset';
3
+
4
+ /**
5
+ * Tailwind configuration with ChaasKit preset.
6
+ *
7
+ * Customize your app's theme by modifying the preset options below.
8
+ * The preset provides:
9
+ * - Theme CSS variables (colors, fonts, border radius)
10
+ * - Semantic color utilities (bg-primary, text-text-primary, etc.)
11
+ * - Base styles (scrollbars, markdown, animations)
12
+ * - Custom utilities (h-screen-safe, line-clamp-2)
13
+ */
14
+ export default {
15
+ presets: [
16
+ createChaaskitPreset({
17
+ // Customize your themes here
18
+ themes: {
19
+ light: {
20
+ primary: '#6366f1',
21
+ primaryHover: '#4f46e5',
22
+ secondary: '#8b5cf6',
23
+ background: '#ffffff',
24
+ backgroundSecondary: '#f9fafb',
25
+ sidebar: '#f3f4f6',
26
+ textPrimary: '#111827',
27
+ textSecondary: '#6b7280',
28
+ textMuted: '#9ca3af',
29
+ border: '#e5e7eb',
30
+ inputBackground: '#ffffff',
31
+ inputBorder: '#d1d5db',
32
+ userMessageBg: '#6366f1',
33
+ userMessageText: '#ffffff',
34
+ assistantMessageBg: '#f3f4f6',
35
+ assistantMessageText: '#111827',
36
+ success: '#10b981',
37
+ warning: '#f59e0b',
38
+ error: '#ef4444',
39
+ },
40
+ dark: {
41
+ primary: '#818cf8',
42
+ primaryHover: '#a5b4fc',
43
+ secondary: '#a78bfa',
44
+ background: '#111827',
45
+ backgroundSecondary: '#1f2937',
46
+ sidebar: '#0f172a',
47
+ textPrimary: '#f9fafb',
48
+ textSecondary: '#d1d5db',
49
+ textMuted: '#6b7280',
50
+ border: '#374151',
51
+ inputBackground: '#1f2937',
52
+ inputBorder: '#4b5563',
53
+ userMessageBg: '#4f46e5',
54
+ userMessageText: '#ffffff',
55
+ assistantMessageBg: '#1f2937',
56
+ assistantMessageText: '#f9fafb',
57
+ success: '#34d399',
58
+ warning: '#fbbf24',
59
+ error: '#f87171',
60
+ },
61
+ },
62
+ // Which theme to use by default
63
+ defaultTheme: 'light',
64
+ // Customize fonts
65
+ fonts: {
66
+ sans: "'Inter', system-ui, sans-serif",
67
+ mono: "'JetBrains Mono', Menlo, monospace",
68
+ },
69
+ }),
70
+ ],
71
+ content: [
72
+ './app/**/*.{js,ts,jsx,tsx}',
73
+ './node_modules/@chaaskit/client/src/**/*.{js,ts,jsx,tsx}',
74
+ './node_modules/@chaaskit/client/dist/**/*.js',
75
+ ],
76
+ } satisfies Config;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-chaaskit",
3
- "version": "0.1.0",
3
+ "version": "0.1.2",
4
4
  "description": "CLI to create and manage ChaasKit AI chat SaaS applications",
5
5
  "license": "MIT",
6
6
  "author": "Matt Ferrante <@ferrants>",
@@ -13,7 +13,16 @@
13
13
  "bugs": {
14
14
  "url": "https://github.com/ferrants/chaaskit/issues"
15
15
  },
16
- "keywords": ["chaaskit", "ai", "chat", "saas", "cli", "create", "scaffold", "template"],
16
+ "keywords": [
17
+ "chaaskit",
18
+ "ai",
19
+ "chat",
20
+ "saas",
21
+ "cli",
22
+ "create",
23
+ "scaffold",
24
+ "template"
25
+ ],
17
26
  "type": "module",
18
27
  "main": "./dist/index.js",
19
28
  "bin": {
@@ -23,13 +32,6 @@
23
32
  "dist",
24
33
  "templates"
25
34
  ],
26
- "scripts": {
27
- "build": "tsc && npm run copy-templates",
28
- "copy-templates": "cp -r src/templates dist/",
29
- "dev": "tsc --watch",
30
- "typecheck": "tsc --noEmit",
31
- "clean": "rm -rf dist"
32
- },
33
35
  "dependencies": {
34
36
  "commander": "^12.0.0",
35
37
  "fs-extra": "^11.2.0",
@@ -42,5 +44,12 @@
42
44
  "@types/node": "^20.11.0",
43
45
  "@types/prompts": "^2.4.9",
44
46
  "typescript": "^5.3.3"
47
+ },
48
+ "scripts": {
49
+ "build": "tsc && npm run copy-templates",
50
+ "copy-templates": "cp -r src/templates dist/",
51
+ "dev": "tsc --watch",
52
+ "typecheck": "tsc --noEmit",
53
+ "clean": "rm -rf dist"
45
54
  }
46
- }
55
+ }
package/dist/cli.d.ts DELETED
@@ -1,3 +0,0 @@
1
- #!/usr/bin/env node
2
- export {};
3
- //# sourceMappingURL=cli.d.ts.map
package/dist/cli.d.ts.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":""}