create-agentic-app 1.1.55 → 1.1.57

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 (49) hide show
  1. package/package.json +1 -1
  2. package/template/.agents/skills/security-scanner/SKILL.md +157 -0
  3. package/template/.agents/skills/security-scanner/references/A01-broken-access-control.md +136 -0
  4. package/template/.agents/skills/security-scanner/references/A02-security-misconfiguration.md +130 -0
  5. package/template/.agents/skills/security-scanner/references/A03-software-supply-chain-failures.md +117 -0
  6. package/template/.agents/skills/security-scanner/references/A04-cryptographic-failures.md +141 -0
  7. package/template/.agents/skills/security-scanner/references/A05-injection.md +155 -0
  8. package/template/.agents/skills/security-scanner/references/A06-insecure-design.md +145 -0
  9. package/template/.agents/skills/security-scanner/references/A07-authentication-failures.md +150 -0
  10. package/template/.agents/skills/security-scanner/references/A08-software-data-integrity-failures.md +132 -0
  11. package/template/.agents/skills/security-scanner/references/A09-security-logging-alerting-failures.md +130 -0
  12. package/template/.agents/skills/security-scanner/references/A10-mishandling-exceptional-conditions.md +154 -0
  13. package/template/.agents/skills/security-scanner/references/report-template.md +148 -0
  14. package/template/.claude/agents/security-scanner.md +214 -0
  15. package/template/.claude/skills/security-scanner/SKILL.md +157 -0
  16. package/template/.claude/skills/security-scanner/references/A01-broken-access-control.md +136 -0
  17. package/template/.claude/skills/security-scanner/references/A02-security-misconfiguration.md +130 -0
  18. package/template/.claude/skills/security-scanner/references/A03-software-supply-chain-failures.md +117 -0
  19. package/template/.claude/skills/security-scanner/references/A04-cryptographic-failures.md +141 -0
  20. package/template/.claude/skills/security-scanner/references/A05-injection.md +155 -0
  21. package/template/.claude/skills/security-scanner/references/A06-insecure-design.md +145 -0
  22. package/template/.claude/skills/security-scanner/references/A07-authentication-failures.md +150 -0
  23. package/template/.claude/skills/security-scanner/references/A08-software-data-integrity-failures.md +132 -0
  24. package/template/.claude/skills/security-scanner/references/A09-security-logging-alerting-failures.md +130 -0
  25. package/template/.claude/skills/security-scanner/references/A10-mishandling-exceptional-conditions.md +154 -0
  26. package/template/.claude/skills/security-scanner/references/report-template.md +148 -0
  27. package/template/AGENTS.md +40 -0
  28. package/template/next-env.d.ts +1 -1
  29. package/template/specs/ui-polish-responsive/README.md +59 -0
  30. package/template/specs/ui-polish-responsive/action-required.md +3 -0
  31. package/template/specs/ui-polish-responsive/requirements.md +53 -0
  32. package/template/specs/ui-polish-responsive/tasks/task-01-globals-css.md +144 -0
  33. package/template/specs/ui-polish-responsive/tasks/task-02-layout.md +66 -0
  34. package/template/specs/ui-polish-responsive/tasks/task-03-site-header.md +79 -0
  35. package/template/specs/ui-polish-responsive/tasks/task-04-site-footer.md +63 -0
  36. package/template/specs/ui-polish-responsive/tasks/task-05-home-page.md +215 -0
  37. package/template/specs/ui-polish-responsive/tasks/task-06-dashboard.md +222 -0
  38. package/template/specs/ui-polish-responsive/tasks/task-07-chat-page.md +225 -0
  39. package/template/specs/ui-polish-responsive/tasks/task-08-profile-page.md +192 -0
  40. package/template/specs/ui-polish-responsive/tasks/task-09-auth-pages.md +97 -0
  41. package/template/specs/ui-polish-responsive/tasks/task-10-setup-checklist.md +120 -0
  42. package/template/specs/ui-polish-responsive/tasks/task-11-starter-prompt-modal.md +87 -0
  43. package/template/src/app/globals.css +65 -7
  44. package/template/src/app/layout.tsx +2 -2
  45. package/template/src/app/page.tsx +174 -174
  46. package/template/src/components/setup-checklist.tsx +162 -162
  47. package/template/src/components/site-footer.tsx +2 -2
  48. package/template/src/components/site-header.tsx +3 -3
  49. package/template/src/components/starter-prompt-modal.tsx +202 -202
