awel 0.1.2 → 0.2.0
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/cli/agent.d.ts +2 -1
- package/dist/cli/agent.js +3 -2
- package/dist/cli/awel-config.d.ts +4 -0
- package/dist/cli/awel-config.js +8 -0
- package/dist/cli/create.d.ts +1 -0
- package/dist/cli/create.js +136 -0
- package/dist/cli/index.js +58 -4
- package/dist/cli/onboarding.js +3 -3
- package/dist/cli/providers/types.d.ts +2 -0
- package/dist/cli/providers/vercel.js +44 -1
- package/dist/cli/proxy.d.ts +1 -1
- package/dist/cli/proxy.js +40 -7
- package/dist/cli/server.d.ts +2 -1
- package/dist/cli/server.js +14 -3
- package/dist/cli/templates/blank/AGENT.md +24 -0
- package/dist/cli/templates/blank/src/app/page.tsx +10 -0
- package/dist/cli/templates/blog/AGENT.md +26 -0
- package/dist/cli/templates/blog/src/app/blog/[slug]/page.tsx +38 -0
- package/dist/cli/templates/blog/src/app/page.tsx +35 -0
- package/dist/cli/templates/blog/src/lib/posts.ts +42 -0
- package/dist/cli/templates/dashboard/AGENT.md +26 -0
- package/dist/cli/templates/dashboard/src/app/layout.tsx +28 -0
- package/dist/cli/templates/dashboard/src/app/page.tsx +30 -0
- package/dist/cli/templates/dashboard/src/components/Sidebar.tsx +31 -0
- package/dist/cli/templates/dashboard/src/components/StatsCard.tsx +24 -0
- package/dist/cli/templates/landing/AGENT.md +26 -0
- package/dist/cli/templates/landing/src/app/page.tsx +13 -0
- package/dist/cli/templates/landing/src/components/CTA.tsx +23 -0
- package/dist/cli/templates/landing/src/components/Features.tsx +46 -0
- package/dist/cli/templates/landing/src/components/Hero.tsx +26 -0
- package/dist/cli/templates/portfolio/AGENT.md +24 -0
- package/dist/cli/templates/portfolio/src/app/page.tsx +50 -0
- package/dist/cli/templates/portfolio/src/components/ProjectCard.tsx +30 -0
- package/dist/cli/templates/saas/AGENT.md +28 -0
- package/dist/cli/templates/saas/src/app/dashboard/page.tsx +10 -0
- package/dist/cli/templates/saas/src/app/page.tsx +37 -0
- package/dist/cli/templates/saas/src/app/pricing/page.tsx +53 -0
- package/dist/cli/templates/saas/src/components/Navbar.tsx +25 -0
- package/dist/cli/templates/saas/src/components/PricingCard.tsx +46 -0
- package/dist/cli/templates/templates/blank/AGENT.md +24 -0
- package/dist/cli/templates/templates/blank/src/app/page.tsx +10 -0
- package/dist/cli/templates/templates/blog/AGENT.md +26 -0
- package/dist/cli/templates/templates/blog/src/app/blog/[slug]/page.tsx +38 -0
- package/dist/cli/templates/templates/blog/src/app/page.tsx +35 -0
- package/dist/cli/templates/templates/blog/src/lib/posts.ts +42 -0
- package/dist/cli/templates/templates/dashboard/AGENT.md +26 -0
- package/dist/cli/templates/templates/dashboard/src/app/layout.tsx +28 -0
- package/dist/cli/templates/templates/dashboard/src/app/page.tsx +30 -0
- package/dist/cli/templates/templates/dashboard/src/components/Sidebar.tsx +31 -0
- package/dist/cli/templates/templates/dashboard/src/components/StatsCard.tsx +24 -0
- package/dist/cli/templates/templates/landing/AGENT.md +26 -0
- package/dist/cli/templates/templates/landing/src/app/page.tsx +13 -0
- package/dist/cli/templates/templates/landing/src/components/CTA.tsx +23 -0
- package/dist/cli/templates/templates/landing/src/components/Features.tsx +46 -0
- package/dist/cli/templates/templates/landing/src/components/Hero.tsx +26 -0
- package/dist/cli/templates/templates/portfolio/AGENT.md +24 -0
- package/dist/cli/templates/templates/portfolio/src/app/page.tsx +50 -0
- package/dist/cli/templates/templates/portfolio/src/components/ProjectCard.tsx +30 -0
- package/dist/cli/templates/templates/saas/AGENT.md +28 -0
- package/dist/cli/templates/templates/saas/src/app/dashboard/page.tsx +10 -0
- package/dist/cli/templates/templates/saas/src/app/page.tsx +37 -0
- package/dist/cli/templates/templates/saas/src/app/pricing/page.tsx +53 -0
- package/dist/cli/templates/templates/saas/src/components/Navbar.tsx +25 -0
- package/dist/cli/templates/templates/saas/src/components/PricingCard.tsx +46 -0
- package/dist/dashboard/assets/index-3djfaQxV.js +323 -0
- package/dist/dashboard/assets/index-BQNq3kAP.css +1 -0
- package/dist/dashboard/index.html +2 -2
- package/package.json +2 -1
- package/dist/dashboard/assets/index-B374_cjZ.css +0 -1
- package/dist/dashboard/assets/index-BJ6wUfxa.js +0 -318
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { Navbar } from '@/components/Navbar';
|
|
2
|
+
import { PricingCard } from '@/components/PricingCard';
|
|
3
|
+
|
|
4
|
+
const plans = [
|
|
5
|
+
{
|
|
6
|
+
name: 'Free',
|
|
7
|
+
price: '$0',
|
|
8
|
+
period: 'forever',
|
|
9
|
+
description: 'For individuals getting started.',
|
|
10
|
+
features: ['1 project', '100 API calls/day', 'Community support'],
|
|
11
|
+
cta: 'Get started',
|
|
12
|
+
highlighted: false,
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
name: 'Pro',
|
|
16
|
+
price: '$29',
|
|
17
|
+
period: '/month',
|
|
18
|
+
description: 'For growing teams.',
|
|
19
|
+
features: ['Unlimited projects', '10,000 API calls/day', 'Priority support', 'Advanced analytics'],
|
|
20
|
+
cta: 'Start free trial',
|
|
21
|
+
highlighted: true,
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
name: 'Enterprise',
|
|
25
|
+
price: 'Custom',
|
|
26
|
+
period: '',
|
|
27
|
+
description: 'For large organizations.',
|
|
28
|
+
features: ['Unlimited everything', 'Dedicated support', 'Custom integrations', 'SLA guarantee'],
|
|
29
|
+
cta: 'Contact sales',
|
|
30
|
+
highlighted: false,
|
|
31
|
+
},
|
|
32
|
+
];
|
|
33
|
+
|
|
34
|
+
export default function Pricing() {
|
|
35
|
+
return (
|
|
36
|
+
<>
|
|
37
|
+
<Navbar />
|
|
38
|
+
<main className="px-6 py-24">
|
|
39
|
+
<div className="mx-auto max-w-5xl text-center">
|
|
40
|
+
<h1 className="text-4xl font-bold tracking-tight">Simple, transparent pricing</h1>
|
|
41
|
+
<p className="mt-4 text-gray-600 dark:text-gray-400">
|
|
42
|
+
Choose the plan that works for your team.
|
|
43
|
+
</p>
|
|
44
|
+
</div>
|
|
45
|
+
<div className="mx-auto mt-16 grid max-w-5xl gap-8 lg:grid-cols-3">
|
|
46
|
+
{plans.map((plan) => (
|
|
47
|
+
<PricingCard key={plan.name} {...plan} />
|
|
48
|
+
))}
|
|
49
|
+
</div>
|
|
50
|
+
</main>
|
|
51
|
+
</>
|
|
52
|
+
);
|
|
53
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import Link from 'next/link';
|
|
2
|
+
|
|
3
|
+
export function Navbar() {
|
|
4
|
+
return (
|
|
5
|
+
<nav className="flex items-center justify-between px-6 py-4">
|
|
6
|
+
<Link href="/" className="text-lg font-bold">
|
|
7
|
+
SaaSApp
|
|
8
|
+
</Link>
|
|
9
|
+
<div className="flex items-center gap-6">
|
|
10
|
+
<Link
|
|
11
|
+
href="/pricing"
|
|
12
|
+
className="text-sm text-gray-600 hover:text-gray-900 dark:text-gray-400 dark:hover:text-white"
|
|
13
|
+
>
|
|
14
|
+
Pricing
|
|
15
|
+
</Link>
|
|
16
|
+
<Link
|
|
17
|
+
href="/dashboard"
|
|
18
|
+
className="rounded-lg bg-blue-600 px-4 py-2 text-sm font-semibold text-white hover:bg-blue-500"
|
|
19
|
+
>
|
|
20
|
+
Dashboard
|
|
21
|
+
</Link>
|
|
22
|
+
</div>
|
|
23
|
+
</nav>
|
|
24
|
+
);
|
|
25
|
+
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
interface PricingCardProps {
|
|
2
|
+
name: string;
|
|
3
|
+
price: string;
|
|
4
|
+
period: string;
|
|
5
|
+
description: string;
|
|
6
|
+
features: string[];
|
|
7
|
+
cta: string;
|
|
8
|
+
highlighted: boolean;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
export function PricingCard({ name, price, period, description, features, cta, highlighted }: PricingCardProps) {
|
|
12
|
+
return (
|
|
13
|
+
<div
|
|
14
|
+
className={`rounded-xl border p-8 ${
|
|
15
|
+
highlighted
|
|
16
|
+
? 'border-blue-600 ring-2 ring-blue-600 dark:border-blue-400 dark:ring-blue-400'
|
|
17
|
+
: 'border-gray-200 dark:border-gray-800'
|
|
18
|
+
}`}
|
|
19
|
+
>
|
|
20
|
+
<h3 className="text-lg font-semibold">{name}</h3>
|
|
21
|
+
<p className="mt-1 text-sm text-gray-600 dark:text-gray-400">{description}</p>
|
|
22
|
+
<p className="mt-6">
|
|
23
|
+
<span className="text-4xl font-bold">{price}</span>
|
|
24
|
+
{period && <span className="text-sm text-gray-500">{period}</span>}
|
|
25
|
+
</p>
|
|
26
|
+
<ul className="mt-8 space-y-3">
|
|
27
|
+
{features.map((feature) => (
|
|
28
|
+
<li key={feature} className="flex items-center gap-2 text-sm">
|
|
29
|
+
<span className="text-green-600 dark:text-green-400">✓</span>
|
|
30
|
+
{feature}
|
|
31
|
+
</li>
|
|
32
|
+
))}
|
|
33
|
+
</ul>
|
|
34
|
+
<a
|
|
35
|
+
href="/dashboard"
|
|
36
|
+
className={`mt-8 block rounded-lg py-2.5 text-center text-sm font-semibold ${
|
|
37
|
+
highlighted
|
|
38
|
+
? 'bg-blue-600 text-white hover:bg-blue-500'
|
|
39
|
+
: 'border border-gray-300 text-gray-900 hover:bg-gray-50 dark:border-gray-700 dark:text-white dark:hover:bg-gray-800'
|
|
40
|
+
}`}
|
|
41
|
+
>
|
|
42
|
+
{cta}
|
|
43
|
+
</a>
|
|
44
|
+
</div>
|
|
45
|
+
);
|
|
46
|
+
}
|