@zoyth/simple-site-framework 1.0.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 (166) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +572 -0
  3. package/bin/create-simple-site.js +390 -0
  4. package/bin/simple-site.js +664 -0
  5. package/dist/client.js +135 -0
  6. package/dist/client.js.map +1 -0
  7. package/dist/client.mjs +107 -0
  8. package/dist/client.mjs.map +1 -0
  9. package/dist/components/index.d.mts +3936 -0
  10. package/dist/components/index.d.ts +3936 -0
  11. package/dist/components/index.js +38265 -0
  12. package/dist/components/index.js.map +1 -0
  13. package/dist/components/index.mjs +38173 -0
  14. package/dist/components/index.mjs.map +1 -0
  15. package/dist/config/index.d.mts +298 -0
  16. package/dist/config/index.d.ts +298 -0
  17. package/dist/config/index.js +19 -0
  18. package/dist/config/index.js.map +1 -0
  19. package/dist/config/index.mjs +1 -0
  20. package/dist/config/index.mjs.map +1 -0
  21. package/dist/index.d.mts +2184 -0
  22. package/dist/index.d.ts +2184 -0
  23. package/dist/index.js +1713 -0
  24. package/dist/index.js.map +1 -0
  25. package/dist/index.mjs +1605 -0
  26. package/dist/index.mjs.map +1 -0
  27. package/dist/lib/i18n/index.js +665 -0
  28. package/dist/lib/i18n/index.js.map +1 -0
  29. package/dist/lib/i18n/index.mjs +621 -0
  30. package/dist/lib/i18n/index.mjs.map +1 -0
  31. package/docs/DOCUMENTATION-STRUCTURE.md +1156 -0
  32. package/docs/EXPORTS.md +125 -0
  33. package/docs/PERFORMANCE.md +757 -0
  34. package/docs/POLICY-PAGES.md +867 -0
  35. package/docs/ROADMAP.md +334 -0
  36. package/docs/SEO.md +455 -0
  37. package/docs/SITEMAP.md +708 -0
  38. package/docs/STRUCTURED-DATA.md +671 -0
  39. package/docs/accessibility/common-patterns.md +529 -0
  40. package/docs/accessibility/keyboard-navigation.md +263 -0
  41. package/docs/accessibility/overview.md +122 -0
  42. package/docs/accessibility/screen-readers.md +311 -0
  43. package/docs/accessibility/wcag-compliance.md +159 -0
  44. package/docs/api/README.md +164 -0
  45. package/docs/api/components/Accessibility.md +356 -0
  46. package/docs/api/components/Button.md +240 -0
  47. package/docs/api/components/HeroSection.md +306 -0
  48. package/docs/architecture/decisions.md +449 -0
  49. package/docs/components/AnalyticsTracker.md +58 -0
  50. package/docs/components/AnimatedCounter.md +48 -0
  51. package/docs/components/AnimatedSection.md +56 -0
  52. package/docs/components/BlogCard.md +42 -0
  53. package/docs/components/Checkbox.md +56 -0
  54. package/docs/components/CodeBlock.md +52 -0
  55. package/docs/components/ComparisonTable.md +40 -0
  56. package/docs/components/ComponentDemo.md +38 -0
  57. package/docs/components/CountdownTimer.md +51 -0
  58. package/docs/components/ExitIntentModal.md +56 -0
  59. package/docs/components/FAQAccordion.md +66 -0
  60. package/docs/components/FeaturesGrid.md +55 -0
  61. package/docs/components/FileUpload.md +54 -0
  62. package/docs/components/I18nMetaTags.md +55 -0
  63. package/docs/components/Icon.md +53 -0
  64. package/docs/components/LazySection.md +46 -0
  65. package/docs/components/LiveProof.md +53 -0
  66. package/docs/components/LoadingSpinner.md +46 -0
  67. package/docs/components/MultiStepForm.md +48 -0
  68. package/docs/components/PolicyLayout.md +55 -0
  69. package/docs/components/PricingTable.md +49 -0
  70. package/docs/components/Radio.md +59 -0
  71. package/docs/components/SEOMetaTags.md +58 -0
  72. package/docs/components/ScriptInjector.md +50 -0
  73. package/docs/components/Select.md +72 -0
  74. package/docs/components/Skeleton.md +47 -0
  75. package/docs/components/StatsSection.md +48 -0
  76. package/docs/components/StickyBar.md +62 -0
  77. package/docs/components/StructuredData.md +99 -0
  78. package/docs/components/StyleGuide.md +46 -0
  79. package/docs/components/TableOfContents.md +47 -0
  80. package/docs/components/TestimonialCarousel.md +42 -0
  81. package/docs/components/Timeline.md +51 -0
  82. package/docs/components/Toast.md +59 -0
  83. package/docs/components/TrackedLink.md +62 -0
  84. package/docs/components/TrustBadges.md +44 -0
  85. package/docs/components/conversion/MobileCTA.md +363 -0
  86. package/docs/components/forms/ContactForm.md +75 -0
  87. package/docs/components/forms/FormField.md +74 -0
  88. package/docs/components/layout/Footer.md +601 -0
  89. package/docs/components/layout/Header.md +549 -0
  90. package/docs/components/layout/LanguageSelector.md +54 -0
  91. package/docs/components/layout/LanguageSwitcher.md +24 -0
  92. package/docs/components/overview.md +447 -0
  93. package/docs/components/sections/AboutSection.md +48 -0
  94. package/docs/components/sections/CTASection.md +596 -0
  95. package/docs/components/sections/CaseStudySection.md +47 -0
  96. package/docs/components/sections/ContactSection.md +599 -0
  97. package/docs/components/sections/FeatureSection.md +44 -0
  98. package/docs/components/sections/HeroSection.md +404 -0
  99. package/docs/components/sections/LogosSection.md +47 -0
  100. package/docs/components/sections/PersonalTaxesSection.md +23 -0
  101. package/docs/components/sections/RecruitingSection.md +23 -0
  102. package/docs/components/sections/SecurePortalSection.md +23 -0
  103. package/docs/components/sections/ServicePageLayout.md +52 -0
  104. package/docs/components/sections/ServicesSection.md +49 -0
  105. package/docs/components/sections/TestimonialSection.md +44 -0
  106. package/docs/components/sections/WhyChooseUsSection.md +54 -0
  107. package/docs/components/ui/Breadcrumb.md +70 -0
  108. package/docs/components/ui/Button.md +514 -0
  109. package/docs/components/ui/Card.md +501 -0
  110. package/docs/components/ui/Input.md +54 -0
  111. package/docs/components/ui/MobileLinks.md +43 -0
  112. package/docs/components/ui/Modal.md +60 -0
  113. package/docs/components/ui/Tabs.md +62 -0
  114. package/docs/components/ui/Textarea.md +52 -0
  115. package/docs/core-concepts/configuration-driven.md +552 -0
  116. package/docs/core-concepts/overview.md +351 -0
  117. package/docs/features/accessibility/README.md +73 -0
  118. package/docs/features/accessibility/aria-support.md +177 -0
  119. package/docs/features/accessibility/color-contrast.md +155 -0
  120. package/docs/features/accessibility/focus-management.md +187 -0
  121. package/docs/features/accessibility/testing.md +196 -0
  122. package/docs/features/analytics/README.md +51 -0
  123. package/docs/features/analytics/ab-testing.md +171 -0
  124. package/docs/features/analytics/conversion-tracking.md +207 -0
  125. package/docs/features/analytics/custom-events.md +219 -0
  126. package/docs/features/analytics/privacy.md +198 -0
  127. package/docs/features/analytics/setup.md +114 -0
  128. package/docs/features/analytics/tracking-events.md +224 -0
  129. package/docs/features/i18n/README.md +51 -0
  130. package/docs/features/i18n/best-practices.md +273 -0
  131. package/docs/features/i18n/configuration.md +84 -0
  132. package/docs/features/i18n/formatting.md +133 -0
  133. package/docs/features/i18n/locale-detection.md +122 -0
  134. package/docs/features/i18n/routing.md +99 -0
  135. package/docs/features/i18n/rtl-support.md +191 -0
  136. package/docs/features/i18n/translations.md +129 -0
  137. package/docs/features/internationalization.md +595 -0
  138. package/docs/features/performance/README.md +77 -0
  139. package/docs/features/performance/bundle-size.md +134 -0
  140. package/docs/features/performance/caching.md +131 -0
  141. package/docs/features/performance/code-splitting.md +121 -0
  142. package/docs/features/performance/image-optimization.md +110 -0
  143. package/docs/features/performance/lazy-loading.md +92 -0
  144. package/docs/features/performance/monitoring.md +148 -0
  145. package/docs/features/seo/README.md +51 -0
  146. package/docs/features/seo/best-practices.md +184 -0
  147. package/docs/features/seo/canonical-urls.md +182 -0
  148. package/docs/features/seo/meta-tags.md +126 -0
  149. package/docs/features/seo/open-graph.md +166 -0
  150. package/docs/features/seo/robots-txt.md +146 -0
  151. package/docs/features/seo/sitemaps.md +162 -0
  152. package/docs/features/seo/structured-data.md +166 -0
  153. package/docs/getting-started/installation.md +292 -0
  154. package/docs/getting-started/introduction.md +195 -0
  155. package/docs/getting-started/quick-start.md +460 -0
  156. package/docs/guides/analytics-setup.md +616 -0
  157. package/docs/i18n/CONFIGURATION.md +353 -0
  158. package/docs/i18n/EXAMPLES.md +402 -0
  159. package/docs/i18n/MIGRATION.md +260 -0
  160. package/docs/i18n/SEO.md +392 -0
  161. package/docs/i18n/STATIC-GENERATION-FIX.md +71 -0
  162. package/docs/migration/changelog.md +136 -0
  163. package/docs/migration/overview.md +233 -0
  164. package/docs/recipes/adding-animations.md +475 -0
  165. package/docs/recipes/forms-with-validation.md +393 -0
  166. package/package.json +152 -0
