shipd 0.1.3 → 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.
Files changed (116) hide show
  1. package/base-package/app/globals.css +126 -0
  2. package/base-package/app/layout.tsx +53 -0
  3. package/base-package/app/page.tsx +15 -0
  4. package/base-package/base.config.json +57 -0
  5. package/base-package/components/ui/avatar.tsx +53 -0
  6. package/base-package/components/ui/badge.tsx +46 -0
  7. package/base-package/components/ui/button.tsx +59 -0
  8. package/base-package/components/ui/card.tsx +92 -0
  9. package/base-package/components/ui/chart.tsx +353 -0
  10. package/base-package/components/ui/checkbox.tsx +32 -0
  11. package/base-package/components/ui/dialog.tsx +135 -0
  12. package/base-package/components/ui/dropdown-menu.tsx +257 -0
  13. package/base-package/components/ui/form.tsx +167 -0
  14. package/base-package/components/ui/input.tsx +21 -0
  15. package/base-package/components/ui/label.tsx +24 -0
  16. package/base-package/components/ui/progress.tsx +31 -0
  17. package/base-package/components/ui/resizable.tsx +56 -0
  18. package/base-package/components/ui/select.tsx +185 -0
  19. package/base-package/components/ui/separator.tsx +28 -0
  20. package/base-package/components/ui/sheet.tsx +139 -0
  21. package/base-package/components/ui/skeleton.tsx +13 -0
  22. package/base-package/components/ui/sonner.tsx +25 -0
  23. package/base-package/components/ui/switch.tsx +31 -0
  24. package/base-package/components/ui/tabs.tsx +66 -0
  25. package/base-package/components/ui/textarea.tsx +18 -0
  26. package/base-package/components/ui/toggle-group.tsx +73 -0
  27. package/base-package/components/ui/toggle.tsx +47 -0
  28. package/base-package/components/ui/tooltip.tsx +61 -0
  29. package/base-package/components.json +21 -0
  30. package/base-package/eslint.config.mjs +16 -0
  31. package/base-package/lib/utils.ts +6 -0
  32. package/base-package/middleware.ts +12 -0
  33. package/base-package/next.config.ts +27 -0
  34. package/base-package/package.json +49 -0
  35. package/base-package/postcss.config.mjs +5 -0
  36. package/base-package/public/favicon.svg +4 -0
  37. package/base-package/tailwind.config.ts +89 -0
  38. package/base-package/tsconfig.json +27 -0
  39. package/dist/index.js +1858 -956
  40. package/docs-template/README.md +74 -0
  41. package/features/ai-chat/README.md +316 -0
  42. package/features/ai-chat/app/api/chat/route.ts +16 -0
  43. package/features/ai-chat/app/dashboard/_components/chatbot.tsx +39 -0
  44. package/features/ai-chat/app/dashboard/chat/page.tsx +73 -0
  45. package/features/ai-chat/feature.config.json +22 -0
  46. package/features/analytics/README.md +364 -0
  47. package/features/analytics/feature.config.json +20 -0
  48. package/features/analytics/lib/posthog.ts +36 -0
  49. package/features/auth/README.md +409 -0
  50. package/features/auth/app/api/auth/[...all]/route.ts +4 -0
  51. package/features/auth/app/dashboard/layout.tsx +15 -0
  52. package/features/auth/app/dashboard/page.tsx +140 -0
  53. package/features/auth/app/sign-in/page.tsx +228 -0
  54. package/features/auth/app/sign-up/page.tsx +243 -0
  55. package/features/auth/auth-schema.ts +47 -0
  56. package/features/auth/components/auth/setup-instructions.tsx +123 -0
  57. package/features/auth/feature.config.json +33 -0
  58. package/features/auth/lib/auth-client.ts +8 -0
  59. package/features/auth/lib/auth.ts +295 -0
  60. package/features/auth/lib/email-stub.ts +55 -0
  61. package/features/auth/lib/email.ts +47 -0
  62. package/features/auth/middleware.patch.ts +43 -0
  63. package/features/database/README.md +312 -0
  64. package/features/database/db/drizzle.ts +48 -0
  65. package/features/database/db/schema.ts +21 -0
  66. package/features/database/drizzle.config.ts +13 -0
  67. package/features/database/feature.config.json +30 -0
  68. package/features/email/README.md +341 -0
  69. package/features/email/emails/components/layout.tsx +181 -0
  70. package/features/email/emails/password-reset.tsx +67 -0
  71. package/features/email/emails/payment-failed.tsx +167 -0
  72. package/features/email/emails/subscription-confirmation.tsx +129 -0
  73. package/features/email/emails/welcome.tsx +100 -0
  74. package/features/email/feature.config.json +22 -0
  75. package/features/email/lib/email.ts +118 -0
  76. package/features/file-upload/README.md +329 -0
  77. package/features/file-upload/app/api/upload-image/route.ts +64 -0
  78. package/features/file-upload/app/dashboard/upload/page.tsx +324 -0
  79. package/features/file-upload/feature.config.json +23 -0
  80. package/features/file-upload/lib/upload-image.ts +28 -0
  81. package/features/marketing-landing/README.md +333 -0
  82. package/features/marketing-landing/app/page.tsx +25 -0
  83. package/features/marketing-landing/components/homepage/cli-workflow-section.tsx +231 -0
  84. package/features/marketing-landing/components/homepage/features-section.tsx +152 -0
  85. package/features/marketing-landing/components/homepage/footer.tsx +53 -0
  86. package/features/marketing-landing/components/homepage/hero-section.tsx +112 -0
  87. package/features/marketing-landing/components/homepage/integrations.tsx +124 -0
  88. package/features/marketing-landing/components/homepage/navigation.tsx +116 -0
  89. package/features/marketing-landing/components/homepage/news-section.tsx +82 -0
  90. package/features/marketing-landing/components/homepage/pricing-section.tsx +98 -0
  91. package/features/marketing-landing/components/homepage/testimonials-section.tsx +34 -0
  92. package/features/marketing-landing/components/logos/BetterAuth.tsx +21 -0
  93. package/features/marketing-landing/components/logos/NeonPostgres.tsx +41 -0
  94. package/features/marketing-landing/components/logos/Nextjs.tsx +72 -0
  95. package/features/marketing-landing/components/logos/Polar.tsx +7 -0
  96. package/features/marketing-landing/components/logos/TailwindCSS.tsx +27 -0
  97. package/features/marketing-landing/components/logos/index.ts +6 -0
  98. package/features/marketing-landing/components/logos/shadcnui.tsx +8 -0
  99. package/features/marketing-landing/feature.config.json +23 -0
  100. package/features/payments/README.md +375 -0
  101. package/features/payments/app/api/subscription/route.ts +25 -0
  102. package/features/payments/app/dashboard/payment/_components/manage-subscription.tsx +22 -0
  103. package/features/payments/app/dashboard/payment/page.tsx +126 -0
  104. package/features/payments/app/success/page.tsx +123 -0
  105. package/features/payments/feature.config.json +31 -0
  106. package/features/payments/lib/polar-products.ts +49 -0
  107. package/features/payments/lib/subscription.ts +148 -0
  108. package/features/payments/payments-schema.ts +30 -0
  109. package/features/seo/README.md +302 -0
  110. package/features/seo/app/blog/[slug]/page.tsx +314 -0
  111. package/features/seo/app/blog/page.tsx +107 -0
  112. package/features/seo/app/robots.txt +13 -0
  113. package/features/seo/app/sitemap.ts +70 -0
  114. package/features/seo/feature.config.json +19 -0
  115. package/features/seo/lib/seo-utils.ts +163 -0
  116. package/package.json +3 -1
