launchframe 0.2.0 → 0.2.1

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 (72) hide show
  1. package/README.md +143 -183
  2. package/bin/launchframe.mjs +234 -30
  3. package/package.json +52 -67
  4. package/template/.aider.conf.yml +3 -0
  5. package/template/.amazonq/cli-agents/clone-website.json +9 -0
  6. package/template/.amazonq/rules/project.md +156 -0
  7. package/template/.augment/commands/clone-website.md +516 -0
  8. package/template/.claude/skills/clone-website/SKILL.md +515 -0
  9. package/template/.clinerules +156 -0
  10. package/template/.codex/skills/clone-website/SKILL.md +515 -0
  11. package/template/.continue/commands/clone-website.md +517 -0
  12. package/template/.continue/rules/project.md +160 -0
  13. package/template/.cursor/commands/clone-website.md +512 -0
  14. package/template/.cursor/rules/project.mdc +7 -0
  15. package/template/.dockerignore +60 -0
  16. package/template/.gemini/commands/clone-website.toml +518 -0
  17. package/template/.gitattributes +9 -0
  18. package/template/.github/ISSUE_TEMPLATE/bug_report.yml +86 -0
  19. package/template/.github/ISSUE_TEMPLATE/config.yml +5 -0
  20. package/template/.github/ISSUE_TEMPLATE/feature_request.yml +50 -0
  21. package/template/.github/PULL_REQUEST_TEMPLATE.md +19 -0
  22. package/template/.github/copilot-instructions.md +156 -0
  23. package/template/.github/copilot-setup-steps.yml +3 -0
  24. package/template/.github/skills/clone-website/SKILL.md +515 -0
  25. package/template/.github/workflows/ci.yml +36 -0
  26. package/template/.nvmrc +1 -0
  27. package/template/.opencode/commands/clone-website.md +515 -0
  28. package/template/.windsurf/workflows/clone-website.md +512 -0
  29. package/template/.windsurfrules +2 -0
  30. package/template/AGENTS.md +74 -0
  31. package/template/CHANGELOG.md +80 -0
  32. package/template/CLAUDE.md +1 -0
  33. package/template/Dockerfile +114 -0
  34. package/template/Dockerfile.dev +15 -0
  35. package/template/GEMINI.md +1 -0
  36. package/template/README.md +129 -0
  37. package/template/components.json +25 -0
  38. package/template/docker-compose.yml +53 -0
  39. package/template/docs/design-references/.gitkeep +0 -0
  40. package/template/docs/design-references/comparison.png +0 -0
  41. package/template/docs/research/INSPECTION_GUIDE.md +80 -0
  42. package/template/eslint.config.mjs +18 -0
  43. package/template/next.config.ts +8 -0
  44. package/template/package.json +59 -0
  45. package/template/postcss.config.mjs +7 -0
  46. package/template/public/images/.gitkeep +0 -0
  47. package/template/public/seo/.gitkeep +0 -0
  48. package/template/public/videos/.gitkeep +0 -0
  49. package/template/scripts/.gitkeep +0 -0
  50. package/template/scripts/sync-agent-rules.sh +88 -0
  51. package/template/scripts/sync-skills.mjs +111 -0
  52. package/template/src/app/favicon.ico +0 -0
  53. package/template/src/app/globals.css +130 -0
  54. package/template/src/app/layout.tsx +33 -0
  55. package/template/src/app/page.tsx +9 -0
  56. package/template/src/components/ui/button.tsx +60 -0
  57. package/template/src/hooks/.gitkeep +0 -0
  58. package/template/src/lib/utils.ts +6 -0
  59. package/template/src/types/.gitkeep +0 -0
  60. package/template/tsconfig.json +34 -0
  61. package/packages/extract/automated-clone-pass.ts +0 -353
  62. package/packages/extract/browser-extract.ts +0 -237
  63. package/packages/extract/cloner-research-emit.ts +0 -270
  64. package/packages/extract/dom-crawler.ts +0 -521
  65. package/packages/extract/emit.ts +0 -553
  66. package/packages/extract/extract.ts +0 -548
  67. package/packages/extract/host-slug.ts +0 -5
  68. package/packages/extract/mirror-emit.ts +0 -620
  69. package/packages/extract/package.json +0 -13
  70. package/packages/extract/reference-dump.ts +0 -431
  71. package/packages/extract/synthesize.ts +0 -551
  72. package/packages/extract/types.ts +0 -316
