@zoyth/simple-site-framework 1.0.2 → 1.1.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.
@@ -0,0 +1,300 @@
1
+ <!-- ABOUTME: Step-by-step guide for migrating Webflow sites to Simple Site Framework -->
2
+ <!-- ABOUTME: Documents the export → extract → review → implement workflow -->
3
+
4
+ # Webflow Migration Guide
5
+
6
+ Step-by-step guide for migrating Webflow sites to Simple Site Framework.
7
+
8
+ ## Overview
9
+
10
+ This guide describes a three-phase workflow that produces consistent, high-quality migrations:
11
+
12
+ 1. **Export** (Human) - Get the source files from Webflow
13
+ 2. **Extract** (Agent) - Generate a structured Migration Spec
14
+ 3. **Implement** (Agent, after approval) - Build the site using framework components
15
+
16
+ ## Why This Workflow?
17
+
18
+ When asking an agent to "replicate this Webflow site", results are often inconsistent because:
19
+
20
+ - The agent sees raw HTML/CSS, not semantic structure
21
+ - No clear mapping to framework components exists
22
+ - Visual nuances get lost in translation
23
+ - The definition of "same" is ambiguous
24
+
25
+ This workflow solves these problems by creating an intermediate **Migration Spec** that humans can review and approve before implementation begins.
26
+
27
+ ## Phase 1: Export from Webflow
28
+
29
+ ### Option A: Code Export (Recommended)
30
+
31
+ If you have dashboard access to the Webflow project:
32
+
33
+ 1. Open the Webflow Designer
34
+ 2. Click the hamburger menu (☰) in the top-left
35
+ 3. Select **Export Code**
36
+ 4. Download and unzip the export
37
+
38
+ You'll get:
39
+ ```
40
+ webflow-export/
41
+ ├── index.html
42
+ ├── about.html
43
+ ├── contact.html
44
+ ├── css/
45
+ │ └── styles.css
46
+ ├── js/
47
+ │ └── webflow.js
48
+ └── images/
49
+ ├── hero-bg.jpg
50
+ ├── logo.svg
51
+ └── ...
52
+ ```
53
+
54
+ **Advantages:**
55
+ - Clean HTML with meaningful class names
56
+ - All assets included and organized
57
+ - No need to scrape the live site
58
+
59
+ ### Option B: CMS Export (If Using Collections)
60
+
61
+ For sites with CMS collections (blog posts, team members, etc.):
62
+
63
+ 1. Go to the Webflow CMS panel
64
+ 2. Click the collection (e.g., "Blog Posts")
65
+ 3. Click the ⚙️ settings icon
66
+ 4. Select **Export as CSV**
67
+
68
+ Keep these CSV files alongside the code export for reference.
69
+
70
+ ### Option C: Live Site Only
71
+
72
+ If you don't have dashboard access:
73
+
74
+ - The agent can fetch and analyze the published site
75
+ - Less ideal because HTML may be minified and harder to parse
76
+ - Assets must be individually identified and downloaded
77
+
78
+ ## Phase 2: Generate Migration Spec
79
+
80
+ Use the migration prompt template to have an agent extract the structure:
81
+
82
+ ```
83
+ @prompts/migrate-webflow.md
84
+
85
+ Source: ./webflow-export/index.html
86
+ ```
87
+
88
+ The agent will produce a Migration Spec like this:
89
+
90
+ ```markdown
91
+ ## Page: Homepage
92
+
93
+ ### Section 1: Hero
94
+ - **Suggested Component**: HeroSection
95
+ - **Variant**: centered, with background image
96
+ - **Content**:
97
+ - Heading: "Transform Your Business"
98
+ - Description: "We help companies achieve their goals through innovative solutions."
99
+ - Primary CTA: "Get Started" → /contact
100
+ - Secondary CTA: "Learn More" → #features
101
+ - Background Image: images/hero-bg.jpg
102
+
103
+ ### Section 2: Features
104
+ - **Suggested Component**: FeaturesGrid
105
+ - **Layout**: 3 columns
106
+ - **Items**:
107
+ 1. Icon: Shield | Title: "Secure" | Description: "Enterprise-grade security"
108
+ 2. Icon: Clock | Title: "Fast" | Description: "Lightning-fast performance"
109
+ 3. Icon: Users | Title: "Team" | Description: "Built for collaboration"
110
+
111
+ ### Section 3: Testimonials
112
+ - **Suggested Component**: TestimonialSection
113
+ - **Items**:
114
+ 1. Quote: "Amazing product..." | Author: "Jane Doe" | Role: "CEO, Acme Inc"
115
+ 2. Quote: "Changed everything..." | Author: "John Smith" | Role: "CTO, Tech Co"
116
+
117
+ ### Section 4: CTA
118
+ - **Suggested Component**: CTASection
119
+ - **Content**:
120
+ - Heading: "Ready to Get Started?"
121
+ - Primary CTA: "Contact Us" → /contact
122
+
123
+ ### Assets to Copy
124
+ - images/hero-bg.jpg → public/images/hero-bg.jpg
125
+ - images/logo.svg → public/images/logo.svg
126
+ - images/testimonial-1.jpg → public/images/testimonial-1.jpg
127
+ - images/testimonial-2.jpg → public/images/testimonial-2.jpg
128
+ ```
129
+
130
+ ## Phase 3: Review and Approve
131
+
132
+ Before implementation, review the Migration Spec:
133
+
134
+ ### Check Component Choices
135
+
136
+ Does the suggested component match the intent?
137
+
138
+ - A "feature grid" might be better as `ServicesSection` if they're clickable services
139
+ - A "testimonial slider" might need `TestimonialCarousel` instead of `TestimonialSection`
140
+ - Custom sections might need to be flagged for manual implementation
141
+
142
+ ### Verify Content Accuracy
143
+
144
+ - All headings captured correctly?
145
+ - Descriptions complete (not truncated)?
146
+ - CTAs have correct text and destinations?
147
+ - All images identified?
148
+
149
+ ### Note Any Gaps
150
+
151
+ Flag anything that:
152
+ - Doesn't map to an existing component
153
+ - Requires custom styling beyond component variants
154
+ - Needs dynamic/CMS data
155
+
156
+ ### Approve
157
+
158
+ Once satisfied, tell the agent to proceed with implementation.
159
+
160
+ ## Phase 4: Implementation
161
+
162
+ The agent will:
163
+
164
+ 1. Create page files in `src/app/`
165
+ 2. Import and configure components
166
+ 3. Copy assets to `public/images/`
167
+ 4. Wire up navigation and links
168
+
169
+ ### Example Output
170
+
171
+ ```typescript
172
+ // src/app/page.tsx
173
+ import {
174
+ HeroSection,
175
+ FeaturesGrid,
176
+ TestimonialSection,
177
+ CTASection,
178
+ } from '@zoyth/simple-site-framework';
179
+
180
+ export default function HomePage() {
181
+ return (
182
+ <main>
183
+ <HeroSection
184
+ heading="Transform Your Business"
185
+ description="We help companies achieve their goals through innovative solutions."
186
+ primaryCTA={{ text: 'Get Started', href: '/contact' }}
187
+ secondaryCTA={{ text: 'Learn More', href: '#features' }}
188
+ backgroundImage="/images/hero-bg.jpg"
189
+ variant="centered"
190
+ />
191
+
192
+ <FeaturesGrid
193
+ id="features"
194
+ features={[
195
+ { icon: 'Shield', title: 'Secure', description: 'Enterprise-grade security' },
196
+ { icon: 'Clock', title: 'Fast', description: 'Lightning-fast performance' },
197
+ { icon: 'Users', title: 'Team', description: 'Built for collaboration' },
198
+ ]}
199
+ columns={3}
200
+ />
201
+
202
+ <TestimonialSection
203
+ testimonials={[
204
+ { quote: 'Amazing product...', author: 'Jane Doe', role: 'CEO, Acme Inc' },
205
+ { quote: 'Changed everything...', author: 'John Smith', role: 'CTO, Tech Co' },
206
+ ]}
207
+ />
208
+
209
+ <CTASection
210
+ heading="Ready to Get Started?"
211
+ primaryCTA={{ text: 'Contact Us', href: '/contact' }}
212
+ />
213
+ </main>
214
+ );
215
+ }
216
+ ```
217
+
218
+ ## Handling Special Cases
219
+
220
+ ### CMS-Driven Content
221
+
222
+ If the Webflow site uses CMS collections:
223
+
224
+ 1. Export collection data as CSV
225
+ 2. Note in the Migration Spec which sections are dynamic
226
+ 3. Implementation options:
227
+ - Convert to static content if collection is small
228
+ - Create corresponding data files (JSON/MDX)
229
+ - Integrate with a headless CMS
230
+
231
+ ### Custom Animations
232
+
233
+ Webflow's interactions don't translate directly. Note them in the spec:
234
+
235
+ ```markdown
236
+ ### Section 2: Features
237
+ - **Suggested Component**: FeaturesGrid
238
+ - **Animation Note**: Cards fade in on scroll, staggered 100ms
239
+ ```
240
+
241
+ The agent can use `AnimatedSection` for scroll-triggered animations.
242
+
243
+ ### Complex Custom Sections
244
+
245
+ Some Webflow sections may not map to existing components:
246
+
247
+ ```markdown
248
+ ### Section 5: Interactive Map
249
+ - **Suggested Component**: CUSTOM NEEDED
250
+ - **Description**: Full-width map with location markers and popup info
251
+ - **Implementation Notes**: Need to integrate a mapping library (Mapbox/Google Maps)
252
+ ```
253
+
254
+ Flag these for manual implementation or component creation.
255
+
256
+ ## Workflow Summary
257
+
258
+ ```
259
+ ┌─────────────────────────────────────────────────────────────┐
260
+ │ 1. EXPORT (Human) │
261
+ │ - Export code from Webflow dashboard │
262
+ │ - Export CMS collections as CSV (if applicable) │
263
+ │ - Unzip into working directory │
264
+ └─────────────────────────────────────────────────────────────┘
265
+
266
+ ┌─────────────────────────────────────────────────────────────┐
267
+ │ 2. EXTRACT (Agent) │
268
+ │ - Read exported HTML files │
269
+ │ - Generate Migration Spec (sections → components) │
270
+ │ - List assets to copy │
271
+ └─────────────────────────────────────────────────────────────┘
272
+
273
+ ┌─────────────────────────────────────────────────────────────┐
274
+ │ 3. REVIEW (Human) │
275
+ │ - Review Migration Spec │
276
+ │ - Adjust component choices if needed │
277
+ │ - Approve │
278
+ └─────────────────────────────────────────────────────────────┘
279
+
280
+ ┌─────────────────────────────────────────────────────────────┐
281
+ │ 4. IMPLEMENT (Agent) │
282
+ │ - Create pages using framework components │
283
+ │ - Copy and organize assets │
284
+ │ - Wire up navigation and links │
285
+ └─────────────────────────────────────────────────────────────┘
286
+ ```
287
+
288
+ ## Tips for Success
289
+
290
+ 1. **Start with code export** - It's cleaner than scraping the live site
291
+ 2. **Review the spec carefully** - This is your chance to catch issues before implementation
292
+ 3. **Keep the original** - Don't delete the Webflow export until migration is verified
293
+ 4. **Test thoroughly** - Compare the implemented site to the original visually
294
+ 5. **Iterate** - The first pass rarely gets everything; refine as needed
295
+
296
+ ## Related Documentation
297
+
298
+ - [Components Overview](../components/overview.md) - Full component reference
299
+ - [Internationalization](../features/internationalization.md) - Adding multi-language support
300
+ - [Analytics Setup](./analytics-setup.md) - Tracking for the new site
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zoyth/simple-site-framework",
3
- "version": "1.0.2",
3
+ "version": "1.1.0",
4
4
  "description": "A configuration-driven framework for building professional service websites",
5
5
  "keywords": [
6
6
  "framework",
@@ -135,7 +135,7 @@
135
135
  "@radix-ui/react-tooltip": "^1.0.0",
136
136
  "@tailwindcss/typography": "^0.5.0",
137
137
  "framer-motion": "^11.0.0",
138
- "lucide-react": "^0.300.0",
138
+ "lucide-react": "^0.400.0",
139
139
  "next": "^14.0.0 || ^15.0.0 || ^16.0.0",
140
140
  "next-mdx-remote": "^5.0.0",
141
141
  "react": "^18.0.0 || ^19.0.0",