launchframe 0.3.1 → 0.4.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.
- package/.amazonq/cli-agents/clone-website.json +9 -0
- package/.amazonq/cli-agents/launchframe.json +9 -0
- package/.amazonq/rules/project.md +158 -0
- package/{template/.augment → .augment}/commands/clone-website.md +35 -112
- package/.augment/commands/launchframe.md +46 -0
- package/.claude/skills/clone-website/SKILL.md +487 -0
- package/.claude/skills/launchframe/SKILL.md +45 -0
- package/.clinerules +158 -0
- package/.codex/skills/clone-website/SKILL.md +487 -0
- package/.codex/skills/launchframe/SKILL.md +45 -0
- package/{template/.continue → .continue}/commands/clone-website.md +35 -112
- package/.continue/commands/launchframe.md +47 -0
- package/.continue/rules/project.md +162 -0
- package/{template/.cursor → .cursor}/commands/clone-website.md +35 -112
- package/.cursor/commands/launchframe.md +42 -0
- package/.cursor/rules/project.mdc +7 -0
- package/{template/.gemini → .gemini}/commands/clone-website.toml +35 -112
- package/.gemini/commands/launchframe.toml +48 -0
- package/.github/copilot-instructions.md +158 -0
- package/.github/skills/clone-website/SKILL.md +487 -0
- package/.github/skills/launchframe/SKILL.md +45 -0
- package/.gitignore +49 -0
- package/{template/.opencode → .opencode}/commands/clone-website.md +35 -112
- package/.opencode/commands/launchframe.md +45 -0
- package/.windsurf/workflows/clone-website.md +484 -0
- package/.windsurf/workflows/launchframe.md +42 -0
- package/AGENTS.md +66 -0
- package/README.md +149 -31
- package/bin/launchframe.mjs +348 -315
- package/docs/research/INSPECTION_GUIDE.md +90 -0
- package/package.json +73 -26
- package/scripts/sync-skills.mjs +124 -0
- package/{template/src → src}/app/globals.css +1 -93
- package/{template/src → src}/app/layout.tsx +16 -5
- package/src/app/page.tsx +40 -0
- package/src/lib/launchframe-config.ts +8 -0
- package/template/.amazonq/cli-agents/clone-website.json +0 -9
- package/template/.amazonq/rules/project.md +0 -281
- package/template/.claude/skills/clone-website/SKILL.md +0 -564
- package/template/.claude/skills/marketing-social-proof-motion/SKILL.md +0 -47
- package/template/.clinerules +0 -285
- package/template/.codex/skills/clone-website/SKILL.md +0 -564
- package/template/.continue/rules/project.md +0 -285
- package/template/.cursor/commands/marketing-social-proof-motion.md +0 -42
- package/template/.cursor/rules/project.mdc +0 -22
- package/template/.github/copilot-instructions.md +0 -281
- package/template/.github/skills/clone-website/SKILL.md +0 -564
- package/template/.nvmrc +0 -1
- package/template/.windsurf/workflows/clone-website.md +0 -561
- package/template/AGENTS.md +0 -160
- package/template/LICENSE +0 -21
- package/template/README.md +0 -121
- package/template/START_HERE.md +0 -15
- package/template/docs/design-references/playwright-example.com-1440px.png +0 -0
- package/template/docs/design-references/playwright-example.com-390px.png +0 -0
- package/template/docs/research/INSPECTION_GUIDE.md +0 -124
- package/template/launchframe.config.json +0 -14
- package/template/package-lock.json +0 -9873
- package/template/package.json +0 -54
- package/template/scripts/.gitkeep +0 -0
- package/template/scripts/recon-playwright.mjs +0 -396
- package/template/scripts/sync-skills.mjs +0 -111
- package/template/src/app/page.tsx +0 -5
- package/template/src/components/marketing/scribewise-landing.tsx +0 -34
- package/template/src/hooks/.gitkeep +0 -0
- package/template/src/types/.gitkeep +0 -0
- /package/{template/.aider.conf.yml → .aider.conf.yml} +0 -0
- /package/{template/.dockerignore → .dockerignore} +0 -0
- /package/{template/.gitattributes → .gitattributes} +0 -0
- /package/{template/.github → .github}/ISSUE_TEMPLATE/bug_report.yml +0 -0
- /package/{template/.github → .github}/ISSUE_TEMPLATE/config.yml +0 -0
- /package/{template/.github → .github}/ISSUE_TEMPLATE/feature_request.yml +0 -0
- /package/{template/.github → .github}/PULL_REQUEST_TEMPLATE.md +0 -0
- /package/{template/.github → .github}/copilot-setup-steps.yml +0 -0
- /package/{template/.github → .github}/workflows/ci.yml +0 -0
- /package/{template/.windsurfrules → .windsurfrules} +0 -0
- /package/{template/CLAUDE.md → CLAUDE.md} +0 -0
- /package/{template/Dockerfile → Dockerfile} +0 -0
- /package/{template/Dockerfile.dev → Dockerfile.dev} +0 -0
- /package/{template/GEMINI.md → GEMINI.md} +0 -0
- /package/{template/components.json → components.json} +0 -0
- /package/{template/docker-compose.yml → docker-compose.yml} +0 -0
- /package/{template/docs → docs}/design-references/.gitkeep +0 -0
- /package/{template/docs → docs}/design-references/comparison.png +0 -0
- /package/{template/eslint.config.mjs → eslint.config.mjs} +0 -0
- /package/{template/next.config.ts → next.config.ts} +0 -0
- /package/{template/postcss.config.mjs → postcss.config.mjs} +0 -0
- /package/{template/public/images → scripts}/.gitkeep +0 -0
- /package/{template/scripts → scripts}/sync-agent-rules.sh +0 -0
- /package/{template/src → src}/app/favicon.ico +0 -0
- /package/{template/src → src}/components/ui/button.tsx +0 -0
- /package/{template/public/seo → src/hooks}/.gitkeep +0 -0
- /package/{template/src → src}/lib/utils.ts +0 -0
- /package/{template/public/videos → src/types}/.gitkeep +0 -0
- /package/{template/tsconfig.json → tsconfig.json} +0 -0
package/README.md
CHANGED
|
@@ -1,56 +1,174 @@
|
|
|
1
|
-
# Launchframe
|
|
1
|
+
# Launchframe (AI Website Cloner)
|
|
2
2
|
|
|
3
|
-
|
|
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
|
-
|
|
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. Use **`npx launchframe@latest`** or the slash command **`/launchframe <url> "your idea"`** to scaffold, 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
|
-
|
|
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
|
-
##
|
|
9
|
+
## Demo
|
|
12
10
|
|
|
13
|
-
|
|
11
|
+
[](https://youtu.be/O669pVZ_qr0)
|
|
14
12
|
|
|
15
|
-
|
|
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
|
-
|
|
17
|
+
### AI agents (slash command)
|
|
18
|
+
|
|
19
|
+
In Cursor, Claude Code, Continue, and other synced tools:
|
|
20
|
+
|
|
21
|
+
```text
|
|
22
|
+
/launchframe https://example.com "Your SaaS idea in plain language"
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
The agent runs **`npx launchframe@latest`** with those arguments (see `.cursor/commands/launchframe.md`). Output must be **outside** the template package directory when developing from a clone of this repo — use `--dir ../my-app` or an absolute path.
|
|
26
|
+
|
|
27
|
+
### CLI (same as slash command)
|
|
28
|
+
|
|
29
|
+
From an empty folder (or anywhere you want the project folder created):
|
|
22
30
|
|
|
23
31
|
```bash
|
|
24
|
-
|
|
25
|
-
npx launchframe@latest https://linear.app "AI-powered customer feedback platform"
|
|
32
|
+
npx launchframe@latest https://example.com "Your SaaS idea in plain language"
|
|
26
33
|
```
|
|
27
34
|
|
|
28
|
-
|
|
35
|
+
Scaffolding copies the full template at the repository root — including **hidden agent config** (for example `.cursor/`, `.claude/`, `.github/`, `.amazonq/`, `.augment/`, and other dotfiles) so tools see the same rules and commands as this template.
|
|
36
|
+
|
|
37
|
+
Optional flags:
|
|
38
|
+
|
|
39
|
+
- `--dir my-app` / `-o my-app` — output folder name (default: `<hostname>-launchframe`)
|
|
40
|
+
- `--skip-install` — scaffold files only; run `npm install` yourself
|
|
41
|
+
|
|
42
|
+
Then:
|
|
43
|
+
|
|
44
|
+
```bash
|
|
45
|
+
cd <your-project-folder>
|
|
46
|
+
npm run dev
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
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.
|
|
50
|
+
|
|
51
|
+
### Git template (advanced)
|
|
52
|
+
|
|
53
|
+
1. Clone this repository and `npm install`
|
|
54
|
+
2. Replace `src/lib/launchframe-config.ts` or run `npx launchframe@latest ...` into a fresh folder
|
|
55
|
+
3. Run `/clone-website <target-url>` from your agent
|
|
56
|
+
|
|
57
|
+
> Using a different agent? Open `AGENTS.md` for project instructions — most agents pick it up automatically.
|
|
58
|
+
|
|
59
|
+
## Supported Platforms
|
|
60
|
+
|
|
61
|
+
| Agent | Status |
|
|
62
|
+
| ------------------------------------------------------------- | -------------------------- |
|
|
63
|
+
| [Claude Code](https://docs.anthropic.com/en/docs/claude-code) | **Recommended** — Opus 4.7 |
|
|
64
|
+
| [Codex CLI](https://github.com/openai/codex) | Supported |
|
|
65
|
+
| [OpenCode](https://opencode.ai/) | Supported |
|
|
66
|
+
| [GitHub Copilot](https://github.com/features/copilot) | Supported |
|
|
67
|
+
| [Cursor](https://cursor.com/) | Supported |
|
|
68
|
+
| [Windsurf](https://codeium.com/windsurf) | Supported |
|
|
69
|
+
| [Gemini CLI](https://github.com/google-gemini/gemini-cli) | Supported |
|
|
70
|
+
| [Cline](https://github.com/cline/cline) | Supported |
|
|
71
|
+
| [Roo Code](https://github.com/RooCodeInc/Roo-Code) | Supported |
|
|
72
|
+
| [Continue](https://continue.dev/) | Supported |
|
|
73
|
+
| [Amazon Q](https://aws.amazon.com/q/developer/) | Supported |
|
|
74
|
+
| [Augment Code](https://www.augmentcode.com/) | Supported |
|
|
75
|
+
| [Aider](https://aider.chat/) | Supported |
|
|
76
|
+
|
|
77
|
+
## Prerequisites
|
|
29
78
|
|
|
30
|
-
|
|
79
|
+
- [Node.js](https://nodejs.org/) 24+
|
|
80
|
+
- An AI coding agent (see [Supported Platforms](#supported-platforms))
|
|
31
81
|
|
|
32
|
-
##
|
|
82
|
+
## Tech Stack
|
|
83
|
+
|
|
84
|
+
- **Next.js 16** — App Router, React 19, TypeScript strict
|
|
85
|
+
- **shadcn/ui** — Radix primitives + Tailwind CSS v4
|
|
86
|
+
- **Tailwind CSS v4** — oklch design tokens
|
|
87
|
+
- **Lucide React** — default icons (replaced by extracted SVGs during cloning)
|
|
88
|
+
|
|
89
|
+
## How It Works
|
|
90
|
+
|
|
91
|
+
The `/clone-website` skill runs a multi-phase pipeline:
|
|
92
|
+
|
|
93
|
+
1. **Reconnaissance** — screenshots, design token extraction, interaction sweep (scroll, click, hover, responsive)
|
|
94
|
+
2. **Foundation** — updates fonts, colors, globals, downloads all assets
|
|
95
|
+
3. **Component Specs** — writes detailed spec files (`docs/research/components/`) with exact computed CSS values, states, behaviors, and content
|
|
96
|
+
4. **Parallel Build** — dispatches builder agents in git worktrees, one per section/component
|
|
97
|
+
5. **Assembly & QA** — merges worktrees, wires up the page, runs visual diff against the original
|
|
98
|
+
|
|
99
|
+
Each builder agent receives the full component specification inline — exact `getComputedStyle()` values, interaction models, multi-state content, responsive breakpoints, and asset paths. No guessing.
|
|
100
|
+
|
|
101
|
+
## Use Cases
|
|
102
|
+
|
|
103
|
+
- **Platform migration** — rebuild a site you own from WordPress/Webflow/Squarespace into a modern Next.js codebase
|
|
104
|
+
- **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
|
|
105
|
+
- **Learning** — deconstruct how production sites achieve specific layouts, animations, and responsive behavior by working with real code
|
|
106
|
+
|
|
107
|
+
## Not Intended For
|
|
108
|
+
|
|
109
|
+
- **Phishing or impersonation** — this project must not be used for deceptive purposes, impersonation, or any activity that breaks the law.
|
|
110
|
+
- **Passing off someone's design as your own** — logos, brand assets, and original copy belong to their owners.
|
|
111
|
+
- **Violating terms of service** — some sites explicitly prohibit scraping or reproduction. Check first.
|
|
112
|
+
|
|
113
|
+
## Project Structure
|
|
33
114
|
|
|
34
115
|
```
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
116
|
+
src/
|
|
117
|
+
app/ # Next.js routes
|
|
118
|
+
components/ # React components
|
|
119
|
+
ui/ # shadcn/ui primitives
|
|
120
|
+
icons.tsx # Extracted SVG icons
|
|
121
|
+
lib/utils.ts # cn() utility
|
|
122
|
+
types/ # TypeScript interfaces
|
|
123
|
+
hooks/ # Custom React hooks
|
|
124
|
+
public/
|
|
125
|
+
images/ # Downloaded images from target
|
|
126
|
+
videos/ # Downloaded videos from target
|
|
127
|
+
seo/ # Favicons, OG images
|
|
128
|
+
docs/
|
|
129
|
+
research/ # Extraction output & component specs
|
|
130
|
+
design-references/ # Screenshots
|
|
131
|
+
scripts/
|
|
132
|
+
sync-agent-rules.sh # Regenerate agent instruction files
|
|
133
|
+
sync-skills.mjs # Regenerate /clone-website for all platforms
|
|
134
|
+
AGENTS.md # Agent instructions (single source of truth)
|
|
135
|
+
CLAUDE.md # Claude Code config (imports AGENTS.md)
|
|
136
|
+
GEMINI.md # Gemini CLI config (imports AGENTS.md)
|
|
43
137
|
```
|
|
44
138
|
|
|
45
|
-
##
|
|
139
|
+
## Commands
|
|
140
|
+
|
|
141
|
+
```bash
|
|
142
|
+
npm run dev # Start dev server
|
|
143
|
+
npm run build # Production build
|
|
144
|
+
npm run lint # ESLint check
|
|
145
|
+
npm run typecheck # TypeScript check
|
|
146
|
+
npm run check # Run lint + typecheck + build
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
### If using docker
|
|
150
|
+
|
|
151
|
+
```bash
|
|
152
|
+
docker compose up app --build # build and run the app
|
|
153
|
+
docker compose up dev --build # run the app in dev mode on port 3001
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
## Updating for Other Platforms
|
|
157
|
+
|
|
158
|
+
Two source-of-truth files power all platform support. Edit the source, then run the sync script:
|
|
159
|
+
|
|
160
|
+
| What | Source of truth | Sync command |
|
|
161
|
+
| ---------------------- | --------------------------------------- | ---------------------------------- |
|
|
162
|
+
| Project instructions | `AGENTS.md` | `bash scripts/sync-agent-rules.sh` |
|
|
163
|
+
| `/clone-website` skill | `.claude/skills/clone-website/SKILL.md` | `node scripts/sync-skills.mjs` |
|
|
164
|
+
|
|
165
|
+
Each script regenerates the platform-specific copies automatically. Agents that read the source files natively need no regeneration.
|
|
46
166
|
|
|
47
|
-
- **`template/`** — Next.js app + agent skills (what `npx launchframe` copies).
|
|
48
|
-
- **`bin/launchframe.mjs`** — CLI entrypoint.
|
|
49
167
|
|
|
50
|
-
|
|
168
|
+
## Star History
|
|
51
169
|
|
|
52
|
-
|
|
170
|
+
[](https://star-history.com/#JCodesMore/ai-website-cloner-template&Date)
|
|
53
171
|
|
|
54
172
|
## License
|
|
55
173
|
|
|
56
|
-
MIT
|
|
174
|
+
MIT
|