launchframe 0.3.1 → 0.4.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 (81) hide show
  1. package/.claude/skills/clone-website/SKILL.md +473 -0
  2. package/.clinerules +147 -0
  3. package/.codex/skills/clone-website/SKILL.md +473 -0
  4. package/{template/.continue → .continue}/commands/clone-website.md +475 -566
  5. package/.continue/rules/project.md +151 -0
  6. package/{template/.augment → .cursor}/commands/clone-website.md +470 -565
  7. package/.cursor/rules/project.mdc +7 -0
  8. package/{template/.gemini → .gemini}/commands/clone-website.toml +476 -567
  9. package/.github/copilot-instructions.md +147 -0
  10. package/.github/skills/clone-website/SKILL.md +473 -0
  11. package/.gitignore +49 -0
  12. package/{template/.opencode → .opencode}/commands/clone-website.md +473 -564
  13. package/{template/.cursor/commands → .windsurf/workflows}/clone-website.md +470 -561
  14. package/AGENTS.md +65 -0
  15. package/README.md +137 -31
  16. package/bin/launchframe.mjs +343 -315
  17. package/docs/research/INSPECTION_GUIDE.md +80 -0
  18. package/package.json +71 -26
  19. package/{template/src → src}/app/globals.css +1 -93
  20. package/{template/src → src}/app/layout.tsx +16 -5
  21. package/src/app/page.tsx +40 -0
  22. package/src/lib/launchframe-config.ts +8 -0
  23. package/template/.amazonq/cli-agents/clone-website.json +0 -9
  24. package/template/.amazonq/rules/project.md +0 -281
  25. package/template/.claude/skills/clone-website/SKILL.md +0 -564
  26. package/template/.claude/skills/marketing-social-proof-motion/SKILL.md +0 -47
  27. package/template/.clinerules +0 -285
  28. package/template/.codex/skills/clone-website/SKILL.md +0 -564
  29. package/template/.continue/rules/project.md +0 -285
  30. package/template/.cursor/commands/marketing-social-proof-motion.md +0 -42
  31. package/template/.cursor/rules/project.mdc +0 -22
  32. package/template/.github/copilot-instructions.md +0 -281
  33. package/template/.github/skills/clone-website/SKILL.md +0 -564
  34. package/template/.nvmrc +0 -1
  35. package/template/.windsurf/workflows/clone-website.md +0 -561
  36. package/template/AGENTS.md +0 -160
  37. package/template/LICENSE +0 -21
  38. package/template/README.md +0 -121
  39. package/template/START_HERE.md +0 -15
  40. package/template/docs/design-references/playwright-example.com-1440px.png +0 -0
  41. package/template/docs/design-references/playwright-example.com-390px.png +0 -0
  42. package/template/docs/research/INSPECTION_GUIDE.md +0 -124
  43. package/template/launchframe.config.json +0 -14
  44. package/template/package-lock.json +0 -9873
  45. package/template/package.json +0 -54
  46. package/template/scripts/.gitkeep +0 -0
  47. package/template/scripts/recon-playwright.mjs +0 -396
  48. package/template/src/app/page.tsx +0 -5
  49. package/template/src/components/marketing/scribewise-landing.tsx +0 -34
  50. package/template/src/hooks/.gitkeep +0 -0
  51. package/template/src/types/.gitkeep +0 -0
  52. /package/{template/.aider.conf.yml → .aider.conf.yml} +0 -0
  53. /package/{template/.dockerignore → .dockerignore} +0 -0
  54. /package/{template/.gitattributes → .gitattributes} +0 -0
  55. /package/{template/.github → .github}/ISSUE_TEMPLATE/bug_report.yml +0 -0
  56. /package/{template/.github → .github}/ISSUE_TEMPLATE/config.yml +0 -0
  57. /package/{template/.github → .github}/ISSUE_TEMPLATE/feature_request.yml +0 -0
  58. /package/{template/.github → .github}/PULL_REQUEST_TEMPLATE.md +0 -0
  59. /package/{template/.github → .github}/copilot-setup-steps.yml +0 -0
  60. /package/{template/.github → .github}/workflows/ci.yml +0 -0
  61. /package/{template/.windsurfrules → .windsurfrules} +0 -0
  62. /package/{template/CLAUDE.md → CLAUDE.md} +0 -0
  63. /package/{template/Dockerfile → Dockerfile} +0 -0
  64. /package/{template/Dockerfile.dev → Dockerfile.dev} +0 -0
  65. /package/{template/GEMINI.md → GEMINI.md} +0 -0
  66. /package/{template/components.json → components.json} +0 -0
  67. /package/{template/docker-compose.yml → docker-compose.yml} +0 -0
  68. /package/{template/docs → docs}/design-references/.gitkeep +0 -0
  69. /package/{template/docs → docs}/design-references/comparison.png +0 -0
  70. /package/{template/eslint.config.mjs → eslint.config.mjs} +0 -0
  71. /package/{template/next.config.ts → next.config.ts} +0 -0
  72. /package/{template/postcss.config.mjs → postcss.config.mjs} +0 -0
  73. /package/{template/public/images → scripts}/.gitkeep +0 -0
  74. /package/{template/scripts → scripts}/sync-agent-rules.sh +0 -0
  75. /package/{template/scripts → scripts}/sync-skills.mjs +0 -0
  76. /package/{template/src → src}/app/favicon.ico +0 -0
  77. /package/{template/src → src}/components/ui/button.tsx +0 -0
  78. /package/{template/public/seo → src/hooks}/.gitkeep +0 -0
  79. /package/{template/src → src}/lib/utils.ts +0 -0
  80. /package/{template/public/videos → src/types}/.gitkeep +0 -0
  81. /package/{template/tsconfig.json → tsconfig.json} +0 -0