@@ -0,0 +1,292 @@
1
+ # Installation
2
+
3
+ This guide covers adding Simple Site Framework to an existing Next.js project or creating a new project from scratch.
4
+
5
+ ## Prerequisites
6
+
7
+ Before installing, ensure you have:
8
+
9
+ - **Node.js** 18.x or later
10
+ - **npm** 9.x or later (or yarn/pnpm equivalent)
11
+ - **Next.js** 14.x or later with App Router
12
+ - **React** 18.x or 19.x
13
+ - **TypeScript** 5.x (recommended but not required)
14
+
15
+ ## Quick Install (New Project)
16
+
17
+ The fastest way to start is with the CLI scaffolding tool:
18
+
19
+ ```bash
20
+ npx @zoyth/simple-site-framework create my-site
21
+ cd my-site
22
+ npm install
23
+ npm run dev
24
+ ```
25
+
26
+ This creates a complete Next.js project with all framework dependencies configured, sample configs, and example pages.
27
+
28
+ Skip to **[Quick Start Guide](./quick-start.md)** if you used this method.
29
+
30
+ ## Manual Installation (Existing Project)
31
+
32
+ ### 1. Install the Framework
33
+
34
+ ```bash
35
+ npm install @zoyth/simple-site-framework
36
+ ```
37
+
38
+ ### 2. Install Peer Dependencies
39
+
40
+ The framework requires these peer dependencies:
41
+
42
+ ```bash
43
+ npm install next@14 react@19 react-dom@19
44
+ npm install tailwindcss@4 @tailwindcss/postcss
45
+ ```
46
+
47
+ **Tailwind CSS:** Both v3.4+ and v4.x are fully supported. The framework uses standard utility classes that work across versions.
48
+
49
+ ### 3. Install Optional Dependencies
50
+
51
+ For full functionality, install these recommended packages:
52
+
53
+ ```bash
54
+ # For forms with validation
55
+ npm install react-hook-form @hookform/resolvers zod
56
+
57
+ # For animations (optional)
58
+ npm install framer-motion
59
+
60
+ # For analytics tracking (optional)
61
+ npm install @vercel/analytics
62
+ ```
63
+
64
+ ## Configure Tailwind CSS
65
+
66
+ ### 1. Initialize Tailwind (if not already done)
67
+
68
+ ```bash
69
+ npx tailwindcss init -p --ts
70
+ ```
71
+
72
+ ### 2. Update `tailwind.config.ts`
73
+
74
+ Your Tailwind config **must** include the framework components in the `content` array:
75
+
76
+ ```typescript
77
+ import type { Config } from 'tailwindcss';
78
+
79
+ const config: Config = {
80
+ content: [
81
+ './src/**/*.{js,ts,jsx,tsx,mdx}',
82
+ // ⚠️ REQUIRED: Include framework components
83
+ './node_modules/@zoyth/simple-site-framework/dist/**/*.{js,mjs}',
84
+ ],
85
+ theme: {
86
+ extend: {
87
+ colors: {
88
+ // Define colors that match your theme config
89
+ primary: '#F16531',
90
+ 'primary-hover': '#D9551C',
91
+ secondary: '#2D3748',
92
+ 'secondary-hover': '#1A202C',
93
+ accent: '#F59E0B',
94
+ 'warm-gray': '#F8FAFC',
95
+ },
96
+ fontFamily: {
97
+ heading: ['var(--font-heading)', 'serif'],
98
+ body: ['var(--font-body)', 'sans-serif'],
99
+ },
100
+ backgroundImage: {
101
+ 'brand-gradient-light': 'linear-gradient(to bottom, #F8FAFC, #FFFFFF)',
102
+ 'hero-gradient': 'linear-gradient(135deg, #2D3748, #1A202C)',
103
+ 'footer-gradient-orange': 'linear-gradient(135deg, #F37840, #D85620)',
104
+ },
105
+ },
106
+ },
107
+ };
108
+
109
+ export default config;
110
+ ```
111
+
112
+ **Important:** The framework's components use custom theme tokens. If you skip this step, your site will render but look unstyled. See **[Troubleshooting](../../TROUBLESHOOTING.md)** for details.
113
+
114
+ ### 3. Configure Fonts (Optional but Recommended)
115
+
116
+ Use Next.js's `next/font` for optimal font loading:
117
+
118
+ ```typescript
119
+ // src/app/layout.tsx
120
+ import { Playfair_Display, Inter } from 'next/font/google';
121
+
122
+ const playfair = Playfair_Display({
123
+ subsets: ['latin'],
124
+ variable: '--font-heading',
125
+ display: 'swap',
126
+ });
127
+
128
+ const inter = Inter({
129
+ subsets: ['latin'],
130
+ variable: '--font-body',
131
+ display: 'swap',
132
+ });
133
+
134
+ export default function RootLayout({ children }) {
135
+ return (
136
+ <html lang="en" className={`${playfair.variable} ${inter.variable}`}>
137
+ <body className="font-body">{children}</body>
138
+ </html>
139
+ );
140
+ }
141
+ ```
142
+
143
+ ## Setup Internationalization (Optional)
144
+
145
+ If you need multi-language support, create an i18n configuration:
146
+
147
+ ### 1. Create i18n Config
148
+
149
+ ```typescript
150
+ // src/config/i18n.ts
151
+ import type { I18nConfig } from '@zoyth/simple-site-framework';
152
+
153
+ export const i18nConfig: I18nConfig = {
154
+ locales: ['en', 'fr'], // Your supported languages
155
+ defaultLocale: 'en',
156
+ localePrefix: 'as-needed', // Default locale has no prefix in URL
157
+ localeDetection: true, // Auto-detect browser language
158
+ localeNames: {
159
+ en: 'English',
160
+ fr: 'Français',
161
+ },
162
+ };
163
+ ```
164
+
165
+ ### 2. Create Middleware
166
+
167
+ ```typescript
168
+ // src/middleware.ts
169
+ import { createI18nMiddleware } from '@zoyth/simple-site-framework/lib/i18n';
170
+ import { i18nConfig } from './config/i18n';
171
+
172
+ export default createI18nMiddleware(i18nConfig);
173
+
174
+ export const config = {
175
+ matcher: ['/((?!api|_next/static|_next/image|favicon.ico).*)'],
176
+ };
177
+ ```
178
+
179
+ ### 3. Update App Structure
180
+
181
+ For multi-language sites, use Next.js dynamic routing:
182
+
183
+ ```
184
+ src/app/
185
+ [locale]/
186
+ layout.tsx
187
+ page.tsx
188
+ about/
189
+ page.tsx
190
+ ```
191
+
192
+ See **[Internationalization Guide](../features/internationalization.md)** for complete setup instructions.
193
+
194
+ ## Verify Installation
195
+
196
+ Create a test page to ensure everything works:
197
+
198
+ ```typescript
199
+ // src/app/page.tsx
200
+ import { HeroSection } from '@zoyth/simple-site-framework';
201
+
202
+ export default function HomePage() {
203
+ return (
204
+ <HeroSection
205
+ heading="Welcome to My Site"
206
+ description="Built with Simple Site Framework"
207
+ cta={{
208
+ text: 'Get Started',
209
+ href: '/contact'
210
+ }}
211
+ variant="centered"
212
+ />
213
+ );
214
+ }
215
+ ```
216
+
217
+ Run the development server:
218
+
219
+ ```bash
220
+ npm run dev
221
+ ```
222
+
223
+ Visit `http://localhost:3000` - you should see a styled hero section.
224
+
225
+ ## Troubleshooting
226
+
227
+ ### Components Render Without Styling
228
+
229
+ **Cause:** Tailwind CSS isn't scanning the framework's components, or custom theme tokens are missing.
230
+
231
+ **Solution:**
232
+ 1. Verify `tailwind.config.ts` includes the framework in `content` array
233
+ 2. Define required theme tokens (colors, fonts, gradients)
234
+ 3. Restart dev server after config changes
235
+
236
+ See **[TROUBLESHOOTING.md](../../TROUBLESHOOTING.md)** for detailed debugging.
237
+
238
+ ### TypeScript Errors
239
+
240
+ **Cause:** Missing type definitions or incompatible versions.
241
+
242
+ **Solution:**
243
+ 1. Ensure TypeScript 5.x is installed: `npm install -D typescript@5`
244
+ 2. Check Next.js is v14+: `npm list next`
245
+ 3. Restart TypeScript server in your editor
246
+
247
+ ### Build Errors with "use client" Directives
248
+
249
+ **Cause:** Importing client-only components from server components.
250
+
251
+ **Solution:**
252
+ - Import analytics/client-only utilities from `/client`:
253
+ ```typescript
254
+ import { AnalyticsTracker } from '@zoyth/simple-site-framework/client';
255
+ ```
256
+ - Server-safe components come from main export:
257
+ ```typescript
258
+ import { HeroSection } from '@zoyth/simple-site-framework';
259
+ ```
260
+
261
+ See **[Server/Client Split](../core-concepts/server-client-split.md)** for details.
262
+
263
+ ## Next Steps
264
+
265
+ Now that installation is complete:
266
+
267
+ - **[Quick Start →](./quick-start.md)** - Build your first page in 5 minutes
268
+ - **[First Project →](./first-project.md)** - Complete tutorial
269
+ - **[Configuration →](../core-concepts/configuration-driven.md)** - Learn the configuration approach
270
+ - **[Components →](../components/overview.md)** - Explore available components
271
+
272
+ ## Package Information
273
+
274
+ ```json
275
+ {
276
+ "name": "@zoyth/simple-site-framework",
277
+ "version": "0.1.0",
278
+ "peerDependencies": {
279
+ "next": "^14.0.0",
280
+ "react": "^18.0.0 || ^19.0.0",
281
+ "react-dom": "^18.0.0 || ^19.0.0",
282
+ "tailwindcss": "^3.4.0 || ^4.0.0"
283
+ },
284
+ "dependencies": {
285
+ "clsx": "^2.1.1",
286
+ "tailwind-merge": "^3.4.0",
287
+ "rehype-slug": "^6.0.0"
288
+ }
289
+ }
290
+ ```
291
+
292
+ **Note:** The framework has minimal dependencies. Heavy packages like `framer-motion`, `react-hook-form`, and `zod` are peer dependencies - install only what you need.
@@ -0,0 +1,195 @@
1
+ # Introduction to Simple Site Framework
2
+
3
+ Simple Site Framework is a configuration-driven React framework built on Next.js, designed specifically for professional service websites, SaaS landing pages, and marketing sites that need to convert visitors into customers.
4
+
5
+ ## What is Simple Site Framework?
6
+
7
+ Unlike traditional component libraries that give you isolated pieces, Simple Site Framework provides:
8
+
9
+ - **Complete page sections** ready to use (Hero, Services, Testimonials, Contact, etc.)
10
+ - **Configuration-first approach** - define your content and theme in simple config files
11
+ - **Built-in internationalization** - support any number of languages with minimal setup
12
+ - **Production-ready components** - battle-tested on real commercial websites
13
+ - **Type-safe everything** - full TypeScript support with comprehensive type definitions
14
+ - **Accessibility by default** - WCAG 2.1 AA compliant out of the box
15
+ - **Performance optimized** - lazy loading, code splitting, and efficient animations
16
+
17
+ ## Who Is This For?
18
+
19
+ This framework is ideal for:
20
+
21
+ - **Agencies** building multiple professional service websites
22
+ - **SaaS companies** creating high-converting landing pages
23
+ - **Solo developers** who want to ship faster without sacrificing quality
24
+ - **Teams** needing consistent, maintainable site architecture
25
+ - **Projects** requiring multi-language support from day one
26
+
27
+ ## Philosophy
28
+
29
+ ### Configuration Over Code
30
+
31
+ Instead of writing component markup repeatedly, you define your site in configuration files:
32
+
33
+ ```typescript
34
+ // src/config/site.ts
35
+ export const siteConfig = {
36
+ name: 'Acme Corp',
37
+ description: 'Professional consulting services',
38
+ theme: {
39
+ primaryColor: '#F16531',
40
+ fontHeading: 'Playfair Display',
41
+ fontBody: 'Inter',
42
+ }
43
+ };
44
+ ```
45
+
46
+ The framework handles rendering, responsive design, accessibility, and performance automatically.
47
+
48
+ ### Progressive Enhancement
49
+
50
+ Start simple, add complexity only when needed:
51
+
52
+ 1. **Level 1:** Use pre-built sections with default styling
53
+ 2. **Level 2:** Customize with your own content and theme
54
+ 3. **Level 3:** Override individual component props for specific needs
55
+ 4. **Level 4:** Create custom variants while keeping the framework's benefits
56
+
57
+ ### Type Safety First
58
+
59
+ Every configuration option, prop, and utility function is fully typed:
60
+
61
+ ```typescript
62
+ import type { SiteConfig, ThemeConfig, LocalizedString } from '@zoyth/simple-site-framework';
63
+
64
+ const content: LocalizedString = {
65
+ en: 'Get Started',
66
+ fr: 'Commencer'
67
+ };
68
+ ```
69
+
70
+ TypeScript catches configuration errors at build time, not at runtime.
71
+
72
+ ## Core Features
73
+
74
+ ### 35+ Production-Ready Components
75
+
76
+ - **Layout:** Header, Footer, LanguageSelector
77
+ - **Sections:** Hero, About, Services, Testimonials, Contact, CTA
78
+ - **UI:** Button, Card, Input, Modal, Tabs, Breadcrumb
79
+ - **Forms:** ContactForm, FormField, validation with React Hook Form + Zod
80
+ - **Conversion:** MobileCTA, CTASection, LiveProof
81
+ - **Accessibility:** SkipLink, A11yAnnouncer, ARIA-enhanced form components
82
+
83
+ ### Flexible Internationalization
84
+
85
+ Support 1, 2, or 20+ languages with the same code:
86
+
87
+ ```typescript
88
+ // Single language - no routing overhead
89
+ { locales: ['en'], defaultLocale: 'en' }
90
+
91
+ // Bilingual with simple toggle
92
+ { locales: ['en', 'fr'], defaultLocale: 'en' }
93
+
94
+ // Multi-language with dropdown selector
95
+ { locales: ['en', 'fr', 'es', 'de', 'ja'], defaultLocale: 'en' }
96
+ ```
97
+
98
+ The framework automatically handles:
99
+ - URL routing based on locale
100
+ - Language detection from browser preferences
101
+ - Cookie persistence of user's choice
102
+ - SEO meta tags (hreflang, canonical, etc.)
103
+
104
+ ### Theme System
105
+
106
+ Define your brand once, apply it everywhere:
107
+
108
+ ```typescript
109
+ export const themeConfig: ThemeConfig = {
110
+ colors: {
111
+ primary: '#F16531',
112
+ secondary: '#2D3748',
113
+ },
114
+ fonts: {
115
+ heading: 'Playfair Display',
116
+ body: 'Inter',
117
+ },
118
+ animations: {
119
+ hero: 'fade-up',
120
+ sections: 'slide-in',
121
+ }
122
+ };
123
+ ```
124
+
125
+ All components automatically use your theme tokens, ensuring consistency.
126
+
127
+ ### Built for Next.js 14+
128
+
129
+ The framework is specifically optimized for Next.js App Router:
130
+
131
+ - **Server Components** by default for better performance
132
+ - **Client Components** where needed (forms, animations, analytics)
133
+ - **Proper exports** - server-safe code in main export, client-only in `/client`
134
+ - **Streaming-friendly** - no blocking JavaScript requirements
135
+ - **SEO optimized** - server-rendered content with proper meta tags
136
+
137
+ ## What Sets This Apart?
138
+
139
+ ### Not Just Components
140
+
141
+ Most frameworks give you `<Button>` and `<Card>` and leave you to figure out layout, content structure, and responsive design. Simple Site Framework gives you complete, production-ready sections:
142
+
143
+ ```typescript
144
+ <HeroSection
145
+ heading={{ en: 'Transform Your Business', fr: 'Transformez votre entreprise' }}
146
+ description={{ en: 'Professional consulting...', fr: 'Services de conseil...' }}
147
+ cta={{
148
+ text: { en: 'Get Started', fr: 'Commencer' },
149
+ href: '/contact'
150
+ }}
151
+ backgroundImage="/hero-bg.jpg"
152
+ variant="centered"
153
+ locale={locale}
154
+ />
155
+ ```
156
+
157
+ ### Battle-Tested in Production
158
+
159
+ Every component and pattern in this framework has been used in real commercial websites:
160
+
161
+ - **MobileCTA** - Improved mobile conversions on courrielleur.com
162
+ - **CTASection** - Used across 5+ pages with proven conversion patterns
163
+ - **LiveProof** - Social proof notifications that build trust
164
+ - **ContactForm** - Handles thousands of leads with validation and accessibility
165
+
166
+ ### Configuration-Driven Consistency
167
+
168
+ When you have multiple pages or multiple projects, consistency matters. With configuration files, you can't accidentally use the wrong font or color:
169
+
170
+ ```typescript
171
+ // All buttons automatically use your theme
172
+ <Button variant="filled" /> // Uses theme.colors.primary
173
+
174
+ // All headings use your font
175
+ <h1 className="font-heading"> // Uses theme.fonts.heading
176
+ ```
177
+
178
+ ## Next Steps
179
+
180
+ Ready to get started? Choose your path:
181
+
182
+ - **[Installation →](./installation.md)** - Add to an existing Next.js project
183
+ - **[Quick Start →](./quick-start.md)** - Create a new project in 5 minutes
184
+ - **[First Project →](./first-project.md)** - Step-by-step tutorial
185
+ - **[Core Concepts →](../core-concepts/overview.md)** - Understand the architecture
186
+
187
+ ## Community and Support
188
+
189
+ - **GitHub Issues:** Bug reports and feature requests
190
+ - **Documentation:** Comprehensive guides and API reference
191
+ - **Examples:** Real-world usage patterns and templates
192
+
193
+ ---
194
+
195
+ **Note:** This framework is actively developed and used in production. While the API is stable, we're continuously adding features and improvements based on real-world usage.