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.
- package/dist/commands/init.js +5 -0
- package/dist/commands/init.js.map +1 -1
- package/dist/index.js +1 -1
- package/dist/templates/app/root.tsx +26 -14
- package/dist/templates/app/styles/app.css +9 -0
- package/dist/templates/config/app.config.ts +5 -80
- package/dist/templates/package.json +8 -5
- package/dist/templates/postcss.config.js +6 -0
- package/dist/templates/tailwind.config.ts +76 -0
- package/package.json +1 -1
package/dist/commands/init.js
CHANGED
|
@@ -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
|
@@ -7,24 +7,33 @@ import {
|
|
|
7
7
|
useLoaderData,
|
|
8
8
|
} from 'react-router';
|
|
9
9
|
import type { Route } from './+types/root';
|
|
10
|
-
import {
|
|
11
|
-
import { generateThemeCSS, baseStyles } from '@chaaskit/client/ssr';
|
|
10
|
+
import { ConfigScript } from '@chaaskit/client/ssr-utils';
|
|
12
11
|
|
|
13
|
-
|
|
14
|
-
|
|
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
|
-
|
|
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
|
|
22
|
-
return {
|
|
31
|
+
const theme = getThemeFromCookie(cookieHeader);
|
|
32
|
+
return { theme, config };
|
|
23
33
|
}
|
|
24
34
|
|
|
25
35
|
export default function Root() {
|
|
26
|
-
const {
|
|
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
|
-
<
|
|
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
|
}}
|
|
@@ -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',
|
|
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
|
-
|
|
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',
|
|
129
|
+
provider: 'database',
|
|
205
130
|
},
|
|
206
131
|
maxFileSizeMB: 10,
|
|
207
|
-
hybridThreshold: 1000,
|
|
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.
|
|
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.
|
|
22
|
-
"@chaaskit/client": "^0.1.
|
|
23
|
-
"@chaaskit/db": "^0.1.
|
|
24
|
-
"@chaaskit/shared": "^0.1.
|
|
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,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;
|