@digilogiclabs/create-saas-app 1.9.4 → 1.10.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/.tsbuildinfo +1 -1
- package/dist/cli/commands/create.d.ts +7 -0
- package/dist/cli/commands/create.d.ts.map +1 -1
- package/dist/cli/commands/create.js +32 -1
- package/dist/cli/commands/create.js.map +1 -1
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +2 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/generators/template-generator.d.ts +9 -0
- package/dist/generators/template-generator.d.ts.map +1 -1
- package/dist/generators/template-generator.js +15 -1
- package/dist/generators/template-generator.js.map +1 -1
- package/dist/templates/web/ui-auth-ai/template/.env.example +18 -0
- package/dist/templates/web/ui-auth-ai/template/README.md +170 -0
- package/dist/templates/web/ui-auth-ai/template/next.config.js +13 -0
- package/dist/templates/web/ui-auth-ai/template/package.json +39 -0
- package/dist/templates/web/ui-auth-ai/template/postcss.config.js +6 -0
- package/dist/templates/web/ui-auth-ai/template/src/app/globals.css +40 -0
- package/dist/templates/web/ui-auth-ai/template/src/app/layout.tsx +41 -0
- package/dist/templates/web/ui-auth-ai/template/src/app/page.tsx +193 -0
- package/dist/templates/web/ui-auth-ai/template/src/components/ai/audio-generator.tsx +141 -0
- package/dist/templates/web/ui-auth-ai/template/src/components/ai/video-generator.tsx +158 -0
- package/dist/templates/web/ui-auth-ai/template/src/components/auth/login-form.tsx +106 -0
- package/dist/templates/web/ui-auth-ai/template/src/components/ui/button.tsx +44 -0
- package/dist/templates/web/ui-auth-ai/template/src/components/ui/input.tsx +24 -0
- package/dist/templates/web/ui-auth-ai/template/src/components/ui/label.tsx +21 -0
- package/dist/templates/web/ui-auth-ai/template/src/components/ui/select.tsx +37 -0
- package/dist/templates/web/ui-auth-ai/template/src/components/ui/textarea.tsx +23 -0
- package/dist/templates/web/ui-auth-ai/template/src/hooks/useAuth.ts +1 -0
- package/dist/templates/web/ui-auth-ai/template/src/lib/supabase.ts +8 -0
- package/dist/templates/web/ui-auth-ai/template/src/lib/utils.ts +5 -0
- package/dist/templates/web/ui-auth-ai/template/src/providers/auth-provider.tsx +55 -0
- package/dist/templates/web/ui-auth-ai/template/tailwind.config.js +22 -0
- package/dist/templates/web/ui-auth-ai/template/tsconfig.json +28 -0
- package/dist/templates/web/ui-auth-payments-audio/template/package.json +2 -2
- package/dist/templates/web/ui-auth-payments-audio/template/src/app/globals.css +1 -0
- package/dist/templates/web/ui-auth-payments-audio/template/src/app/page.tsx +12 -12
- package/package.json +1 -1
- package/src/templates/web/ui-auth-ai/template/.env.example +18 -0
- package/src/templates/web/ui-auth-ai/template/README.md +170 -0
- package/src/templates/web/ui-auth-ai/template/next.config.js +13 -0
- package/src/templates/web/ui-auth-ai/template/package.json +39 -0
- package/src/templates/web/ui-auth-ai/template/postcss.config.js +6 -0
- package/src/templates/web/ui-auth-ai/template/src/app/globals.css +40 -0
- package/src/templates/web/ui-auth-ai/template/src/app/layout.tsx +41 -0
- package/src/templates/web/ui-auth-ai/template/src/app/page.tsx +193 -0
- package/src/templates/web/ui-auth-ai/template/src/components/ai/audio-generator.tsx +141 -0
- package/src/templates/web/ui-auth-ai/template/src/components/ai/video-generator.tsx +158 -0
- package/src/templates/web/ui-auth-ai/template/src/components/auth/login-form.tsx +106 -0
- package/src/templates/web/ui-auth-ai/template/src/components/ui/button.tsx +44 -0
- package/src/templates/web/ui-auth-ai/template/src/components/ui/input.tsx +24 -0
- package/src/templates/web/ui-auth-ai/template/src/components/ui/label.tsx +21 -0
- package/src/templates/web/ui-auth-ai/template/src/components/ui/select.tsx +37 -0
- package/src/templates/web/ui-auth-ai/template/src/components/ui/textarea.tsx +23 -0
- package/src/templates/web/ui-auth-ai/template/src/hooks/useAuth.ts +1 -0
- package/src/templates/web/ui-auth-ai/template/src/lib/supabase.ts +8 -0
- package/src/templates/web/ui-auth-ai/template/src/lib/utils.ts +5 -0
- package/src/templates/web/ui-auth-ai/template/src/providers/auth-provider.tsx +55 -0
- package/src/templates/web/ui-auth-ai/template/tailwind.config.js +22 -0
- package/src/templates/web/ui-auth-ai/template/tsconfig.json +28 -0
- package/src/templates/web/ui-auth-payments-audio/template/package.json +2 -2
- package/src/templates/web/ui-auth-payments-audio/template/src/app/globals.css +1 -0
- package/src/templates/web/ui-auth-payments-audio/template/src/app/page.tsx +12 -12
|
@@ -25,16 +25,44 @@ async function createProject(platform, template, name, options = {}) {
|
|
|
25
25
|
logger_1.logger.error(`Invalid platform: ${platform}. Must be one of: ${validPlatforms.join(', ')}`);
|
|
26
26
|
process.exit(1);
|
|
27
27
|
}
|
|
28
|
+
// Parse AI capabilities
|
|
29
|
+
const parseAiCapabilities = (withAi) => {
|
|
30
|
+
if (!withAi)
|
|
31
|
+
return { enabled: false, capabilities: [] };
|
|
32
|
+
if (withAi === true)
|
|
33
|
+
return { enabled: true, capabilities: ['text'] };
|
|
34
|
+
if (withAi === 'all')
|
|
35
|
+
return { enabled: true, capabilities: ['text', 'audio', 'video'] };
|
|
36
|
+
return { enabled: true, capabilities: withAi.split(',').map((c) => c.trim()) };
|
|
37
|
+
};
|
|
38
|
+
const aiConfig = parseAiCapabilities(options.withAi);
|
|
39
|
+
// Auto-select template based on AI capabilities
|
|
40
|
+
const selectTemplateForAI = (capabilities, baseTemplate) => {
|
|
41
|
+
if (!aiConfig.enabled)
|
|
42
|
+
return baseTemplate || 'base';
|
|
43
|
+
const hasAudio = capabilities.includes('audio');
|
|
44
|
+
const hasVideo = capabilities.includes('video');
|
|
45
|
+
const hasText = capabilities.includes('text');
|
|
46
|
+
// Use our new comprehensive AI template for any AI-enabled project
|
|
47
|
+
if (hasVideo || hasAudio || hasText)
|
|
48
|
+
return 'ui-auth-ai';
|
|
49
|
+
return baseTemplate || 'ui-auth';
|
|
50
|
+
};
|
|
28
51
|
// Set up initial configuration
|
|
29
52
|
let config = {
|
|
30
53
|
platform: platform,
|
|
31
|
-
template: template
|
|
54
|
+
template: selectTemplateForAI(aiConfig.capabilities, template),
|
|
32
55
|
name: name || 'my-saas-app',
|
|
33
56
|
auth: options.auth || 'supabase',
|
|
34
57
|
database: options.database || 'supabase',
|
|
35
58
|
theme: options.theme || 'default',
|
|
36
59
|
themeColor: options.themeColor || 'blue',
|
|
37
60
|
defaultTheme: options.defaultTheme || 'system',
|
|
61
|
+
ai: {
|
|
62
|
+
enabled: aiConfig.enabled,
|
|
63
|
+
capabilities: aiConfig.capabilities,
|
|
64
|
+
provider: options.aiProvider || 'openai',
|
|
65
|
+
},
|
|
38
66
|
install: options.install !== false,
|
|
39
67
|
git: options.git !== false,
|
|
40
68
|
};
|
|
@@ -61,6 +89,9 @@ async function createProject(platform, template, name, options = {}) {
|
|
|
61
89
|
logger_1.logger.info(`Theme: ${config.theme}`);
|
|
62
90
|
logger_1.logger.info(`Theme Color: ${config.themeColor}`);
|
|
63
91
|
logger_1.logger.info(`Default Theme: ${config.defaultTheme}`);
|
|
92
|
+
if (config.ai.enabled) {
|
|
93
|
+
logger_1.logger.info(`AI: Enabled (${config.ai.capabilities.join(', ')}) - ${config.ai.provider}`);
|
|
94
|
+
}
|
|
64
95
|
logger_1.logger.newLine();
|
|
65
96
|
// Generate project structure
|
|
66
97
|
const templateSpinner = (0, spinner_1.spinner)('Generating project structure...');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/cli/commands/create.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/cli/commands/create.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAOpC,QAAA,MAAM,OAAO,SAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAOpC,QAAA,MAAM,OAAO,SAAgB,CAAC;AAwD9B,eAAe,OAAO,CAAC"}
|
package/dist/cli/index.js
CHANGED
|
@@ -26,6 +26,8 @@ program
|
|
|
26
26
|
.option('-t, --theme <theme>', 'Theme: default, corporate, startup')
|
|
27
27
|
.option('-c, --theme-color <color>', 'Theme color: blue, green, purple, orange, red, slate')
|
|
28
28
|
.option('--default-theme <mode>', 'Default theme mode: light, dark, system')
|
|
29
|
+
.option('--with-ai [capabilities]', 'Enable AI features (text,audio,video or all)')
|
|
30
|
+
.option('--ai-provider <provider>', 'AI provider: openai, anthropic, gemini')
|
|
29
31
|
.option('--no-install', 'Skip package installation')
|
|
30
32
|
.option('--no-git', 'Skip git initialization')
|
|
31
33
|
.option('-y, --yes', 'Skip interactive prompts')
|
package/dist/cli/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";;;;;AAAA,yCAAoC;AACpC,8CAAkD;AAClD,wCAA4C;AAC5C,8CAAuD;AACvD,2CAAwC;AACxC,sEAA6C;AAE7C,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,iBAAiB,CAAC;KACvB,WAAW,CAAC,+DAA+D,CAAC;KAC5E,OAAO,CAAC,sBAAW,CAAC,OAAO,CAAC,CAAC;AAEhC,OAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,KAAK,CAAC,GAAG,CAAC;KACV,WAAW,CAAC,+BAA+B,CAAC;KAC5C,QAAQ,CAAC,YAAY,EAAE,gCAAgC,CAAC;KACxD,QAAQ,CAAC,YAAY,EAAE,oEAAoE,CAAC;KAC5F,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;KAClC,MAAM,CAAC,uBAAuB,EAAE,mCAAmC,CAAC;KACpE,MAAM,CAAC,2BAA2B,EAAE,uCAAuC,CAAC;KAC5E,MAAM,CAAC,qBAAqB,EAAE,oCAAoC,CAAC;KACnE,MAAM,CAAC,2BAA2B,EAAE,sDAAsD,CAAC;KAC3F,MAAM,CAAC,wBAAwB,EAAE,yCAAyC,CAAC;KAC3E,MAAM,CAAC,cAAc,EAAE,2BAA2B,CAAC;KACnD,MAAM,CAAC,UAAU,EAAE,yBAAyB,CAAC;KAC7C,MAAM,CAAC,WAAW,EAAE,0BAA0B,CAAC;KAC/C,MAAM,CAAC,sBAAa,CAAC,CAAC;AAEzB,OAAO;KACJ,OAAO,CAAC,KAAK,CAAC;KACd,KAAK,CAAC,GAAG,CAAC;KACV,WAAW,CAAC,kCAAkC,CAAC;KAC/C,QAAQ,CAAC,WAAW,EAAE,gDAAgD,CAAC;KACvE,MAAM,CAAC,2BAA2B,EAAE,kBAAkB,CAAC;KACvD,MAAM,CAAC,gBAAU,CAAC,CAAC;AAEtB,OAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,KAAK,CAAC,GAAG,CAAC;KACV,WAAW,CAAC,qCAAqC,CAAC;KAClD,MAAM,CAAC,SAAS,EAAE,sCAAsC,CAAC;KACzD,MAAM,CAAC,2BAAkB,CAAC,CAAC;AAE9B,0BAA0B;AAC1B,OAAO,CAAC,EAAE,CAAC,WAAW,EAAE,GAAG,EAAE;IAC3B,eAAM,CAAC,KAAK,CAAC,oBAAoB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC3D,eAAM,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAAC;IACnE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC;AAEH,qCAAqC;AACrC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAClC,OAAO,CAAC,UAAU,EAAE,CAAC;IACrB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,OAAO,CAAC,KAAK,EAAE,CAAC;AAEhB,kBAAe,OAAO,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";;;;;AAAA,yCAAoC;AACpC,8CAAkD;AAClD,wCAA4C;AAC5C,8CAAuD;AACvD,2CAAwC;AACxC,sEAA6C;AAE7C,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,iBAAiB,CAAC;KACvB,WAAW,CAAC,+DAA+D,CAAC;KAC5E,OAAO,CAAC,sBAAW,CAAC,OAAO,CAAC,CAAC;AAEhC,OAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,KAAK,CAAC,GAAG,CAAC;KACV,WAAW,CAAC,+BAA+B,CAAC;KAC5C,QAAQ,CAAC,YAAY,EAAE,gCAAgC,CAAC;KACxD,QAAQ,CAAC,YAAY,EAAE,oEAAoE,CAAC;KAC5F,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;KAClC,MAAM,CAAC,uBAAuB,EAAE,mCAAmC,CAAC;KACpE,MAAM,CAAC,2BAA2B,EAAE,uCAAuC,CAAC;KAC5E,MAAM,CAAC,qBAAqB,EAAE,oCAAoC,CAAC;KACnE,MAAM,CAAC,2BAA2B,EAAE,sDAAsD,CAAC;KAC3F,MAAM,CAAC,wBAAwB,EAAE,yCAAyC,CAAC;KAC3E,MAAM,CAAC,0BAA0B,EAAE,8CAA8C,CAAC;KAClF,MAAM,CAAC,0BAA0B,EAAE,wCAAwC,CAAC;KAC5E,MAAM,CAAC,cAAc,EAAE,2BAA2B,CAAC;KACnD,MAAM,CAAC,UAAU,EAAE,yBAAyB,CAAC;KAC7C,MAAM,CAAC,WAAW,EAAE,0BAA0B,CAAC;KAC/C,MAAM,CAAC,sBAAa,CAAC,CAAC;AAEzB,OAAO;KACJ,OAAO,CAAC,KAAK,CAAC;KACd,KAAK,CAAC,GAAG,CAAC;KACV,WAAW,CAAC,kCAAkC,CAAC;KAC/C,QAAQ,CAAC,WAAW,EAAE,gDAAgD,CAAC;KACvE,MAAM,CAAC,2BAA2B,EAAE,kBAAkB,CAAC;KACvD,MAAM,CAAC,gBAAU,CAAC,CAAC;AAEtB,OAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,KAAK,CAAC,GAAG,CAAC;KACV,WAAW,CAAC,qCAAqC,CAAC;KAClD,MAAM,CAAC,SAAS,EAAE,sCAAsC,CAAC;KACzD,MAAM,CAAC,2BAAkB,CAAC,CAAC;AAE9B,0BAA0B;AAC1B,OAAO,CAAC,EAAE,CAAC,WAAW,EAAE,GAAG,EAAE;IAC3B,eAAM,CAAC,KAAK,CAAC,oBAAoB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC3D,eAAM,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAAC;IACnE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC;AAEH,qCAAqC;AACrC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAClC,OAAO,CAAC,UAAU,EAAE,CAAC;IACrB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,OAAO,CAAC,KAAK,EAAE,CAAC;AAEhB,kBAAe,OAAO,CAAC"}
|
|
@@ -8,6 +8,14 @@ export interface TemplateContext {
|
|
|
8
8
|
theme: string;
|
|
9
9
|
themeColor: string;
|
|
10
10
|
defaultTheme: string;
|
|
11
|
+
ai: {
|
|
12
|
+
enabled: boolean;
|
|
13
|
+
capabilities: string[];
|
|
14
|
+
provider: string;
|
|
15
|
+
hasText: boolean;
|
|
16
|
+
hasAudio: boolean;
|
|
17
|
+
hasVideo: boolean;
|
|
18
|
+
};
|
|
11
19
|
packageName: string;
|
|
12
20
|
className: string;
|
|
13
21
|
camelCaseName: string;
|
|
@@ -21,6 +29,7 @@ export interface TemplateContext {
|
|
|
21
29
|
uiVersion: string;
|
|
22
30
|
authVersion: string;
|
|
23
31
|
paymentsVersion: string;
|
|
32
|
+
aiVersion: string;
|
|
24
33
|
dependencies: Record<string, string>;
|
|
25
34
|
devDependencies: Record<string, string>;
|
|
26
35
|
scripts: Record<string, string>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"template-generator.d.ts","sourceRoot":"","sources":["../../src/generators/template-generator.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAGvD,MAAM,WAAW,eAAe;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACjC;AAED,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,OAAO,CAAkB;IACjC,OAAO,CAAC,YAAY,CAAS;gBAEjB,MAAM,EAAE,aAAa;IASjC,OAAO,CAAC,qBAAqB;
|
|
1
|
+
{"version":3,"file":"template-generator.d.ts","sourceRoot":"","sources":["../../src/generators/template-generator.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAGvD,MAAM,WAAW,eAAe;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,EAAE,EAAE;QACF,OAAO,EAAE,OAAO,CAAC;QACjB,YAAY,EAAE,MAAM,EAAE,CAAC;QACvB,QAAQ,EAAE,MAAM,CAAC;QACjB,OAAO,EAAE,OAAO,CAAC;QACjB,QAAQ,EAAE,OAAO,CAAC;QAClB,QAAQ,EAAE,OAAO,CAAC;KACnB,CAAC;IACF,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACjC;AAED,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,OAAO,CAAkB;IACjC,OAAO,CAAC,YAAY,CAAS;gBAEjB,MAAM,EAAE,aAAa;IASjC,OAAO,CAAC,qBAAqB;IAqD7B,OAAO,CAAC,eAAe;IA0EvB,OAAO,CAAC,kBAAkB;IAmB1B,OAAO,CAAC,UAAU;IAwBL,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;YAyB1C,kBAAkB;YAKlB,qBAAqB;YAKrB,YAAY;YASZ,mBAAmB;YA6BnB,mBAAmB;IAsBjC,OAAO,CAAC,UAAU;IA6BlB,OAAO,CAAC,YAAY;IAQpB,OAAO,CAAC,WAAW;IAKnB,OAAO,CAAC,WAAW;CAOpB"}
|
|
@@ -40,12 +40,20 @@ class TemplateGenerator {
|
|
|
40
40
|
theme: this.config.theme,
|
|
41
41
|
themeColor: this.config.themeColor,
|
|
42
42
|
defaultTheme: this.config.defaultTheme,
|
|
43
|
+
ai: {
|
|
44
|
+
enabled: this.config.ai.enabled,
|
|
45
|
+
capabilities: this.config.ai.capabilities,
|
|
46
|
+
provider: this.config.ai.provider,
|
|
47
|
+
hasText: this.config.ai.capabilities.includes('text'),
|
|
48
|
+
hasAudio: this.config.ai.capabilities.includes('audio'),
|
|
49
|
+
hasVideo: this.config.ai.capabilities.includes('video'),
|
|
50
|
+
},
|
|
43
51
|
packageName,
|
|
44
52
|
className,
|
|
45
53
|
camelCaseName,
|
|
46
54
|
kebabCaseName,
|
|
47
55
|
titleCaseName,
|
|
48
|
-
description: `A modern SaaS application built with Digi Logic Labs`,
|
|
56
|
+
description: `A modern ${this.config.ai.enabled ? 'AI-powered ' : ''}SaaS application built with Digi Logic Labs`,
|
|
49
57
|
author: 'Digi Logic Labs',
|
|
50
58
|
year: new Date().getFullYear(),
|
|
51
59
|
generatedDate,
|
|
@@ -53,6 +61,7 @@ class TemplateGenerator {
|
|
|
53
61
|
uiVersion: dependencies['@digilogiclabs/saas-factory-ui']?.replace('^', '') || '0.15.6',
|
|
54
62
|
authVersion: dependencies['@digilogiclabs/saas-factory-auth']?.replace('^', '') || '1.0.0',
|
|
55
63
|
paymentsVersion: dependencies['@digilogiclabs/saas-factory-payments']?.replace('^', '') || '1.0.0',
|
|
64
|
+
aiVersion: dependencies['@digilogiclabs/saas-factory-ai']?.replace('^', '') || '3.0.0',
|
|
56
65
|
dependencies,
|
|
57
66
|
devDependencies: this.getDevDependencies(),
|
|
58
67
|
scripts: this.getScripts(),
|
|
@@ -78,6 +87,11 @@ class TemplateGenerator {
|
|
|
78
87
|
if (['ui-auth-payments', 'ui-auth-payments-audio', 'ui-auth-payments-video'].includes(this.config.template)) {
|
|
79
88
|
baseDeps['@digilogiclabs/saas-factory-payments'] = '^1.0.0';
|
|
80
89
|
}
|
|
90
|
+
// Add AI packages when AI is enabled
|
|
91
|
+
if (this.config.ai.enabled) {
|
|
92
|
+
baseDeps['@digilogiclabs/saas-factory-ai'] = '^3.0.0';
|
|
93
|
+
baseDeps['@digilogiclabs/saas-factory-ai-types'] = '^3.0.0';
|
|
94
|
+
}
|
|
81
95
|
if (this.config.platform === 'web' || this.config.platform === 'both') {
|
|
82
96
|
Object.assign(baseDeps, {
|
|
83
97
|
next: '^15.0.0',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"template-generator.js","sourceRoot":"","sources":["../../src/generators/template-generator.ts"],"names":[],"mappings":";;;;;;AAAA,gDAAwB;AACxB,wDAA0B;AAC1B,wDAAgC;AAChC,+BAA4B;AAE5B,gDAA6C;
|
|
1
|
+
{"version":3,"file":"template-generator.js","sourceRoot":"","sources":["../../src/generators/template-generator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# Supabase Configuration
|
|
2
|
+
NEXT_PUBLIC_SUPABASE_URL=your_supabase_project_url
|
|
3
|
+
NEXT_PUBLIC_SUPABASE_ANON_KEY=your_supabase_anon_key
|
|
4
|
+
SUPABASE_SERVICE_ROLE_KEY=your_supabase_service_role_key
|
|
5
|
+
|
|
6
|
+
# AI Gateway Configuration
|
|
7
|
+
AI_GATEWAY_URL=http://localhost:3001
|
|
8
|
+
{{#ai.enabled}}
|
|
9
|
+
|
|
10
|
+
# AI Provider Configuration ({{ai.provider}})
|
|
11
|
+
# Add your API key for the selected provider:
|
|
12
|
+
# For OpenAI: OPENAI_API_KEY=your_openai_api_key
|
|
13
|
+
# For Anthropic: ANTHROPIC_API_KEY=your_anthropic_api_key
|
|
14
|
+
# For Gemini: GOOGLE_API_KEY=your_google_api_key
|
|
15
|
+
|
|
16
|
+
# Redis Configuration (for AI job processing)
|
|
17
|
+
REDIS_URL=redis://localhost:6379
|
|
18
|
+
{{/ai.enabled}}
|
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
# {{titleCaseName}}
|
|
2
|
+
|
|
3
|
+
{{description}}
|
|
4
|
+
|
|
5
|
+
## Features
|
|
6
|
+
|
|
7
|
+
{{#ai.enabled}}
|
|
8
|
+
### AI Capabilities
|
|
9
|
+
{{#ai.hasText}}
|
|
10
|
+
- 🤖 **AI Chat**: Interactive AI assistant powered by {{ai.provider}}
|
|
11
|
+
{{/ai.hasText}}
|
|
12
|
+
{{#ai.hasAudio}}
|
|
13
|
+
- 🎵 **Audio Generation**: Create custom audio with AI
|
|
14
|
+
{{/ai.hasAudio}}
|
|
15
|
+
{{#ai.hasVideo}}
|
|
16
|
+
- 🎥 **Video Generation**: Generate videos with AI
|
|
17
|
+
{{/ai.hasVideo}}
|
|
18
|
+
|
|
19
|
+
### AI Provider: {{ai.provider}}
|
|
20
|
+
This application is configured to use {{ai.provider}} as the AI provider.
|
|
21
|
+
{{/ai.enabled}}
|
|
22
|
+
|
|
23
|
+
### Authentication
|
|
24
|
+
- 🔐 **Supabase Auth**: Secure authentication with email/password
|
|
25
|
+
- 👤 **User Management**: Complete user registration and login flow
|
|
26
|
+
|
|
27
|
+
### Tech Stack
|
|
28
|
+
- **Framework**: Next.js 15 with App Router
|
|
29
|
+
- **Styling**: Tailwind CSS
|
|
30
|
+
- **Authentication**: Supabase
|
|
31
|
+
- **Database**: Supabase (PostgreSQL)
|
|
32
|
+
{{#ai.enabled}}
|
|
33
|
+
- **AI SDK**: @digilogiclabs/saas-factory-ai
|
|
34
|
+
{{/ai.enabled}}
|
|
35
|
+
- **Language**: TypeScript
|
|
36
|
+
|
|
37
|
+
## Getting Started
|
|
38
|
+
|
|
39
|
+
### Prerequisites
|
|
40
|
+
- Node.js 18+
|
|
41
|
+
- npm or yarn
|
|
42
|
+
- Supabase account
|
|
43
|
+
{{#ai.enabled}}
|
|
44
|
+
- {{ai.provider}} API key
|
|
45
|
+
{{/ai.enabled}}
|
|
46
|
+
|
|
47
|
+
### Installation
|
|
48
|
+
|
|
49
|
+
1. **Install dependencies**
|
|
50
|
+
```bash
|
|
51
|
+
npm install
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
2. **Set up environment variables**
|
|
55
|
+
```bash
|
|
56
|
+
cp .env.example .env.local
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
Fill in your environment variables:
|
|
60
|
+
- `NEXT_PUBLIC_SUPABASE_URL`: Your Supabase project URL
|
|
61
|
+
- `NEXT_PUBLIC_SUPABASE_ANON_KEY`: Your Supabase anon key
|
|
62
|
+
- `SUPABASE_SERVICE_ROLE_KEY`: Your Supabase service role key
|
|
63
|
+
{{#ai.enabled}}
|
|
64
|
+
- API key for your selected AI provider ({{ai.provider}})
|
|
65
|
+
- `AI_GATEWAY_URL`: URL of your AI gateway service
|
|
66
|
+
- `REDIS_URL`: Redis connection URL (for AI job processing)
|
|
67
|
+
{{/ai.enabled}}
|
|
68
|
+
|
|
69
|
+
3. **Set up Supabase**
|
|
70
|
+
- Create a new Supabase project
|
|
71
|
+
- Run the database migrations (see `migrations/` folder)
|
|
72
|
+
- Enable authentication in your Supabase dashboard
|
|
73
|
+
|
|
74
|
+
{{#ai.enabled}}
|
|
75
|
+
4. **Set up AI Gateway** (Optional for development)
|
|
76
|
+
- Deploy the AI gateway service from `@digilogiclabs/saas-factory-ai-gateway`
|
|
77
|
+
- Or use the development gateway at `http://localhost:3001`
|
|
78
|
+
{{/ai.enabled}}
|
|
79
|
+
|
|
80
|
+
5. **Run the development server**
|
|
81
|
+
```bash
|
|
82
|
+
npm run dev
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
6. **Open your browser**
|
|
86
|
+
Navigate to [http://localhost:3000](http://localhost:3000)
|
|
87
|
+
|
|
88
|
+
## Project Structure
|
|
89
|
+
|
|
90
|
+
```
|
|
91
|
+
src/
|
|
92
|
+
├── app/ # Next.js app router
|
|
93
|
+
│ ├── layout.tsx # Root layout with providers
|
|
94
|
+
│ ├── page.tsx # Home page
|
|
95
|
+
│ └── globals.css # Global styles
|
|
96
|
+
├── components/
|
|
97
|
+
│ ├── ui/ # Reusable UI components
|
|
98
|
+
{{#ai.enabled}}
|
|
99
|
+
│ ├── ai/ # AI-specific components
|
|
100
|
+
{{/ai.enabled}}
|
|
101
|
+
│ └── auth/ # Authentication components
|
|
102
|
+
├── providers/ # React context providers
|
|
103
|
+
├── hooks/ # Custom React hooks
|
|
104
|
+
└── lib/ # Utility functions
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
{{#ai.enabled}}
|
|
108
|
+
## AI Features Usage
|
|
109
|
+
|
|
110
|
+
### Chat Interface
|
|
111
|
+
The chat interface provides real-time streaming responses from {{ai.provider}}:
|
|
112
|
+
```tsx
|
|
113
|
+
import { ChatPanel } from '@digilogiclabs/saas-factory-ai/react'
|
|
114
|
+
|
|
115
|
+
<ChatPanel
|
|
116
|
+
placeholder="Ask me anything..."
|
|
117
|
+
onError={(error) => console.error('Chat error:', error)}
|
|
118
|
+
/>
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
{{#ai.hasAudio}}
|
|
122
|
+
### Audio Generation
|
|
123
|
+
Generate custom audio with different styles:
|
|
124
|
+
```tsx
|
|
125
|
+
import { AudioGenerator } from '@/components/ai/audio-generator'
|
|
126
|
+
|
|
127
|
+
<AudioGenerator />
|
|
128
|
+
```
|
|
129
|
+
{{/ai.hasAudio}}
|
|
130
|
+
|
|
131
|
+
{{#ai.hasVideo}}
|
|
132
|
+
### Video Generation
|
|
133
|
+
Create videos from text descriptions:
|
|
134
|
+
```tsx
|
|
135
|
+
import { VideoGenerator } from '@/components/ai/video-generator'
|
|
136
|
+
|
|
137
|
+
<VideoGenerator />
|
|
138
|
+
```
|
|
139
|
+
{{/ai.hasVideo}}
|
|
140
|
+
{{/ai.enabled}}
|
|
141
|
+
|
|
142
|
+
## Deployment
|
|
143
|
+
|
|
144
|
+
### Vercel (Recommended)
|
|
145
|
+
1. Push your code to GitHub
|
|
146
|
+
2. Connect your repo to Vercel
|
|
147
|
+
3. Add your environment variables in Vercel dashboard
|
|
148
|
+
4. Deploy!
|
|
149
|
+
|
|
150
|
+
### Other Platforms
|
|
151
|
+
This is a standard Next.js application and can be deployed to any platform that supports Node.js.
|
|
152
|
+
|
|
153
|
+
## Learn More
|
|
154
|
+
|
|
155
|
+
- [Next.js Documentation](https://nextjs.org/docs)
|
|
156
|
+
- [Supabase Documentation](https://supabase.com/docs)
|
|
157
|
+
{{#ai.enabled}}
|
|
158
|
+
- [SaaS Factory AI Documentation](https://docs.digilogiclabs.com/ai)
|
|
159
|
+
{{/ai.enabled}}
|
|
160
|
+
- [Tailwind CSS](https://tailwindcss.com/docs)
|
|
161
|
+
|
|
162
|
+
## Support
|
|
163
|
+
|
|
164
|
+
- 📚 [Documentation](https://docs.digilogiclabs.com)
|
|
165
|
+
- 💬 [Discord Community](https://discord.gg/digilogiclabs)
|
|
166
|
+
- 🐛 [Issue Tracker](https://github.com/DigiLogicLabs/saas-factory-ai/issues)
|
|
167
|
+
|
|
168
|
+
---
|
|
169
|
+
|
|
170
|
+
Generated with ❤️ by [Digi Logic Labs](https://digilogiclabs.com)
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/** @type {import('next').NextConfig} */
|
|
2
|
+
const nextConfig = {
|
|
3
|
+
experimental: {
|
|
4
|
+
serverComponentsExternalPackages: ['@digilogiclabs/saas-factory-ai'],
|
|
5
|
+
},
|
|
6
|
+
env: {
|
|
7
|
+
NEXT_PUBLIC_SUPABASE_URL: process.env.NEXT_PUBLIC_SUPABASE_URL,
|
|
8
|
+
NEXT_PUBLIC_SUPABASE_ANON_KEY: process.env.NEXT_PUBLIC_SUPABASE_ANON_KEY,
|
|
9
|
+
AI_GATEWAY_URL: process.env.AI_GATEWAY_URL || 'http://localhost:3001',
|
|
10
|
+
},
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
module.exports = nextConfig
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "{{packageName}}",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "{{description}}",
|
|
5
|
+
"scripts": {
|
|
6
|
+
"dev": "next dev",
|
|
7
|
+
"build": "next build",
|
|
8
|
+
"start": "next start",
|
|
9
|
+
"lint": "next lint"
|
|
10
|
+
},
|
|
11
|
+
"dependencies": {
|
|
12
|
+
"@digilogiclabs/saas-factory-ui": "^0.18.1",
|
|
13
|
+
"@digilogiclabs/saas-factory-auth": "^1.0.0",
|
|
14
|
+
"next": "^15.0.0",
|
|
15
|
+
"react": "^19.0.0",
|
|
16
|
+
"react-dom": "^19.0.0",
|
|
17
|
+
"@supabase/supabase-js": "^2.0.0",
|
|
18
|
+
"@supabase/ssr": "^0.1.0",
|
|
19
|
+
"clsx": "^2.0.0",
|
|
20
|
+
"tailwindcss": "^3.3.0",
|
|
21
|
+
"autoprefixer": "^10.4.16",
|
|
22
|
+
"postcss": "^8.4.31"{{#ai.enabled}},
|
|
23
|
+
"@digilogiclabs/saas-factory-ai": "^3.0.0",
|
|
24
|
+
"@digilogiclabs/saas-factory-ai-types": "^3.0.0"{{/ai.enabled}}
|
|
25
|
+
},
|
|
26
|
+
"devDependencies": {
|
|
27
|
+
"@types/node": "^20.0.0",
|
|
28
|
+
"@types/react": "^18.0.0",
|
|
29
|
+
"@types/react-dom": "^18.0.0",
|
|
30
|
+
"eslint": "^8.0.0",
|
|
31
|
+
"prettier": "^3.0.0",
|
|
32
|
+
"typescript": "^5.0.0"
|
|
33
|
+
},
|
|
34
|
+
"engines": {
|
|
35
|
+
"node": ">=18.0.0"
|
|
36
|
+
},
|
|
37
|
+
"author": "{{author}}",
|
|
38
|
+
"license": "MIT"
|
|
39
|
+
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
@tailwind base;
|
|
2
|
+
@tailwind components;
|
|
3
|
+
@tailwind utilities;
|
|
4
|
+
|
|
5
|
+
/* Import SaaS Factory UI styles */
|
|
6
|
+
@import '@digilogiclabs/saas-factory-ui/dist/index.css';
|
|
7
|
+
|
|
8
|
+
@layer base {
|
|
9
|
+
:root {
|
|
10
|
+
--background: 0 0% 100%;
|
|
11
|
+
--foreground: 222.2 84% 4.9%;
|
|
12
|
+
--card: 0 0% 100%;
|
|
13
|
+
--card-foreground: 222.2 84% 4.9%;
|
|
14
|
+
--popover: 0 0% 100%;
|
|
15
|
+
--popover-foreground: 222.2 84% 4.9%;
|
|
16
|
+
--primary: 222.2 47.4% 11.2%;
|
|
17
|
+
--primary-foreground: 210 40% 98%;
|
|
18
|
+
--secondary: 210 40% 96%;
|
|
19
|
+
--secondary-foreground: 222.2 47.4% 11.2%;
|
|
20
|
+
--muted: 210 40% 96%;
|
|
21
|
+
--muted-foreground: 215.4 16.3% 46.9%;
|
|
22
|
+
--accent: 210 40% 96%;
|
|
23
|
+
--accent-foreground: 222.2 47.4% 11.2%;
|
|
24
|
+
--destructive: 0 84.2% 60.2%;
|
|
25
|
+
--destructive-foreground: 210 40% 98%;
|
|
26
|
+
--border: 214.3 31.8% 91.4%;
|
|
27
|
+
--input: 214.3 31.8% 91.4%;
|
|
28
|
+
--ring: 222.2 84% 4.9%;
|
|
29
|
+
--radius: 0.5rem;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
@layer base {
|
|
34
|
+
* {
|
|
35
|
+
@apply border-border;
|
|
36
|
+
}
|
|
37
|
+
body {
|
|
38
|
+
@apply bg-background text-foreground;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import type { Metadata } from 'next'
|
|
2
|
+
import { Inter } from 'next/font/google'
|
|
3
|
+
import './globals.css'
|
|
4
|
+
{{#ai.enabled}}
|
|
5
|
+
import { AIProvider } from '@digilogiclabs/saas-factory-ai/react'
|
|
6
|
+
{{/ai.enabled}}
|
|
7
|
+
import { AuthProvider } from '@/providers/auth-provider'
|
|
8
|
+
|
|
9
|
+
const inter = Inter({ subsets: ['latin'] })
|
|
10
|
+
|
|
11
|
+
export const metadata: Metadata = {
|
|
12
|
+
title: '{{titleCaseName}}',
|
|
13
|
+
description: '{{description}}',
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
export default function RootLayout({
|
|
17
|
+
children,
|
|
18
|
+
}: {
|
|
19
|
+
children: React.ReactNode
|
|
20
|
+
}) {
|
|
21
|
+
return (
|
|
22
|
+
<html lang="en">
|
|
23
|
+
<body className={inter.className}>
|
|
24
|
+
<AuthProvider>
|
|
25
|
+
{{#ai.enabled}}
|
|
26
|
+
<AIProvider
|
|
27
|
+
config={{
|
|
28
|
+
gatewayUrl: process.env.NEXT_PUBLIC_AI_GATEWAY_URL || 'http://localhost:3001',
|
|
29
|
+
}}
|
|
30
|
+
>
|
|
31
|
+
{children}
|
|
32
|
+
</AIProvider>
|
|
33
|
+
{{/ai.enabled}}
|
|
34
|
+
{{^ai.enabled}}
|
|
35
|
+
{children}
|
|
36
|
+
{{/ai.enabled}}
|
|
37
|
+
</AuthProvider>
|
|
38
|
+
</body>
|
|
39
|
+
</html>
|
|
40
|
+
)
|
|
41
|
+
}
|