@agentuity/cli 3.0.0-alpha.1 → 3.0.0-alpha.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 (40) hide show
  1. package/dist/cmd/project/frameworks.d.ts +13 -13
  2. package/dist/cmd/project/frameworks.d.ts.map +1 -1
  3. package/dist/cmd/project/frameworks.js +26 -21
  4. package/dist/cmd/project/frameworks.js.map +1 -1
  5. package/dist/cmd/project/scaffold.d.ts.map +1 -1
  6. package/dist/cmd/project/scaffold.js +13 -23
  7. package/dist/cmd/project/scaffold.js.map +1 -1
  8. package/dist/cmd/project/template-flow.d.ts.map +1 -1
  9. package/dist/cmd/project/template-flow.js +4 -1
  10. package/dist/cmd/project/template-flow.js.map +1 -1
  11. package/package.json +7 -7
  12. package/src/cmd/project/frameworks.ts +31 -47
  13. package/src/cmd/project/scaffold.ts +14 -26
  14. package/src/cmd/project/template-flow.ts +3 -1
  15. package/src/cmd/project/templates/astro/src/pages/api/translate.ts +22 -0
  16. package/src/cmd/project/templates/astro/src/pages/index.astro +160 -0
  17. package/src/cmd/project/templates/hono/src/index.ts +103 -0
  18. package/src/cmd/project/templates/nextjs/src/app/api/translate/route.ts +19 -0
  19. package/src/cmd/project/templates/nextjs/src/app/globals.css +74 -0
  20. package/src/cmd/project/templates/nextjs/src/app/page.tsx +234 -0
  21. package/src/cmd/project/templates/nuxt/app.vue +191 -0
  22. package/src/cmd/project/templates/nuxt/server/api/translate.post.ts +18 -0
  23. package/src/cmd/project/templates/remix/app/routes/api.translate.ts +24 -0
  24. package/src/cmd/project/templates/remix/app/routes/home.tsx +241 -0
  25. package/src/cmd/project/templates/sveltekit/src/routes/+page.server.ts +24 -0
  26. package/src/cmd/project/templates/sveltekit/src/routes/+page.svelte +204 -0
  27. package/src/cmd/project/templates/vite-react/server.ts +39 -0
  28. package/src/cmd/project/templates/vite-react/src/App.tsx +241 -0
  29. package/src/cmd/project/templates/vite-react/src/index.css +31 -0
  30. package/src/cmd/project/templates/vite-react/src/main.tsx +15 -0
  31. package/dist/cmd/project/frameworks-ai-examples.d.ts +0 -15
  32. package/dist/cmd/project/frameworks-ai-examples.d.ts.map +0 -1
  33. package/dist/cmd/project/frameworks-ai-examples.js +0 -160
  34. package/dist/cmd/project/frameworks-ai-examples.js.map +0 -1
  35. package/dist/cmd/project/frameworks-landing-pages.d.ts +0 -17
  36. package/dist/cmd/project/frameworks-landing-pages.d.ts.map +0 -1
  37. package/dist/cmd/project/frameworks-landing-pages.js +0 -242
  38. package/dist/cmd/project/frameworks-landing-pages.js.map +0 -1
  39. package/src/cmd/project/frameworks-ai-examples.ts +0 -166
  40. package/src/cmd/project/frameworks-landing-pages.ts +0 -267