package/AGENTS.md ADDED
@@ -0,0 +1,65 @@
1
+ <!-- BEGIN:nextjs-agent-rules -->
2
+ # This is NOT the Next.js you know
3
+
4
+ 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.
5
+ <!-- END:nextjs-agent-rules -->
6
+
7
+ # Website Reverse-Engineer Template
8
+
9
+ ## What This Is
10
+ A reusable template for reverse-engineering any website into a clean, modern Next.js codebase using AI coding agents. The Next.js + shadcn/ui + Tailwind v4 base is pre-scaffolded — just run `/clone-website <url1> [<url2> ...]`.
11
+
12
+ ## Tech Stack
13
+ - **Framework:** Next.js 16 (App Router, React 19, TypeScript strict)
14
+ - **UI:** shadcn/ui (Radix primitives, Tailwind CSS v4, `cn()` utility)
15
+ - **Icons:** Lucide React (default — will be replaced/supplemented by extracted SVGs)
16
+ - **Styling:** Tailwind CSS v4 with oklch design tokens
17
+ - **Deployment:** Vercel
18
+
19
+ ## Commands
20
+ - `npm run dev` — Start dev server
21
+ - `npm run build` — Production build
22
+ - `npm run lint` — ESLint check
23
+ - `npm run typecheck` — TypeScript check
24
+ - `npm run check` — Run lint + typecheck + build
25
+
26
+ ## Code Style
27
+ - TypeScript strict mode, no `any`
28
+ - Named exports, PascalCase components, camelCase utils
29
+ - Tailwind utility classes, no inline styles
30
+ - 2-space indentation
31
+ - Responsive: mobile-first
32
+
33
+ ## Design Principles
34
+ - **Pixel-perfect emulation** — match the target's spacing, colors, typography exactly
35
+ - **No personal aesthetic changes during emulation phase** — match 1:1 first, customize later
36
+ - **Real content** — use actual text and assets from the target site, not placeholders
37
+ - **Beauty-first** — every pixel matters
38
+
39
+ ## Project Structure
40
+ ```
41
+ src/
42
+ app/ # Next.js routes
43
+ components/ # React components
44
+ ui/ # shadcn/ui primitives
45
+ icons.tsx # Extracted SVG icons as React components
46
+ lib/
47
+ utils.ts # cn() utility (shadcn)
48
+ types/ # TypeScript interfaces
49
+ hooks/ # Custom React hooks
50
+ public/
51
+ images/ # Downloaded images from target site
52
+ videos/ # Downloaded videos from target site
53
+ seo/ # Favicons, OG images, webmanifest
54
+ docs/
55
+ research/ # Inspection output (design tokens, components, layout)
56
+ design-references/ # Screenshots and visual references
57
+ scripts/ # Asset download scripts
58
+ ```
59
+
60
+ ## MOST IMPORTANT NOTES
61
+ - 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.
62
+ - After editing `AGENTS.md`, run `bash scripts/sync-agent-rules.sh` to regenerate platform-specific instruction files.
63
+ - After editing `.claude/skills/clone-website/SKILL.md`, run `node scripts/sync-skills.mjs` to regenerate the skill for all platforms.
64
+
65
+ @docs/research/INSPECTION_GUIDE.md
package/README.md CHANGED
@@ -1,56 +1,162 @@
1
- # Launchframe
1
+ # Launchframe (AI Website Cloner)
2
2
 