@@ -1,174 +1,174 @@
1
- "use client";
2
-
3
- import Link from "next/link";
4
- import { Video, Shield, Database, Palette, Bot } from "lucide-react";
5
- import { SetupChecklist } from "@/components/setup-checklist";
6
- import { StarterPromptModal } from "@/components/starter-prompt-modal";
7
- import { Button } from "@/components/ui/button";
8
- import { useDiagnostics } from "@/hooks/use-diagnostics";
9
-
10
- export default function Home() {
11
- const { isAuthReady, isAiReady, loading } = useDiagnostics();
12
- return (
13
- <main className="flex-1 container mx-auto px-4 py-12">
14
- <div className="max-w-4xl mx-auto text-center space-y-8">
15
- <div className="space-y-4">
16
- <div className="flex items-center justify-center gap-3 mb-2">
17
- <div className="flex items-center justify-center w-12 h-12 rounded-xl bg-primary/10">
18
- <Bot className="h-7 w-7 text-primary" />
19
- </div>
20
- <h1 className="text-5xl font-bold tracking-tight bg-gradient-to-r from-primary via-primary/90 to-primary/70 bg-clip-text text-transparent">
21
- Starter Kit
22
- </h1>
23
- </div>
24
- <h2 className="text-2xl font-semibold text-muted-foreground">
25
- Complete Boilerplate for AI Applications
26
- </h2>
27
- <p className="text-xl text-muted-foreground">
28
- A complete agentic coding boilerplate with authentication, database, AI
29
- integration, and modern tooling for building AI-powered applications
30
- </p>
31
- </div>
32
-
33
- {/* YouTube Tutorial Video */}
34
- <div className="space-y-4">
35
- <h3 className="text-2xl font-semibold flex items-center justify-center gap-2">
36
- <Video className="h-6 w-6" />
37
- Video Tutorial
38
- </h3>
39
- <p className="text-muted-foreground">
40
- Watch the complete walkthrough of this agentic coding boilerplate:
41
- </p>
42
- <div className="relative w-full max-w-3xl mx-auto">
43
- <div className="relative pb-[56.25%] h-0 overflow-hidden rounded-lg border">
44
- <iframe
45
- className="absolute top-0 left-0 w-full h-full"
46
- src="https://www.youtube.com/embed/JQ86N3WOAh4"
47
- title="Agentic Coding Boilerplate Tutorial"
48
- allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"
49
- allowFullScreen
50
- />
51
- </div>
52
- </div>
53
- </div>
54
-
55
- <div className="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-6 mt-12">
56
- <div className="p-6 border rounded-lg">
57
- <h3 className="font-semibold mb-2 flex items-center gap-2">
58
- <Shield className="h-4 w-4" />
59
- Authentication
60
- </h3>
61
- <p className="text-sm text-muted-foreground">
62
- Better Auth with Google OAuth integration
63
- </p>
64
- </div>
65
- <div className="p-6 border rounded-lg">
66
- <h3 className="font-semibold mb-2 flex items-center gap-2">
67
- <Database className="h-4 w-4" />
68
- Database
69
- </h3>
70
- <p className="text-sm text-muted-foreground">
71
- Drizzle ORM with PostgreSQL setup
72
- </p>
73
- </div>
74
- <div className="p-6 border rounded-lg">
75
- <h3 className="font-semibold mb-2 flex items-center gap-2">
76
- <Bot className="h-4 w-4" />
77
- AI Ready
78
- </h3>
79
- <p className="text-sm text-muted-foreground">
80
- Vercel AI SDK with OpenRouter integration
81
- </p>
82
- </div>
83
- <div className="p-6 border rounded-lg">
84
- <h3 className="font-semibold mb-2 flex items-center gap-2">
85
- <Palette className="h-4 w-4" />
86
- UI Components
87
- </h3>
88
- <p className="text-sm text-muted-foreground">
89
- shadcn/ui with Tailwind CSS
90
- </p>
91
- </div>
92
- </div>
93
-
94
- <div className="space-y-6 mt-12">
95
- <SetupChecklist />
96
-
97
- <h3 className="text-2xl font-semibold">Next Steps</h3>
98
- <div className="grid grid-cols-1 md:grid-cols-2 gap-4 text-left">
99
- <div className="p-4 border rounded-lg">
100
- <h4 className="font-medium mb-2">
101
- 1. Set up environment variables
102
- </h4>
103
- <p className="text-sm text-muted-foreground mb-2">
104
- Copy <code>.env.example</code> to <code>.env.local</code> and
105
- configure:
106
- </p>
107
- <ul className="text-sm text-muted-foreground space-y-1 list-disc list-inside">
108
- <li>POSTGRES_URL (PostgreSQL connection string)</li>
109
- <li>GOOGLE_CLIENT_ID (OAuth credentials)</li>
110
- <li>GOOGLE_CLIENT_SECRET (OAuth credentials)</li>
111
- <li>OPENROUTER_API_KEY (for AI functionality)</li>
112
- </ul>
113
- </div>
114
- <div className="p-4 border rounded-lg">
115
- <h4 className="font-medium mb-2">2. Set up your database</h4>
116
- <p className="text-sm text-muted-foreground mb-2">
117
- Run database migrations:
118
- </p>
119
- <div className="space-y-2">
120
- <code className="text-sm bg-muted p-2 rounded block">
121
- npm run db:generate
122
- </code>
123
- <code className="text-sm bg-muted p-2 rounded block">
124
- npm run db:migrate
125
- </code>
126
- </div>
127
- </div>
128
- <div className="p-4 border rounded-lg">
129
- <h4 className="font-medium mb-2">3. Try the features</h4>
130
- <div className="space-y-2">
131
- {loading || !isAuthReady ? (
132
- <Button size="sm" className="w-full" disabled={true}>
133
- View Dashboard
134
- </Button>
135
- ) : (
136
- <Button asChild size="sm" className="w-full">
137
- <Link href="/dashboard">View Dashboard</Link>
138
- </Button>
139
- )}
140
- {loading || !isAiReady ? (
141
- <Button
142
- variant="outline"
143
- size="sm"
144
- className="w-full"
145
- disabled={true}
146
- >
147
- Try AI Chat
148
- </Button>
149
- ) : (
150
- <Button
151
- asChild
152
- variant="outline"
153
- size="sm"
154
- className="w-full"
155
- >
156
- <Link href="/chat">Try AI Chat</Link>
157
- </Button>
158
- )}
159
- </div>
160
- </div>
161
- <div className="p-4 border rounded-lg">
162
- <h4 className="font-medium mb-2">4. Start building</h4>
163
- <p className="text-sm text-muted-foreground mb-3">
164
- Customize the components, add your own pages, and build your
165
- application on top of this solid foundation.
166
- </p>
167
- <StarterPromptModal />
168
- </div>
169
- </div>
170
- </div>
171
- </div>
172
- </main>
173
- );
174
- }
1
+ "use client";
2
+
3
+ import Link from "next/link";
4
+ import { Video, Shield, Database, Palette, Bot } from "lucide-react";
5
+ import { SetupChecklist } from "@/components/setup-checklist";
6
+ import { StarterPromptModal } from "@/components/starter-prompt-modal";
7
+ import { Button } from "@/components/ui/button";
8
+ import { useDiagnostics } from "@/hooks/use-diagnostics";
9
+
10
+ export default function Home() {
11
+ const { isAuthReady, isAiReady, loading } = useDiagnostics();
12
+ return (
13
+ <main className="flex-1 container mx-auto px-4 py-12">
14
+ <div className="max-w-4xl mx-auto text-center space-y-8">
15
+ <div className="space-y-4">
16
+ <div className="flex items-center justify-center gap-3 mb-2">
17
+ <div className="flex items-center justify-center w-12 h-12 rounded-xl bg-primary/10">
18
+ <Bot className="h-7 w-7 text-primary" />
19
+ </div>
20
+ <h1 className="text-5xl font-bold tracking-tight bg-gradient-to-r from-primary via-primary/90 to-primary/70 bg-clip-text text-transparent">
21
+ Starter Kit
22
+ </h1>
23
+ </div>
24
+ <h2 className="text-2xl font-semibold text-muted-foreground">
25
+ Complete Boilerplate for AI Applications
26
+ </h2>
27
+ <p className="text-xl text-muted-foreground">
28
+ A complete agentic coding boilerplate with authentication, database, AI
29
+ integration, and modern tooling for building AI-powered applications
30
+ </p>
31
+ </div>
32
+
33
+ {/* YouTube Tutorial Video */}
34
+ <div className="space-y-4">
35
+ <h3 className="text-2xl font-semibold flex items-center justify-center gap-2">
36
+ <Video className="h-6 w-6" />
37
+ Video Tutorial
38
+ </h3>
39
+ <p className="text-muted-foreground">
40
+ Watch the complete walkthrough of this agentic coding boilerplate:
41
+ </p>
42
+ <div className="relative w-full max-w-3xl mx-auto">
43
+ <div className="relative pb-[56.25%] h-0 overflow-hidden rounded-lg border">
44
+ <iframe
45
+ className="absolute top-0 left-0 w-full h-full"
46
+ src="https://www.youtube.com/embed/JQ86N3WOAh4"
47
+ title="Agentic Coding Boilerplate Tutorial"
48
+ allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"
49
+ allowFullScreen
50
+ />
51
+ </div>
52
+ </div>
53
+ </div>
54
+
55
+ <div className="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-6 mt-12">
56
+ <div className="p-6 border rounded-lg">
57
+ <h3 className="font-semibold mb-2 flex items-center gap-2">
58
+ <Shield className="h-4 w-4" />
59
+ Authentication
60
+ </h3>
61
+ <p className="text-sm text-muted-foreground">
62
+ Better Auth with Google OAuth integration
63
+ </p>
64
+ </div>
65
+ <div className="p-6 border rounded-lg">
66
+ <h3 className="font-semibold mb-2 flex items-center gap-2">
67
+ <Database className="h-4 w-4" />
68
+ Database
69
+ </h3>
70
+ <p className="text-sm text-muted-foreground">
71
+ Drizzle ORM with PostgreSQL setup
72
+ </p>
73
+ </div>
74
+ <div className="p-6 border rounded-lg">
75
+ <h3 className="font-semibold mb-2 flex items-center gap-2">
76
+ <Bot className="h-4 w-4" />
77
+ AI Ready
78
+ </h3>
79
+ <p className="text-sm text-muted-foreground">
80
+ Vercel AI SDK with OpenRouter integration
81
+ </p>
82
+ </div>
83
+ <div className="p-6 border rounded-lg">
84
+ <h3 className="font-semibold mb-2 flex items-center gap-2">
85
+ <Palette className="h-4 w-4" />
86
+ UI Components
87
+ </h3>
88
+ <p className="text-sm text-muted-foreground">
89
+ shadcn/ui with Tailwind CSS
90
+ </p>
91
+ </div>
92
+ </div>
93
+
94
+ <div className="space-y-6 mt-12">
95
+ <SetupChecklist />
96
+
97
+ <h3 className="text-2xl font-semibold">Next Steps</h3>
98
+ <div className="grid grid-cols-1 md:grid-cols-2 gap-4 text-left">
99
+ <div className="p-4 border rounded-lg">
100
+ <h4 className="font-medium mb-2">
101
+ 1. Set up environment variables
102
+ </h4>
103
+ <p className="text-sm text-muted-foreground mb-2">
104
+ Copy <code>.env.example</code> to <code>.env.local</code> and
105
+ configure:
106
+ </p>
107
+ <ul className="text-sm text-muted-foreground space-y-1 list-disc list-inside">
108
+ <li>POSTGRES_URL (PostgreSQL connection string)</li>
109
+ <li>GOOGLE_CLIENT_ID (OAuth credentials)</li>
110
+ <li>GOOGLE_CLIENT_SECRET (OAuth credentials)</li>
111
+ <li>OPENROUTER_API_KEY (for AI functionality)</li>
112
+ </ul>
113
+ </div>
114
+ <div className="p-4 border rounded-lg">
115
+ <h4 className="font-medium mb-2">2. Set up your database</h4>
116
+ <p className="text-sm text-muted-foreground mb-2">
117
+ Run database migrations:
118
+ </p>
119
+ <div className="space-y-2">
120
+ <code className="text-sm bg-muted p-2 rounded block">
121
+ npm run db:generate
122
+ </code>
123
+ <code className="text-sm bg-muted p-2 rounded block">
124
+ npm run db:migrate
125
+ </code>
126
+ </div>
127
+ </div>
128
+ <div className="p-4 border rounded-lg">
129
+ <h4 className="font-medium mb-2">3. Try the features</h4>
130
+ <div className="space-y-2">
131
+ {loading || !isAuthReady ? (
132
+ <Button size="sm" className="w-full" disabled={true}>
133
+ View Dashboard
134
+ </Button>
135
+ ) : (
136
+ <Button asChild size="sm" className="w-full">
137
+ <Link href="/dashboard">View Dashboard</Link>
138
+ </Button>
139
+ )}
140
+ {loading || !isAiReady ? (
141
+ <Button
142
+ variant="outline"
143
+ size="sm"
144
+ className="w-full"
145
+ disabled={true}
146
+ >
147
+ Try AI Chat
148
+ </Button>
149
+ ) : (
150
+ <Button
151
+ asChild
152
+ variant="outline"
153
+ size="sm"
154
+ className="w-full"
155
+ >
156
+ <Link href="/chat">Try AI Chat</Link>
157
+ </Button>
158
+ )}
159
+ </div>
160
+ </div>
161
+ <div className="p-4 border rounded-lg">
162
+ <h4 className="font-medium mb-2">4. Start building</h4>
163
+ <p className="text-sm text-muted-foreground mb-3">
164
+ Customize the components, add your own pages, and build your
165
+ application on top of this solid foundation.
166
+ </p>
167
+ <StarterPromptModal />
168
+ </div>
169
+ </div>
170
+ </div>
171
+ </div>
172
+ </main>
173
+ );
174
+ }