@@ -0,0 +1,241 @@
1
+ import { useState, type ChangeEvent } from 'react';
2
+ import { useMutation } from '@tanstack/react-query';
3
+
4
+ const LANGUAGES = ['Spanish', 'French', 'German', 'Chinese'] as const;
5
+ const MODELS = ['gpt-4o-mini', 'gpt-4o', 'gpt-4.1-nano'] as const;
6
+ const DEFAULT_TEXT =
7
+ 'Welcome to Agentuity! This translation demo shows what you can build with the platform. It connects to AI models through our gateway — no separate API keys needed. Try translating this text into different languages to see it in action.';
8
+
9
+ async function translateText({
10
+ text,
11
+ toLanguage,
12
+ model,
13
+ }: {
14
+ text: string;
15
+ toLanguage: string;
16
+ model: string;
17
+ }) {
18
+ const res = await fetch('/api/translate', {
19
+ method: 'POST',
20
+ headers: { 'Content-Type': 'application/json' },
21
+ body: JSON.stringify({ text, toLanguage, model }),
22
+ });
23
+ if (!res.ok) {
24
+ throw new Error(`API error ${res.status}: ${await res.text()}`);
25
+ }
26
+ return res.json();
27
+ }
28
+
29
+ function App() {
30
+ const [text, setText] = useState(DEFAULT_TEXT);
31
+ const [toLanguage, setToLanguage] = useState<(typeof LANGUAGES)[number]>('Spanish');
32
+ const [model, setModel] = useState<(typeof MODELS)[number]>('gpt-4o-mini');
33
+
34
+ const mutation = useMutation({
35
+ mutationFn: translateText,
36
+ });
37
+
38
+ const handleTranslate = () => {
39
+ mutation.mutate({ text, toLanguage, model });
40
+ };
41
+
42
+ const isLoading = mutation.isPending;
43
+ const error = mutation.error;
44
+ const result = mutation.data;
45
+
46
+ return (
47
+ <div className="flex min-h-screen justify-center font-sans text-white">
48
+ <div className="flex w-full max-w-3xl flex-col gap-4 p-16">
49
+ {/* Header */}
50
+ <div className="relative mb-8 flex flex-col items-center justify-center gap-2 text-center">
51
+ <svg
52
+ aria-hidden="true"
53
+ className="mb-4 h-auto w-12"
54
+ fill="none"
55
+ height="191"
56
+ viewBox="0 0 220 191"
57
+ width="220"
58
+ xmlns="http://www.w3.org/2000/svg"
59
+ >
60
+ <path
61
+ clipRule="evenodd"
62
+ d="M220 191H0L31.427 136.5H0L8 122.5H180.5L220 191ZM47.5879 136.5L24.2339 177H195.766L172.412 136.5H47.5879Z"
63
+ fill="var(--color-cyan-500)"
64
+ fillRule="evenodd"
65
+ />
66
+ <path
67
+ clipRule="evenodd"
68
+ d="M110 0L157.448 82.5H189L197 96.5H54.5L110 0ZM78.7021 82.5L110 28.0811L141.298 82.5H78.7021Z"
69
+ fill="var(--color-cyan-500)"
70
+ fillRule="evenodd"
71
+ />
72
+ </svg>
73
+ <h1 className="text-5xl font-thin">Welcome to Agentuity</h1>
74
+ <p className="text-lg text-gray-400">
75
+ <span className="font-serif italic">Vite + React</span> + AI Gateway
76
+ </p>
77
+ </div>
78
+
79
+ {/* Translate Form */}
80
+ <div className="flex flex-col gap-6 rounded-lg border border-gray-900 bg-black p-8 text-gray-400 shadow-2xl">
81
+ <div className="flex flex-wrap items-center gap-1.5">
82
+ Translate to
83
+ <select
84
+ className="-mb-0.5 cursor-pointer appearance-none border-0 border-b border-dashed border-gray-700 bg-transparent font-normal text-white outline-none hover:border-b-cyan-400 focus:border-b-cyan-400"
85
+ disabled={isLoading}
86
+ onChange={(e: ChangeEvent<HTMLSelectElement>) =>
87
+ setToLanguage(e.currentTarget.value as (typeof LANGUAGES)[number])
88
+ }
89
+ value={toLanguage}
90
+ >
91
+ {LANGUAGES.map((lang) => (
92
+ <option key={lang} value={lang}>
93
+ {lang}
94
+ </option>
95
+ ))}
96
+ </select>
97
+ using
98
+ <select
99
+ className="-mb-0.5 cursor-pointer appearance-none border-0 border-b border-dashed border-gray-700 bg-transparent font-normal text-white outline-none hover:border-b-cyan-400 focus:border-b-cyan-400"
100
+ disabled={isLoading}
101
+ onChange={(e: ChangeEvent<HTMLSelectElement>) =>
102
+ setModel(e.currentTarget.value as (typeof MODELS)[number])
103
+ }
104
+ value={model}
105
+ >
106
+ {MODELS.map((m) => (
107
+ <option key={m} value={m}>
108
+ {m}
109
+ </option>
110
+ ))}
111
+ </select>
112
+ <div className="group relative z-0 ml-auto">
113
+ <div className="absolute inset-0 rounded-lg bg-linear-to-r from-cyan-700 via-blue-500 to-purple-600 opacity-75 blur-xl transition-all duration-700 group-hover:opacity-100 group-hover:blur-2xl" />
114
+ <div className="absolute inset-0 rounded-lg bg-cyan-500/50 opacity-50 blur-3xl" />
115
+ <button
116
+ className="relative cursor-pointer rounded-lg bg-gray-950 px-4 py-2 font-semibold text-white shadow-2xl disabled:cursor-not-allowed disabled:opacity-50"
117
+ disabled={isLoading || !text.trim()}
118
+ onClick={handleTranslate}
119
+ type="button"
120
+ data-loading={isLoading}
121
+ >
122
+ {isLoading ? 'Translating' : 'Translate'}
123
+ </button>
124
+ </div>
125
+ </div>
126
+
127
+ <textarea
128
+ className="z-10 min-h-28 resize-y rounded-md border border-gray-800 bg-gray-950 px-4 py-3 text-sm text-white focus:outline-2 focus:outline-offset-2 focus:outline-cyan-500"
129
+ disabled={isLoading}
130
+ onChange={(e: ChangeEvent<HTMLTextAreaElement>) => setText(e.currentTarget.value)}
131
+ placeholder="Enter text to translate..."
132
+ rows={4}
133
+ value={text}
134
+ />
135
+
136
+ {/* Translation Result */}
137
+ {error ? (
138
+ <div className="rounded-md border border-red-800 bg-red-950 px-4 py-3 text-sm text-red-400">
139
+ {error.message}
140
+ </div>
141
+ ) : isLoading ? (
142
+ <div
143
+ className="rounded-md border border-gray-800 bg-gray-950 px-4 py-3 text-sm text-gray-600"
144
+ data-loading="true"
145
+ />
146
+ ) : !result?.translation ? (
147
+ <div className="output rounded-md border border-gray-800 bg-gray-950 px-4 py-3 text-sm text-gray-600">
148
+ Translation will appear here
149
+ </div>
150
+ ) : (
151
+ <div className="flex flex-col gap-3">
152
+ <div className="output rounded-md border border-gray-800 bg-gray-950 px-4 py-3 text-sm text-cyan-500">
153
+ {result.translation}
154
+ </div>
155
+ <div className="flex gap-4 text-xs text-gray-500">
156
+ {result.tokens > 0 && (
157
+ <span>
158
+ Tokens <strong className="text-gray-400">{result.tokens}</strong>
159
+ </span>
160
+ )}
161
+ <span>
162
+ Model <strong className="text-gray-400">{result.model}</strong>
163
+ </span>
164
+ <span>
165
+ Language <strong className="text-gray-400">{result.toLanguage}</strong>
166
+ </span>
167
+ </div>
168
+ </div>
169
+ )}
170
+ </div>
171
+
172
+ {/* How it works */}
173
+ <div className="rounded-lg border border-gray-900 bg-black p-8">
174
+ <h3 className="m-0 mb-6 text-xl font-normal leading-none text-white">
175
+ How it works
176
+ </h3>
177
+ <div className="flex flex-col gap-6">
178
+ {[
179
+ {
180
+ title: 'AI Gateway routing',
181
+ text: (
182
+ <>
183
+ <code className="text-white">agentuity dev</code> automatically sets
184
+ OPENAI_API_KEY and OPENAI_BASE_URL so the AI SDK routes through the
185
+ Agentuity gateway.
186
+ </>
187
+ ),
188
+ },
189
+ {
190
+ title: 'Server API',
191
+ text: (
192
+ <>
193
+ Edit <code className="text-white">server.ts</code> to change the AI
194
+ model, prompt, or add new endpoints.
195
+ </>
196
+ ),
197
+ },
198
+ {
199
+ title: 'Vite + React',
200
+ text: (
201
+ <>
202
+ Edit <code className="text-white">src/App.tsx</code> for the frontend —
203
+ fast HMR with Vite and TanStack Query for data fetching.
204
+ </>
205
+ ),
206
+ },
207
+ ].map((step) => (
208
+ <div key={step.title} className="flex items-start gap-3">
209
+ <div className="flex size-4 shrink-0 items-center justify-center rounded border border-green-500 bg-green-950">
210
+ <svg
211
+ aria-hidden="true"
212
+ className="size-2.5"
213
+ fill="none"
214
+ height="24"
215
+ stroke="var(--color-green-500)"
216
+ strokeLinecap="round"
217
+ strokeLinejoin="round"
218
+ strokeWidth="2"
219
+ viewBox="0 0 24 24"
220
+ width="24"
221
+ xmlns="http://www.w3.org/2000/svg"
222
+ >
223
+ <path d="M20 6 9 17l-5-5" />
224
+ </svg>
225
+ </div>
226
+ <div>
227
+ <h4 className="-mt-0.5 mb-0.5 text-sm font-normal text-white">
228
+ {step.title}
229
+ </h4>
230
+ <p className="text-xs text-gray-400">{step.text}</p>
231
+ </div>
232
+ </div>
233
+ ))}
234
+ </div>
235
+ </div>
236
+ </div>
237
+ </div>
238
+ );
239
+ }
240
+
241
+ export default App;
@@ -0,0 +1,31 @@
1
+ @import 'tailwindcss';
2
+
3
+ @theme {
4
+ --color-cyan-500: oklch(0.9054 0.15455 194.769);
5
+ --color-cyan-700: oklch(0.6183 0.10555 194.769);
6
+ --color-green-500: oklch(0.723 0.219 149.579);
7
+ --color-green-950: oklch(0.171 0.052 150.3);
8
+ --color-red-400: oklch(0.704 0.191 22.216);
9
+ --color-red-800: oklch(0.395 0.141 25.723);
10
+ --color-red-950: oklch(0.258 0.092 26.042);
11
+ --color-blue-500: oklch(0.623 0.214 259.815);
12
+ --color-purple-600: oklch(0.558 0.288 302.321);
13
+ --animate-ellipsis: ellipsis 1.5s steps(4, end) infinite;
14
+ @keyframes ellipsis {
15
+ 0% { content: '.'; }
16
+ 25% { content: '..'; }
17
+ 50% { content: '...'; }
18
+ 75% { content: ''; }
19
+ }
20
+ }
21
+
22
+ [data-loading='true']::after {
23
+ content: '.';
24
+ @apply inline-block w-4 animate-ellipsis text-left;
25
+ }
26
+
27
+ body {
28
+ background-color: oklch(0.141 0.005 285.823);
29
+ font-family: system-ui, -apple-system, sans-serif;
30
+ margin: 0;
31
+ }
@@ -0,0 +1,15 @@
1
+ import { StrictMode } from 'react';
2
+ import { createRoot } from 'react-dom/client';
3
+ import { QueryClient, QueryClientProvider } from '@tanstack/react-query';
4
+ import App from './App.tsx';
5
+ import './index.css';
6
+
7
+ const queryClient = new QueryClient();
8
+
9
+ createRoot(document.getElementById('root')!).render(
10
+ <StrictMode>
11
+ <QueryClientProvider client={queryClient}>
12
+ <App />
13
+ </QueryClientProvider>
14
+ </StrictMode>,
15
+ );
@@ -1,15 +0,0 @@
1
- /**
2
- * AI SDK example generators for each framework.
3
- *
4
- * Each function returns a map of relative file paths to file contents
5
- * that demonstrate a simple AI chat endpoint using the Vercel AI SDK
6
- * with the Agentuity AI Gateway.
7
- */
8
- export declare function nextjsAiExample(): Record<string, string>;
9
- export declare function nuxtAiExample(): Record<string, string>;
10
- export declare function remixAiExample(): Record<string, string>;
11
- export declare function sveltekitAiExample(): Record<string, string>;
12
- export declare function astroAiExample(): Record<string, string>;
13
- export declare function honoAiExample(): Record<string, string>;
14
- export declare function viteReactAiExample(): Record<string, string>;
15
- //# sourceMappingURL=frameworks-ai-examples.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"frameworks-ai-examples.d.ts","sourceRoot":"","sources":["../../../src/cmd/project/frameworks-ai-examples.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,wBAAgB,eAAe,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAkBxD;AAED,wBAAgB,aAAa,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAiBtD;AAED,wBAAgB,cAAc,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAkBvD;AAED,wBAAgB,kBAAkB,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAmB3D;AAED,wBAAgB,cAAc,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAqBvD;AAED,wBAAgB,aAAa,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAwBtD;AAED,wBAAgB,kBAAkB,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CA4B3D"}
@@ -1,160 +0,0 @@
1
- /**
2
- * AI SDK example generators for each framework.
3
- *
4
- * Each function returns a map of relative file paths to file contents
5
- * that demonstrate a simple AI chat endpoint using the Vercel AI SDK
6
- * with the Agentuity AI Gateway.
7
- */
8
- export function nextjsAiExample() {
9
- return {
10
- 'app/api/chat/route.ts': `import { generateText } from 'ai';
11
- import { openai } from '@ai-sdk/openai';
12
- import { NextResponse } from 'next/server';
13
-
14
- export async function POST(request: Request) {
15
- \tconst { message } = await request.json();
16
-
17
- \tconst { text } = await generateText({
18
- \t\tmodel: openai('gpt-4o-mini'),
19
- \t\tprompt: message,
20
- \t});
21
-
22
- \treturn NextResponse.json({ reply: text });
23
- }
24
- `,
25
- };
26
- }
27
- export function nuxtAiExample() {
28
- return {
29
- 'server/api/chat.post.ts': `import { generateText } from 'ai';
30
- import { openai } from '@ai-sdk/openai';
31
-
32
- export default defineEventHandler(async (event) => {
33
- \tconst { message } = await readBody(event);
34
-
35
- \tconst { text } = await generateText({
36
- \t\tmodel: openai('gpt-4o-mini'),
37
- \t\tprompt: message,
38
- \t});
39
-
40
- \treturn { reply: text };
41
- });
42
- `,
43
- };
44
- }
45
- export function remixAiExample() {
46
- return {
47
- 'app/routes/api.chat.ts': `import { type ActionFunctionArgs, json } from '@remix-run/node';
48
- import { generateText } from 'ai';
49
- import { openai } from '@ai-sdk/openai';
50
-
51
- export async function action({ request }: ActionFunctionArgs) {
52
- \tconst { message } = await request.json();
53
-
54
- \tconst { text } = await generateText({
55
- \t\tmodel: openai('gpt-4o-mini'),
56
- \t\tprompt: message,
57
- \t});
58
-
59
- \treturn json({ reply: text });
60
- }
61
- `,
62
- };
63
- }
64
- export function sveltekitAiExample() {
65
- return {
66
- 'src/routes/api/chat/+server.ts': `import { json } from '@sveltejs/kit';
67
- import type { RequestHandler } from './$types';
68
- import { generateText } from 'ai';
69
- import { openai } from '@ai-sdk/openai';
70
-
71
- export const POST: RequestHandler = async ({ request }) => {
72
- \tconst { message } = await request.json();
73
-
74
- \tconst { text } = await generateText({
75
- \t\tmodel: openai('gpt-4o-mini'),
76
- \t\tprompt: message,
77
- \t});
78
-
79
- \treturn json({ reply: text });
80
- };
81
- `,
82
- };
83
- }
84
- export function astroAiExample() {
85
- return {
86
- 'src/pages/api/chat.ts': `import type { APIRoute } from 'astro';
87
- import { generateText } from 'ai';
88
- import { openai } from '@ai-sdk/openai';
89
-
90
- export const POST: APIRoute = async ({ request }) => {
91
- \tconst { message } = await request.json();
92
-
93
- \tconst { text } = await generateText({
94
- \t\tmodel: openai('gpt-4o-mini'),
95
- \t\tprompt: message,
96
- \t});
97
-
98
- \treturn new Response(
99
- \t\tJSON.stringify({ reply: text }),
100
- \t\t{ headers: { 'Content-Type': 'application/json' } }
101
- \t);
102
- };
103
- `,
104
- };
105
- }
106
- export function honoAiExample() {
107
- return {
108
- 'src/index.ts': `import { Hono } from 'hono';
109
- import { generateText } from 'ai';
110
- import { openai } from '@ai-sdk/openai';
111
-
112
- const app = new Hono();
113
-
114
- app.get('/', (c) => c.text('Hello from Hono + Agentuity!'));
115
-
116
- app.post('/api/chat', async (c) => {
117
- \tconst { message } = await c.req.json();
118
-
119
- \tconst { text } = await generateText({
120
- \t\tmodel: openai('gpt-4o-mini'),
121
- \t\tprompt: message,
122
- \t});
123
-
124
- \treturn c.json({ reply: text });
125
- });
126
-
127
- export default app;
128
- `,
129
- };
130
- }
131
- export function viteReactAiExample() {
132
- return {
133
- 'server.ts': `import { generateText } from 'ai';
134
- import { openai } from '@ai-sdk/openai';
135
-
136
- Bun.serve({
137
- \tport: process.env.PORT ?? 3000,
138
- \tasync fetch(request) {
139
- \t\tconst url = new URL(request.url);
140
-
141
- \t\tif (url.pathname === '/api/chat' && request.method === 'POST') {
142
- \t\t\tconst { message } = await request.json();
143
-
144
- \t\t\tconst { text } = await generateText({
145
- \t\t\t\tmodel: openai('gpt-4o-mini'),
146
- \t\t\t\tprompt: message,
147
- \t\t\t});
148
-
149
- \t\t\treturn Response.json({ reply: text });
150
- \t\t}
151
-
152
- \t\treturn new Response('Not Found', { status: 404 });
153
- \t},
154
- });
155
-
156
- console.log('Server running on http://localhost:' + (process.env.PORT ?? 3000));
157
- `,
158
- };
159
- }
160
- //# sourceMappingURL=frameworks-ai-examples.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"frameworks-ai-examples.js","sourceRoot":"","sources":["../../../src/cmd/project/frameworks-ai-examples.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,MAAM,UAAU,eAAe;IAC9B,OAAO;QACN,uBAAuB,EAAE;;;;;;;;;;;;;;CAc1B;KACC,CAAC;AACH,CAAC;AAED,MAAM,UAAU,aAAa;IAC5B,OAAO;QACN,yBAAyB,EAAE;;;;;;;;;;;;;CAa5B;KACC,CAAC;AACH,CAAC;AAED,MAAM,UAAU,cAAc;IAC7B,OAAO;QACN,wBAAwB,EAAE;;;;;;;;;;;;;;CAc3B;KACC,CAAC;AACH,CAAC;AAED,MAAM,UAAU,kBAAkB;IACjC,OAAO;QACN,gCAAgC,EAAE;;;;;;;;;;;;;;;CAenC;KACC,CAAC;AACH,CAAC;AAED,MAAM,UAAU,cAAc;IAC7B,OAAO;QACN,uBAAuB,EAAE;;;;;;;;;;;;;;;;;CAiB1B;KACC,CAAC;AACH,CAAC;AAED,MAAM,UAAU,aAAa;IAC5B,OAAO;QACN,cAAc,EAAE;;;;;;;;;;;;;;;;;;;;CAoBjB;KACC,CAAC;AACH,CAAC;AAED,MAAM,UAAU,kBAAkB;IACjC,OAAO;QACN,WAAW,EAAE;;;;;;;;;;;;;;;;;;;;;;;;CAwBd;KACC,CAAC;AACH,CAAC"}
@@ -1,17 +0,0 @@
1
- /**
2
- * Agentuity-branded landing page generators for each framework.
3
- *
4
- * Each function returns a map of relative file paths to file contents
5
- * that replace the framework's default landing page with a dark-themed
6
- * Agentuity welcome page matching the brand design system.
7
- *
8
- * Design: dark background (#09090b), cyan accent (#00FFFF), Agentuity
9
- * logo, "Welcome to Agentuity" heading, and framework-specific next steps.
10
- */
11
- export declare function nextjsLandingPage(): Record<string, string>;
12
- export declare function nuxtLandingPage(): Record<string, string>;
13
- export declare function remixLandingPage(): Record<string, string>;
14
- export declare function sveltekitLandingPage(): Record<string, string>;
15
- export declare function astroLandingPage(): Record<string, string>;
16
- export declare function viteReactLandingPage(): Record<string, string>;
17
- //# sourceMappingURL=frameworks-landing-pages.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"frameworks-landing-pages.d.ts","sourceRoot":"","sources":["../../../src/cmd/project/frameworks-landing-pages.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AA6EH,wBAAgB,iBAAiB,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CA6B1D;AAED,wBAAgB,eAAe,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAqBxD;AAED,wBAAgB,gBAAgB,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CA2BzD;AAED,wBAAgB,oBAAoB,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAe7D;AAED,wBAAgB,gBAAgB,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAiBzD;AAED,wBAAgB,oBAAoB,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CA6B7D"}