3
- > **Scaffold a SaaS-ready Next.js codebase from any URL in one command.**
3
+ <a href="https://github.com/JCodesMore/ai-website-cloner-template/blob/master/LICENSE"><img src="https://img.shields.io/badge/license-MIT-blue" alt="MIT License" /></a> <a href="https://github.com/JCodesMore/ai-website-cloner-template/stargazers"><img src="https://img.shields.io/github/stars/JCodesMore/ai-website-cloner-template?style=flat" alt="Stars" /></a> <a href="https://discord.gg/hrTSX5yTpB"><img src="https://img.shields.io/discord/1400896964597383279?label=discord" alt="Discord" /></a>
4
4
 
5
- ```bash
6
- npx launchframe@latest <url> "<saas idea>"
7
- ```
5
+ Scaffold a Next.js + shadcn/ui project from **a reference URL you want to copy** plus **your SaaS idea** that drives landing-page positioning. Then run `/clone-website` so your AI agent reverse-engineers the reference layout while preserving your messaging inputs (`launchframe.context.json`, `docs/research/LAUNCHFRAME.md`, `src/lib/launchframe-config.ts`).
8
6
 
9
- Launchframe drops an [AI-cloner template](https://github.com/JCodesMore/ai-website-cloner-template) into **your current folder (project root)** by default so **`.cursor`**, **`.claude`**, and the rest of the dotfolders sit where your editor expects them when you open that folder. It **runs `npm install` for you**. Then tell your AI **Build it** (same as `/clone-website`).
7
+ **Recommended: [Claude Code](https://docs.anthropic.com/en/docs/claude-code) with Opus 4.7 for best results** — but works with a variety of AI coding agents.
10
8
 
11
- ## Why Launchframe
9
+ ## Demo
12
10
 
13
- Cloning a website is a solved problem if you have a great AI agent and a great template. What's missing is **a one-command entrypoint that wires those together with your specific intent**.
11
+ [![Watch the demo](docs/design-references/comparison.png)](https://youtu.be/O669pVZ_qr0)
14
12
 
15
- - Pick a real, beautiful, production-tested landing page
16
- - Pick the SaaS you want to ship
17
- - Get a buildable Next.js codebase in seconds, ready for your AI agent to clone + rebrand
13
+ > Click the image above to watch the full demo on YouTube.
18
14
 
19
15
  ## Quick Start
20
16
 
21
- From an **empty** project folder (or after `git init` only):
17
+ ### CLI (recommended)
18
+
19
+ From an empty folder (or anywhere you want the project folder created):
20
+
21
+ ```bash
22
+ npx launchframe@latest https://example.com "Your SaaS idea in plain language"
23
+ ```
24
+
25
+ Optional flags:
26
+
27
+ - `--dir my-app` / `-o my-app` — output folder name (default: `<hostname>-launchframe`)
28
+ - `--skip-install` — scaffold files only; run `npm install` yourself
29
+
30
+ Then:
22
31
 
23
32
  ```bash
24
- mkdir my-saas && cd my-saas
25
- npx launchframe@latest https://linear.app "AI-powered customer feedback platform"
33
+ cd <your-project-folder>
34
+ npm run dev
26
35
  ```
27
36
 
28
- Then open **this folder** in [Cursor](https://cursor.com/) and chat: **Build it.**
37
+ Open your AI agent and run `/clone-website <same-reference-url>` so it rebuilds the reference site into components while aligning hero copy with your SaaS idea files above.
38
+
39
+ ### Git template (advanced)
40
+
41
+ 1. Clone this repository and `npm install`
42
+ 2. Replace `src/lib/launchframe-config.ts` or run `npx launchframe ...` into a fresh folder
43
+ 3. Run `/clone-website <target-url>` from your agent
44
+
45
+ > Using a different agent? Open `AGENTS.md` for project instructions — most agents pick it up automatically.
46
+
47
+ ## Supported Platforms
48
+
49
+ | Agent | Status |
50
+ | ------------------------------------------------------------- | -------------------------- |
51
+ | [Claude Code](https://docs.anthropic.com/en/docs/claude-code) | **Recommended** — Opus 4.7 |
52
+ | [Codex CLI](https://github.com/openai/codex) | Supported |
53
+ | [OpenCode](https://opencode.ai/) | Supported |
54
+ | [GitHub Copilot](https://github.com/features/copilot) | Supported |
55
+ | [Cursor](https://cursor.com/) | Supported |
56
+ | [Windsurf](https://codeium.com/windsurf) | Supported |
57
+ | [Gemini CLI](https://github.com/google-gemini/gemini-cli) | Supported |
58
+ | [Cline](https://github.com/cline/cline) | Supported |
59
+ | [Roo Code](https://github.com/RooCodeInc/Roo-Code) | Supported |
60
+ | [Continue](https://continue.dev/) | Supported |
61
+ | [Amazon Q](https://aws.amazon.com/q/developer/) | Supported |
62
+ | [Augment Code](https://www.augmentcode.com/) | Supported |
63
+ | [Aider](https://aider.chat/) | Supported |
64
+
65
+ ## Prerequisites
66
+
67
+ - [Node.js](https://nodejs.org/) 24+
68
+ - An AI coding agent (see [Supported Platforms](#supported-platforms))
69
+
70
+ ## Tech Stack
71
+
72
+ - **Next.js 16** — App Router, React 19, TypeScript strict
73
+ - **shadcn/ui** — Radix primitives + Tailwind CSS v4
74
+ - **Tailwind CSS v4** — oklch design tokens
75
+ - **Lucide React** — default icons (replaced by extracted SVGs during cloning)
29
76
 
30
- Files land in the **current directory** so workspace rules apply. Prefer a subfolder? Use `--dir launchframe-app`.
77
+ ## How It Works
31
78
 
32
- ## CLI Reference
79
+ The `/clone-website` skill runs a multi-phase pipeline:
33
80
 
81
+ 1. **Reconnaissance** — screenshots, design token extraction, interaction sweep (scroll, click, hover, responsive)
82
+ 2. **Foundation** — updates fonts, colors, globals, downloads all assets
83
+ 3. **Component Specs** — writes detailed spec files (`docs/research/components/`) with exact computed CSS values, states, behaviors, and content
84
+ 4. **Parallel Build** — dispatches builder agents in git worktrees, one per section/component
85
+ 5. **Assembly & QA** — merges worktrees, wires up the page, runs visual diff against the original
86
+
87
+ Each builder agent receives the full component specification inline — exact `getComputedStyle()` values, interaction models, multi-state content, responsive breakpoints, and asset paths. No guessing.
88
+
89
+ ## Use Cases
90
+
91
+ - **Platform migration** — rebuild a site you own from WordPress/Webflow/Squarespace into a modern Next.js codebase
92
+ - **Lost source code** — your site is live but the repo is gone, the developer left, or the stack is legacy. Get the code back in a modern format
93
+ - **Learning** — deconstruct how production sites achieve specific layouts, animations, and responsive behavior by working with real code
94
+
95
+ ## Not Intended For
96
+
97
+ - **Phishing or impersonation** — this project must not be used for deceptive purposes, impersonation, or any activity that breaks the law.
98
+ - **Passing off someone's design as your own** — logos, brand assets, and original copy belong to their owners.
99
+ - **Violating terms of service** — some sites explicitly prohibit scraping or reproduction. Check first.
100
+
101
+ ## Project Structure
102
+
103
+ ```
104
+ src/
105
+ app/ # Next.js routes
106
+ components/ # React components
107
+ ui/ # shadcn/ui primitives
108
+ icons.tsx # Extracted SVG icons
109
+ lib/utils.ts # cn() utility
110
+ types/ # TypeScript interfaces
111
+ hooks/ # Custom React hooks
112
+ public/
113
+ images/ # Downloaded images from target
114
+ videos/ # Downloaded videos from target
115
+ seo/ # Favicons, OG images
116
+ docs/
117
+ research/ # Extraction output & component specs
118
+ design-references/ # Screenshots
119
+ scripts/
120
+ sync-agent-rules.sh # Regenerate agent instruction files
121
+ sync-skills.mjs # Regenerate /clone-website for all platforms
122
+ AGENTS.md # Agent instructions (single source of truth)
123
+ CLAUDE.md # Claude Code config (imports AGENTS.md)
124
+ GEMINI.md # Gemini CLI config (imports AGENTS.md)
125
+ ```
126
+
127
+ ## Commands
128
+
129
+ ```bash
130
+ npm run dev # Start dev server
131
+ npm run build # Production build
132
+ npm run lint # ESLint check
133
+ npm run typecheck # TypeScript check
134
+ npm run check # Run lint + typecheck + build
34
135
  ```
35
- npx launchframe@latest <url> "<saas idea>" [options]
36
-
37
- Options:
38
- --dir <path> Output folder (default: .)
39
- --force Merge into a non-empty directory (use with care)
40
- --skip-install Skip npm install (CI / debugging)
41
- --help, -h Help
42
- --version, -v Version
136
+
137
+ ### If using docker
138
+
139
+ ```bash
140
+ docker compose up app --build # build and run the app
141
+ docker compose up dev --build # run the app in dev mode on port 3001
43
142
  ```
44
143
 
45
- ## Monorepo (this repository)
144
+ ## Updating for Other Platforms
145
+
146
+ Two source-of-truth files power all platform support. Edit the source, then run the sync script:
147
+
148
+ | What | Source of truth | Sync command |
149
+ | ---------------------- | --------------------------------------- | ---------------------------------- |
150
+ | Project instructions | `AGENTS.md` | `bash scripts/sync-agent-rules.sh` |
151
+ | `/clone-website` skill | `.claude/skills/clone-website/SKILL.md` | `node scripts/sync-skills.mjs` |
152
+
153
+ Each script regenerates the platform-specific copies automatically. Agents that read the source files natively need no regeneration.
46
154
 
47
- - **`template/`** — Next.js app + agent skills (what `npx launchframe` copies).
48
- - **`bin/launchframe.mjs`** — CLI entrypoint.
49
155
 
50
- To work on the app: `cd template && npm install && npm run dev`.
156
+ ## Star History
51
157
 
52
- To verify the npm tarball before publish: `npm pack` at the repo root — the package must include `bin/` and `template/`.
158
+ [![Star History Chart](https://api.star-history.com/svg?repos=JCodesMore/ai-website-cloner-template&type=Date)](https://star-history.com/#JCodesMore/ai-website-cloner-template&Date)
53
159
 
54
160
  ## License
55
161
 
56
- MIT — see [LICENSE](./LICENSE).
162
+ MIT