create-chaaskit 0.1.0 → 0.1.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.
@@ -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":"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"}
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,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'],
@@ -95,7 +32,6 @@ export const config: AppConfig = {
95
32
  },
96
33
 
97
34
  // Configure your AI agent(s) here
98
- // Using multi-agent format to enable native tools
99
35
  agent: {
100
36
  agents: [
101
37
  {
@@ -107,7 +43,6 @@ export const config: AppConfig = {
107
43
  maxTokens: 4096,
108
44
  isDefault: true,
109
45
  // Enable all native tools (web-scrape, etc.)
110
- // Use 'native:*' for all, or 'native:web-scrape' for specific tools
111
46
  allowedTools: ['native:*'],
112
47
  },
113
48
  ],
@@ -165,17 +100,8 @@ export const config: AppConfig = {
165
100
  colors: ['#6366f1', '#8b5cf6', '#ec4899', '#f43f5e', '#f97316', '#eab308', '#22c55e', '#14b8a6', '#06b6d4', '#3b82f6'],
166
101
  },
167
102
 
168
- // API access (for programmatic use)
169
103
  api: {
170
104
  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
105
  },
180
106
 
181
107
  promptTemplates: {
@@ -197,14 +123,13 @@ export const config: AppConfig = {
197
123
  allowUserTemplates: true,
198
124
  },
199
125
 
200
- // Mentionable documents - reference documents in chat with @mentions
201
126
  documents: {
202
127
  enabled: true,
203
128
  storage: {
204
- provider: 'database', // 'database' | 'filesystem' | 's3'
129
+ provider: 'database',
205
130
  },
206
131
  maxFileSizeMB: 10,
207
- hybridThreshold: 1000, // Documents under this char count are injected into context
132
+ hybridThreshold: 1000,
208
133
  acceptedTypes: [
209
134
  'text/plain',
210
135
  'text/markdown',
@@ -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
+ };
@@ -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.1",
4
4
  "description": "CLI to create and manage ChaasKit AI chat SaaS applications",
5
5
  "license": "MIT",
6
6
  "author": "Matt Ferrante <@ferrants>",