@@ -0,0 +1,333 @@
1
+ # Marketing Landing Module - Integration Guide
2
+
3
+ **Module Version:** 1.0.0
4
+ **Last Updated:** 2025-12-22
5
+ **Standalone:** ✅ Yes (includes all dependencies)
6
+
7
+ ---
8
+
9
+ ## Overview
10
+
11
+ This module adds a complete, production-ready marketing landing page to your Next.js application. It includes a beautiful hero section, features showcase, CLI workflow demonstration, integrations display, testimonials, news section, pricing table, and footer.
12
+
13
+ **Key Features:**
14
+ - Modern hero section with animated gradients
15
+ - Features table showcasing all available options
16
+ - Interactive CLI workflow demonstration
17
+ - Technology integrations showcase
18
+ - Testimonials section
19
+ - News/blog section
20
+ - Static pricing table (no payment integration required)
21
+ - Responsive navigation with mobile menu
22
+ - Professional footer with links
23
+
24
+ ---
25
+
26
+ ## Files Added
27
+
28
+ ### Pages/Routes
29
+ - `app/page.tsx` - Main landing page that assembles all marketing sections
30
+
31
+ ### Components
32
+ - `components/homepage/navigation.tsx` - Fixed header navigation with mobile menu
33
+ - `components/homepage/hero-section.tsx` - Hero section with CTA buttons
34
+ - `components/homepage/cli-workflow-section.tsx` - Interactive CLI demonstration
35
+ - `components/homepage/features-section.tsx` - Features table with implementation status
36
+ - `components/homepage/testimonials-section.tsx` - Testimonials display
37
+ - `components/homepage/news-section.tsx` - News/blog section
38
+ - `components/homepage/integrations.tsx` - Technology stack showcase
39
+ - `components/homepage/pricing-section.tsx` - Static pricing table
40
+ - `components/homepage/footer.tsx` - Footer with links and copyright
41
+
42
+ ### Logo Components
43
+ - `components/logos/BetterAuth.tsx` - Better Auth logo component
44
+ - `components/logos/NeonPostgres.tsx` - Neon Postgres logo component
45
+ - `components/logos/Nextjs.tsx` - Next.js logo component
46
+ - `components/logos/Polar.tsx` - Polar.sh logo component
47
+ - `components/logos/TailwindCSS.tsx` - Tailwind CSS logo component
48
+ - `components/logos/shadcnui.tsx` - shadcn/ui logo component
49
+ - `components/logos/index.ts` - Logo components export
50
+
51
+ ---
52
+
53
+ ## Dependencies
54
+
55
+ ### Package Dependencies
56
+ This module uses dependencies already included in the base package:
57
+ - `next` - Next.js framework
58
+ - `react` & `react-dom` - React library
59
+ - `lucide-react` - Icons (already in base)
60
+ - UI components from base package (`components/ui/*`)
61
+
62
+ **No additional dependencies required!** This module is designed to work with the base package.
63
+
64
+ ### Included Components
65
+ This module uses UI components from the base package:
66
+ - ✅ `components/ui/button.tsx` - For CTA buttons
67
+ - ✅ `components/ui/card.tsx` - For feature cards
68
+ - ✅ `components/ui/badge.tsx` - For status badges
69
+
70
+ ---
71
+
72
+ ## Environment Variables
73
+
74
+ No environment variables required for this module.
75
+
76
+ ---
77
+
78
+ ## Manual Integration Steps
79
+
80
+ If you're appending this module to an existing project, follow these steps:
81
+
82
+ ### Step 1: Verify Files Were Added
83
+
84
+ Check that the following directories exist:
85
+ - `app/page.tsx` - Should be the new landing page (or check if it already existed)
86
+ - `components/homepage/` - Should contain all marketing components
87
+ - `components/logos/` - Should contain logo components
88
+
89
+ **Note:** If `app/page.tsx` already exists, the append command will skip it. You'll need to manually merge the landing page content.
90
+
91
+ ### Step 2: Access the Landing Page
92
+
93
+ 1. Start your dev server: `npm run dev`
94
+ 2. Visit `http://localhost:3000` in your browser
95
+ 3. You should see the complete marketing landing page
96
+
97
+ ### Step 3: Customize Content
98
+
99
+ #### Update Navigation Links
100
+ Edit `components/homepage/navigation.tsx`:
101
+ ```typescript
102
+ const navLinks = [
103
+ { name: "Features", href: "#features" },
104
+ { name: "Pricing", href: "#pricing" },
105
+ // Add your own links
106
+ ];
107
+ ```
108
+
109
+ #### Update Hero Section
110
+ Edit `components/homepage/hero-section.tsx`:
111
+ - Change heading text
112
+ - Update CTA button links
113
+ - Modify feature pills
114
+
115
+ #### Update Features Table
116
+ Edit `components/homepage/features-section.tsx`:
117
+ - Modify the `features` array to reflect your actual features
118
+ - Update implementation status
119
+ - Add/remove categories
120
+
121
+ #### Update Pricing
122
+ Edit `components/homepage/pricing-section.tsx`:
123
+ - Modify the `plans` array
124
+ - Update pricing tiers
125
+ - Change feature highlights
126
+
127
+ #### Update Footer
128
+ Edit `components/homepage/footer.tsx`:
129
+ - Update links array
130
+ - Change copyright text
131
+ - Modify social links
132
+
133
+ ### Step 4: Customize Styling
134
+
135
+ The landing page uses a dark theme with orange accent colors (`#ff5722`). To customize:
136
+ - Edit component files in `components/homepage/`
137
+ - Modify Tailwind classes directly
138
+ - Change color scheme by replacing `#ff5722` with your brand color
139
+
140
+ ---
141
+
142
+ ## Usage Examples
143
+
144
+ ### Basic Landing Page
145
+
146
+ The landing page is automatically assembled in `app/page.tsx`:
147
+
148
+ ```typescript
149
+ import Navigation from "@/components/homepage/navigation";
150
+ import HeroSection from "@/components/homepage/hero-section";
151
+ // ... other imports
152
+
153
+ export default function Home() {
154
+ return (
155
+ <>
156
+ <Navigation />
157
+ <HeroSection />
158
+ {/* ... other sections */}
159
+ <FooterSection />
160
+ </>
161
+ );
162
+ }
163
+ ```
164
+
165
+ ### Custom Section Order
166
+
167
+ You can reorder or remove sections:
168
+
169
+ ```typescript
170
+ export default function Home() {
171
+ return (
172
+ <>
173
+ <Navigation />
174
+ <HeroSection />
175
+ <FeaturesSection />
176
+ {/* Skip CLI workflow section */}
177
+ <Integrations />
178
+ <PricingSection />
179
+ <FooterSection />
180
+ </>
181
+ );
182
+ }
183
+ ```
184
+
185
+ ---
186
+
187
+ ## Customization
188
+
189
+ ### Styling
190
+ - All components use Tailwind CSS
191
+ - Dark theme with orange accent (`#ff5722`)
192
+ - Responsive design (mobile-first)
193
+ - Customize by editing component files directly
194
+
195
+ ### Content
196
+ - Edit component files to change text content
197
+ - Update logo components in `components/logos/`
198
+ - Modify navigation structure in `navigation.tsx`
199
+
200
+ ### Branding
201
+ - Replace logo in navigation component
202
+ - Update color scheme (search for `#ff5722` and replace)
203
+ - Customize footer links and copyright
204
+
205
+ ---
206
+
207
+ ## Troubleshooting
208
+
209
+ ### Common Issues
210
+
211
+ **Issue:** Landing page shows blank or errors
212
+ **Solution:**
213
+ - Verify `app/page.tsx` exists and imports all components correctly
214
+ - Check that all component files were copied
215
+ - Ensure base UI components exist (`components/ui/*`)
216
+ - Restart dev server
217
+
218
+ **Issue:** Navigation links don't work
219
+ **Solution:**
220
+ - Verify anchor links match section IDs (e.g., `#features`, `#pricing`)
221
+ - Check that sections have correct IDs in their components
222
+ - Ensure Next.js Link component is used correctly
223
+
224
+ **Issue:** Components not found
225
+ **Solution:**
226
+ - Verify `components/homepage/` directory exists
227
+ - Check import paths use `@/` alias (configured in `tsconfig.json`)
228
+ - Ensure all logo components are in `components/logos/`
229
+
230
+ **Issue:** Styling looks broken
231
+ **Solution:**
232
+ - Verify Tailwind CSS is configured in `tailwind.config.ts`
233
+ - Check that `app/globals.css` includes Tailwind directives
234
+ - Ensure base package UI components are present
235
+
236
+ ---
237
+
238
+ ## Next Steps
239
+
240
+ After installing this module:
241
+
242
+ 1. ✅ Visit `/` to see your landing page
243
+ 2. ✅ Customize hero section with your brand messaging
244
+ 3. ✅ Update features table to reflect your actual features
245
+ 4. ✅ Modify pricing section (or integrate with payments module)
246
+ 5. ✅ Update footer with your links and copyright
247
+ 6. ✅ Customize color scheme to match your brand
248
+
249
+ ---
250
+
251
+ ## Related Modules
252
+
253
+ This module works well with:
254
+ - **Authentication Module** - Add sign-in/sign-up links to navigation
255
+ - **Payments Module** - Replace static pricing with dynamic subscription pricing
256
+ - **Docs Module** - Add documentation link to navigation
257
+
258
+ ---
259
+
260
+ ## Module Status
261
+
262
+ ✅ **Standalone Package** - All components included
263
+ ✅ **No Missing Dependencies** - Uses base package dependencies
264
+ ✅ **Ready to Use** - Works immediately after append
265
+ ✅ **Well Documented** - Comprehensive integration guide
266
+ ✅ **Smart Deduplication** - Won't overwrite existing `app/page.tsx`
267
+
268
+ ---
269
+
270
+ ## AI Integration Prompt
271
+
272
+ **For AI Assistants:** Use this prompt to understand and integrate the Marketing Landing Page module into an existing Next.js application.
273
+
274
+ ```
275
+ The Marketing Landing Page module has been appended to this Next.js project. Your task is to ensure it's properly integrated and functional.
276
+
277
+ **Installed Packages:**
278
+ - No additional packages (uses base package dependencies: @radix-ui components, lucide-react, tailwindcss)
279
+
280
+ **Files Added:**
281
+ - app/page.tsx - Full marketing landing page (replaces base page.tsx)
282
+ - components/homepage/hero-section.tsx - Hero section with CTA buttons
283
+ - components/homepage/navigation.tsx - Site navigation header
284
+ - components/homepage/features-section.tsx - Features table/grid
285
+ - components/homepage/cli-workflow-section.tsx - CLI workflow demonstration
286
+ - components/homepage/testimonials-section.tsx - Stats/testimonials section
287
+ - components/homepage/integrations.tsx - Technology logos/integrations
288
+ - components/homepage/news-section.tsx - Blog/news preview section
289
+ - components/homepage/pricing-section.tsx - Pricing section (if not using payments module)
290
+ - components/homepage/footer.tsx - Site footer
291
+ - components/logos/*.tsx - Technology logo components (BetterAuth, Next.js, Polar, etc.)
292
+
293
+ **Environment Variables Required:**
294
+ - None (module is self-contained)
295
+
296
+ **Integration Steps:**
297
+ 1. Verify app/page.tsx exists and imports all homepage components
298
+ 2. Check that components/homepage/ directory exists with all section components
299
+ 3. Verify components/logos/ directory exists with logo components
300
+ 4. Check that navigation links point to correct routes (/sign-up, /sign-in, /docs, etc.)
301
+ 5. Test landing page: Visit / (root route)
302
+ 6. If auth module installed: Verify sign-in/sign-up links work
303
+ 7. If payments module installed: Replace static pricing with dynamic pricing component
304
+
305
+ **Key Integration Points:**
306
+ - Homepage: app/page.tsx is the main landing page (replaces base minimal page)
307
+ - Navigation: components/homepage/navigation.tsx should link to /sign-up, /sign-in, /docs, etc.
308
+ - CTA buttons: Hero section links to /sign-up and #cli-workflow
309
+ - Smart deduplication: If app/page.tsx already exists, it won't be overwritten (manual merge needed)
310
+ - Logo components: Technology logos are in components/logos/ directory
311
+ - Styling: Uses Tailwind CSS with sunset orange (#ff5722) color scheme
312
+
313
+ **Dependencies:**
314
+ - OPTIONAL: Auth module (for sign-in/sign-up links in navigation)
315
+ - OPTIONAL: Payments module (for dynamic pricing section)
316
+ - OPTIONAL: Docs module (for documentation link in navigation)
317
+ - No hard dependencies - works standalone
318
+
319
+ **Common Issues to Check:**
320
+ - If homepage not showing: Check app/page.tsx exists and imports components correctly
321
+ - If components not found: Verify components/homepage/ directory structure
322
+ - If navigation links broken: Update href attributes in navigation.tsx
323
+ - If styling broken: Ensure Tailwind CSS is configured and base package components exist
324
+
325
+ **Next Steps After Integration:**
326
+ - Customize hero text and CTA buttons in hero-section.tsx
327
+ - Update navigation links in navigation.tsx
328
+ - Customize features list in features-section.tsx
329
+ - Update testimonials/stats in testimonials-section.tsx
330
+ - Replace logo components with your own if needed
331
+ - Add links to auth pages if auth module installed
332
+ - Integrate dynamic pricing if payments module installed
333
+ ```
@@ -0,0 +1,25 @@
1
+ import Navigation from "@/components/homepage/navigation";
2
+ import HeroSection from "@/components/homepage/hero-section";
3
+ import CliWorkflowSection from "@/components/homepage/cli-workflow-section";
4
+ import FeaturesSection from "@/components/homepage/features-section";
5
+ import TestimonialsSection from "@/components/homepage/testimonials-section";
6
+ import NewsSection from "@/components/homepage/news-section";
7
+ import Integrations from "@/components/homepage/integrations";
8
+ import PricingSection from "@/components/homepage/pricing-section";
9
+ import FooterSection from "@/components/homepage/footer";
10
+
11
+ export default function Home() {
12
+ return (
13
+ <>
14
+ <Navigation />
15
+ <HeroSection />
16
+ <CliWorkflowSection />
17
+ <FeaturesSection />
18
+ <TestimonialsSection />
19
+ <Integrations />
20
+ <NewsSection />
21
+ <PricingSection />
22
+ <FooterSection />
23
+ </>
24
+ );
25
+ }
@@ -0,0 +1,231 @@
1
+ "use client";
2
+
3
+ import { useEffect, useState } from "react";
4
+
5
+ export default function CliWorkflowSection() {
6
+ const [mounted, setMounted] = useState(false);
7
+
8
+ useEffect(() => {
9
+ setMounted(true);
10
+ }, []);
11
+
12
+ return (
13
+ <section className="relative min-h-[60vh] bg-black overflow-visible py-16">
14
+ {/* Background gradient continuation */}
15
+ <div className="absolute inset-0 bg-gradient-to-b from-black via-[#ff5722]/5 to-black" />
16
+
17
+ <div className="relative z-10 mx-auto max-w-6xl px-6 lg:px-8">
18
+ {/* Section Header */}
19
+ <div className="text-center mb-12">
20
+ <h2 className="text-3xl md:text-4xl font-bold mb-4 bg-gradient-to-r from-white to-gray-400 bg-clip-text text-transparent">
21
+ Works for New & Existing Projects
22
+ </h2>
23
+ <p className="text-gray-400 text-lg max-w-2xl mx-auto">
24
+ Start from scratch or add features to your existing Next.js app. Both workflows are seamless.
25
+ </p>
26
+ </div>
27
+
28
+ <div className="grid md:grid-cols-2 gap-6">
29
+ {/* Terminal 1: New Project */}
30
+ <div
31
+ className={`transition-all duration-700 ${
32
+ mounted ? "opacity-100 scale-100" : "opacity-0 scale-95"
33
+ }`}
34
+ >
35
+ <div className="relative group">
36
+ <div className="absolute -inset-1 bg-gradient-to-r from-[#ff5722] to-[#d84315] rounded-lg blur opacity-30 group-hover:opacity-60 transition duration-1000" />
37
+ <div className="relative w-full bg-black/90 backdrop-blur-xl rounded-lg border border-[#ff5722]/20 overflow-hidden">
38
+ <div className="flex items-center gap-2 px-6 py-4 border-b border-[#ff5722]/10">
39
+ <div className="flex gap-1.5">
40
+ <div className="w-3 h-3 rounded-full bg-red-500/80" />
41
+ <div className="w-3 h-3 rounded-full bg-yellow-500/80" />
42
+ <div className="w-3 h-3 rounded-full bg-green-500/80" />
43
+ </div>
44
+ <span className="text-xs text-gray-400 ml-2">New Project</span>
45
+ </div>
46
+ <div className="p-6 font-mono text-sm space-y-3">
47
+ {/* Step 1: Run CLI */}
48
+ <div>
49
+ <div className="flex items-center">
50
+ <span className="text-green-400">$</span>
51
+ <span className="text-[#ff7043] ml-2">npx</span>
52
+ <span className="text-[#ff5722] ml-2">shipd</span>
53
+ <span className="text-white ml-2">init</span>
54
+ <span className="text-gray-400 ml-2">my-saas-app</span>
55
+ </div>
56
+ </div>
57
+
58
+ {/* Step 2: Cargo Ship + Choose name */}
59
+ <div className="pt-4 space-y-2">
60
+ <pre className="text-[#ff7043] text-[9px] leading-tight overflow-x-auto">
61
+ {` # # ( )
62
+ ___#_#___|__
63
+ _ |____________| _
64
+ _=====| | | | | |==== _
65
+ =====| |.---------------------------. | |====
66
+ <---------------------------' '----------------/
67
+ \\ .d8888. db db d888888b d8888b. d8888b. /
68
+ \\ 88' YP 88 88 \\\`88' 88 \\\`8D 88 \\\`8D /
69
+ \\ \\\`8bo. 88ooo88 88 88oodD' 88 88 /
70
+ \\ \\\`Y8b. 88~~~88 88 88~~~ 88 88 /
71
+ \\ db 8D 88 88 .88. 88 88 .8D /
72
+ \\\`8888Y' YP YP Y888888P 88 Y8888D' /
73
+ \\_____________________________________________________________________ /
74
+ wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
75
+ wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
76
+ wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww`}
77
+ </pre>
78
+ <div className="text-gray-400 pt-2">
79
+ ? What is your project name?{" "}
80
+ <span className="text-white">my-saas-app</span>
81
+ </div>
82
+ </div>
83
+
84
+ {/* Step 3: Choose functionality */}
85
+ <div className="pt-4 space-y-2">
86
+ <div className="text-gray-400">
87
+ ? Select features for your app:
88
+ </div>
89
+ <div className="pl-4 space-y-1">
90
+ <div className="text-gray-400">
91
+ <span className="text-green-400">◉</span> Authentication
92
+ </div>
93
+ <div className="text-gray-400">
94
+ <span className="text-green-400">◉</span> Billing &
95
+ Subscriptions
96
+ </div>
97
+ <div className="text-gray-400">
98
+ <span className="text-green-400">◉</span> Dashboard
99
+ </div>
100
+ <div className="text-gray-400">
101
+ <span className="text-green-400">◉</span> Email
102
+ Integration
103
+ </div>
104
+ </div>
105
+ </div>
106
+
107
+ {/* Step 4: Build */}
108
+ <div className="pt-4 space-y-2">
109
+ <div className="text-gray-400">
110
+ <span className="text-green-400">✓</span> Creating project
111
+ structure...
112
+ </div>
113
+ <div className="text-gray-400">
114
+ <span className="text-green-400">✓</span> Installing
115
+ dependencies...
116
+ </div>
117
+ <div className="text-gray-400">
118
+ <span className="text-green-400">✓</span> Configuring
119
+ features...
120
+ </div>
121
+ <div className="text-gray-400">
122
+ <span className="text-green-400">✓</span> Building
123
+ application...
124
+ </div>
125
+ <div className="text-green-400 pt-2">
126
+ 🎉 Done! Your SaaS app is ready.
127
+ </div>
128
+ </div>
129
+
130
+ {/* Final command */}
131
+ <div className="pt-4 border-t border-[#ff5722]/10">
132
+ <div className="flex items-center">
133
+ <span className="text-green-400">$</span>
134
+ <span className="text-white ml-2">cd my-saas-app</span>
135
+ </div>
136
+ <div className="flex items-center mt-2">
137
+ <span className="text-green-400">$</span>
138
+ <span className="text-white ml-2">npm run dev</span>
139
+ </div>
140
+ </div>
141
+ </div>
142
+ </div>
143
+ </div>
144
+ </div>
145
+
146
+ {/* Terminal 2: Existing Project */}
147
+ <div
148
+ className={`transition-all duration-700 delay-200 ${
149
+ mounted ? "opacity-100 scale-100" : "opacity-0 scale-95"
150
+ }`}
151
+ >
152
+ <div className="relative group">
153
+ <div className="absolute -inset-1 bg-gradient-to-r from-[#ff5722] to-[#d84315] rounded-lg blur opacity-30 group-hover:opacity-60 transition duration-1000" />
154
+ <div className="relative w-full bg-black/90 backdrop-blur-xl rounded-lg border border-[#ff5722]/20 overflow-hidden">
155
+ <div className="flex items-center gap-2 px-6 py-4 border-b border-[#ff5722]/10">
156
+ <div className="flex gap-1.5">
157
+ <div className="w-3 h-3 rounded-full bg-red-500/80" />
158
+ <div className="w-3 h-3 rounded-full bg-yellow-500/80" />
159
+ <div className="w-3 h-3 rounded-full bg-green-500/80" />
160
+ </div>
161
+ <span className="text-xs text-gray-400 ml-2">Existing Project</span>
162
+ </div>
163
+ <div className="p-6 font-mono text-sm space-y-3">
164
+ {/* Step 1: Navigate to project */}
165
+ <div>
166
+ <div className="flex items-center">
167
+ <span className="text-green-400">$</span>
168
+ <span className="text-white ml-2">cd</span>
169
+ <span className="text-gray-400 ml-2">my-existing-app</span>
170
+ </div>
171
+ </div>
172
+
173
+ {/* Step 2: Run append */}
174
+ <div className="pt-4 space-y-2">
175
+ <div className="flex items-center">
176
+ <span className="text-green-400">$</span>
177
+ <span className="text-[#ff7043] ml-2">npx</span>
178
+ <span className="text-[#ff5722] ml-2">shipd</span>
179
+ <span className="text-white ml-2">append</span>
180
+ </div>
181
+ <div className="text-gray-400 pt-2">
182
+ ? Select features to add:
183
+ </div>
184
+ <div className="pl-4 space-y-1">
185
+ <div className="text-gray-400">
186
+ <span className="text-green-400">◉</span> Authentication
187
+ </div>
188
+ <div className="text-gray-400">
189
+ <span className="text-green-400">◉</span> Payments
190
+ </div>
191
+ <div className="text-gray-400">
192
+ <span className="text-green-400">◉</span> Email
193
+ </div>
194
+ </div>
195
+ </div>
196
+
197
+ {/* Step 3: Features added */}
198
+ <div className="pt-4 space-y-2">
199
+ <div className="text-gray-400">
200
+ <span className="text-green-400">✓</span> Adding features...
201
+ </div>
202
+ <div className="text-gray-400">
203
+ <span className="text-green-400">✓</span> Installing dependencies...
204
+ </div>
205
+ <div className="text-gray-400">
206
+ <span className="text-green-400">✓</span> Configuring modules...
207
+ </div>
208
+ <div className="text-green-400 pt-2">
209
+ ✨ Features added successfully!
210
+ </div>
211
+ </div>
212
+
213
+ {/* Final command */}
214
+ <div className="pt-4 border-t border-[#ff5722]/10">
215
+ <div className="flex items-center">
216
+ <span className="text-green-400">$</span>
217
+ <span className="text-white ml-2">npm run dev</span>
218
+ </div>
219
+ <div className="text-gray-500 text-xs mt-2">
220
+ → Your existing app now has new features!
221
+ </div>
222
+ </div>
223
+ </div>
224
+ </div>
225
+ </div>
226
+ </div>
227
+ </div>
228
+ </div>
229
+ </section>
230
+ );
231
+ }