@@ -0,0 +1,160 @@
1
+ <!-- AUTO-GENERATED from AGENTS.md — do not edit directly.
2
+ Run `bash scripts/sync-agent-rules.sh` to regenerate. -->
3
+
4
+ ---
5
+ description: Project conventions for AI Website Clone Template
6
+ alwaysApply: true
7
+ ---
8
+ <!-- BEGIN:nextjs-agent-rules -->
9
+ # This is NOT the Next.js you know
10
+
11
+ This version has breaking changes — APIs, conventions, and file structure may all differ from your training data. Read the relevant guide in `node_modules/next/dist/docs/` before writing any code. Heed deprecation notices.
12
+ <!-- END:nextjs-agent-rules -->
13
+
14
+ # Launchframe Project (AI Website Cloner + SaaS Rebrand)
15
+
16
+ ## What This Is
17
+ This project was scaffolded by [Launchframe](https://github.com/evangruhlkey/launchframe) via `npx launchframe@latest <url> "<saas idea>"`. It is a Next.js + shadcn/ui + Tailwind v4 base wired with an AI-cloner skill (`/clone-website`) that reverse-engineers a real website pixel-perfectly and then re-skins its copy/branding for the user's SaaS idea.
18
+
19
+ ## Single Source of Truth: `launchframe.config.json`
20
+ At the project root there is a `launchframe.config.json` containing:
21
+ - `url` — the visual source-of-truth to clone
22
+ - `idea` — the SaaS idea used as the rebranding directive after the clone
23
+
24
+ **Always read this file first** at the start of any cloning or build task. The `/clone-website` skill depends on it.
25
+
26
+ ## Tech Stack
27
+ - **Framework:** Next.js 16 (App Router, React 19, TypeScript strict)
28
+ - **UI:** shadcn/ui (Radix primitives, Tailwind CSS v4, `cn()` utility)
29
+ - **Icons:** Lucide React (default — will be replaced/supplemented by extracted SVGs)
30
+ - **Styling:** Tailwind CSS v4 with oklch design tokens
31
+ - **Deployment:** Vercel
32
+
33
+ ## Commands
34
+ - `npm run dev` — Start dev server
35
+ - `npm run build` — Production build
36
+ - `npm run lint` — ESLint check
37
+ - `npm run typecheck` — TypeScript check
38
+ - `npm run check` — Run lint + typecheck + build
39
+
40
+ ## Code Style
41
+ - TypeScript strict mode, no `any`
42
+ - Named exports, PascalCase components, camelCase utils
43
+ - Tailwind utility classes, no inline styles
44
+ - 2-space indentation
45
+ - Responsive: mobile-first
46
+
47
+ ## Design Principles
48
+ - **Pixel-perfect emulation** — match the target's spacing, colors, typography exactly
49
+ - **No personal aesthetic changes during emulation phase** — match 1:1 first, rebrand later
50
+ - **Real content during extraction** — use actual text and assets from the target site so the clone scaffolds against real shapes
51
+ - **Rebrand pass swaps copy, not visuals** — once the clone is built, replace product name, headlines, feature copy, and brand marks with content tuned to `launchframe.config.json#idea`. Do NOT alter spacing, color tokens, typography scale, animations, or responsive breakpoints during the rebrand.
52
+ - **Beauty-first** — every pixel matters
53
+
54
+ ## Project Structure
55
+ ```
56
+ src/
57
+ app/ # Next.js routes
58
+ components/ # React components
59
+ ui/ # shadcn/ui primitives
60
+ icons.tsx # Extracted SVG icons as React components
61
+ lib/
62
+ utils.ts # cn() utility (shadcn)
63
+ types/ # TypeScript interfaces
64
+ hooks/ # Custom React hooks
65
+ public/
66
+ images/ # Downloaded images from target site
67
+ videos/ # Downloaded videos from target site
68
+ seo/ # Favicons, OG images, webmanifest
69
+ docs/
70
+ research/ # Inspection output (design tokens, components, layout)
71
+ design-references/ # Screenshots and visual references
72
+ scripts/ # Asset download scripts
73
+ ```
74
+
75
+ ## MOST IMPORTANT NOTES
76
+ - **Always start by reading `launchframe.config.json`** — that file dictates the URL to clone and the SaaS idea to re-skin for.
77
+ - When launching Claude Code agent teams, ALWAYS have each teammate work in their own worktree branch and merge everyone's work at the end, resolving any merge conflicts smartly since you are basically serving the orchestrator role and have full context to our goals, work given, work achieved, and desired outcomes.
78
+ - After editing `AGENTS.md`, run `bash scripts/sync-agent-rules.sh` to regenerate platform-specific instruction files.
79
+ - After editing `.claude/skills/clone-website/SKILL.md`, run `node scripts/sync-skills.mjs` to regenerate the skill for all platforms.
80
+
81
+ # Website Inspection Guide
82
+
83
+ ## How to Reverse-Engineer Any Website
84
+
85
+ This guide outlines what to capture when inspecting a target website via Chrome MCP or browser DevTools.
86
+
87
+ ## Phase 1: Visual Audit
88
+
89
+ ### Screenshots to Capture
90
+ - [ ] Every distinct page — desktop, tablet, mobile
91
+ - [ ] Dark mode variants (if applicable)
92
+ - [ ] Light mode variants (if applicable)
93
+ - [ ] Key interaction states (hover, active, open menus, modals)
94
+ - [ ] Loading/skeleton states
95
+ - [ ] Empty states
96
+ - [ ] Error states
97
+
98
+ ### Design Tokens to Extract
99
+ - [ ] **Colors** — background, text (primary/secondary/muted), accent, border, hover, error, success, warning
100
+ - [ ] **Typography** — font family, sizes (h1-h6, body, caption, label), weights, line heights, letter spacing
101
+ - [ ] **Spacing** — padding/margin patterns (look for a scale: 4px, 8px, 12px, 16px, 24px, 32px, etc.)
102
+ - [ ] **Border radius** — buttons, cards, avatars, inputs
103
+ - [ ] **Shadows/elevation** — card shadows, dropdown shadows, modal overlay
104
+ - [ ] **Breakpoints** — when does the layout shift? (inspect with DevTools responsive mode)
105
+ - [ ] **Icons** — which icon library? custom SVGs? sizes?
106
+ - [ ] **Avatars** — sizes, shapes, fallback behavior
107
+ - [ ] **Buttons** — all variants (primary, secondary, ghost, icon-only, danger)
108
+ - [ ] **Inputs** — text fields, textareas, selects, checkboxes, toggles
109
+
110
+ ## Phase 2: Component Inventory
111
+
112
+ For each distinct UI component, document:
113
+ 1. **Name** — what would you call this component?
114
+ 2. **Structure** — what HTML elements / child components does it contain?
115
+ 3. **Variants** — does it have different sizes, colors, or states?
116
+ 4. **States** — default, hover, active, disabled, loading, error, empty
117
+ 5. **Responsive behavior** — how does it change at different breakpoints?
118
+ 6. **Interactions** — click, hover, focus, keyboard navigation
119
+ 7. **Animations** — transitions, entrance/exit animations, micro-interactions
120
+
121
+ ### Common Components to Look For
122
+ - Navigation (top bar, sidebar, bottom bar)
123
+ - Cards / list items
124
+ - Buttons and links
125
+ - Forms and inputs
126
+ - Modals and dialogs
127
+ - Dropdowns and menus
128
+ - Tabs and segmented controls
129
+ - Avatars and user badges
130
+ - Loading skeletons
131
+ - Toast notifications
132
+ - Tooltips and popovers
133
+
134
+ ## Phase 3: Layout Architecture
135
+
136
+ - [ ] **Grid system** — CSS Grid? Flexbox? Fixed widths?
137
+ - [ ] **Column layout** — how many columns at each breakpoint?
138
+ - [ ] **Max-width** — main content area max-width
139
+ - [ ] **Sticky elements** — header, sidebar, floating buttons
140
+ - [ ] **Z-index layers** — navigation, modals, tooltips, overlays
141
+ - [ ] **Scroll behavior** — infinite scroll, pagination, virtual scrolling
142
+
143
+ ## Phase 4: Technical Stack Analysis
144
+
145
+ - [ ] **Framework** — React? Vue? Angular? Check `__NEXT_DATA__`, `__NUXT__`, `ng-version`
146
+ - [ ] **CSS approach** — Tailwind (utility classes), CSS Modules, Styled Components, Emotion, vanilla CSS
147
+ - [ ] **State management** — Redux (check DevTools), React Query, Zustand, Pinia
148
+ - [ ] **API patterns** — REST, GraphQL (check network tab for `/graphql` requests)
149
+ - [ ] **Font loading** — Google Fonts, self-hosted, system fonts
150
+ - [ ] **Image strategy** — CDN, lazy loading, srcset, WebP/AVIF
151
+ - [ ] **Animation library** — Framer Motion, GSAP, CSS transitions only
152
+
153
+ ## Phase 5: Documentation Output
154
+
155
+ After inspection, create these files in `docs/research/`:
156
+ 1. `DESIGN_TOKENS.md` — All extracted colors, typography, spacing
157
+ 2. `COMPONENT_INVENTORY.md` — Every component with structure notes
158
+ 3. `LAYOUT_ARCHITECTURE.md` — Page layouts, grid system, responsive behavior
159
+ 4. `INTERACTION_PATTERNS.md` — Animations, transitions, hover states
160
+ 5. `TECH_STACK_ANALYSIS.md` — What the site uses and our chosen equivalents