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.
Files changed (95) hide show
  1. package/.amazonq/cli-agents/clone-website.json +9 -0
  2. package/.amazonq/cli-agents/launchframe.json +9 -0
  3. package/.amazonq/rules/project.md +158 -0
  4. package/{template/.augment → .augment}/commands/clone-website.md +35 -112
  5. package/.augment/commands/launchframe.md +46 -0
  6. package/.claude/skills/clone-website/SKILL.md +487 -0
  7. package/.claude/skills/launchframe/SKILL.md +45 -0
  8. package/.clinerules +158 -0
  9. package/.codex/skills/clone-website/SKILL.md +487 -0
  10. package/.codex/skills/launchframe/SKILL.md +45 -0
  11. package/{template/.continue → .continue}/commands/clone-website.md +35 -112
  12. package/.continue/commands/launchframe.md +47 -0
  13. package/.continue/rules/project.md +162 -0
  14. package/{template/.cursor → .cursor}/commands/clone-website.md +35 -112
  15. package/.cursor/commands/launchframe.md +42 -0
  16. package/.cursor/rules/project.mdc +7 -0
  17. package/{template/.gemini → .gemini}/commands/clone-website.toml +35 -112
  18. package/.gemini/commands/launchframe.toml +48 -0
  19. package/.github/copilot-instructions.md +158 -0
  20. package/.github/skills/clone-website/SKILL.md +487 -0
  21. package/.github/skills/launchframe/SKILL.md +45 -0
  22. package/.gitignore +49 -0
  23. package/{template/.opencode → .opencode}/commands/clone-website.md +35 -112
  24. package/.opencode/commands/launchframe.md +45 -0
  25. package/.windsurf/workflows/clone-website.md +484 -0
  26. package/.windsurf/workflows/launchframe.md +42 -0
  27. package/AGENTS.md +66 -0
  28. package/README.md +149 -31
  29. package/bin/launchframe.mjs +348 -315
  30. package/docs/research/INSPECTION_GUIDE.md +90 -0
  31. package/package.json +73 -26
  32. package/scripts/sync-skills.mjs +124 -0
  33. package/{template/src → src}/app/globals.css +1 -93
  34. package/{template/src → src}/app/layout.tsx +16 -5
  35. package/src/app/page.tsx +40 -0
  36. package/src/lib/launchframe-config.ts +8 -0
  37. package/template/.amazonq/cli-agents/clone-website.json +0 -9
  38. package/template/.amazonq/rules/project.md +0 -281
  39. package/template/.claude/skills/clone-website/SKILL.md +0 -564
  40. package/template/.claude/skills/marketing-social-proof-motion/SKILL.md +0 -47
  41. package/template/.clinerules +0 -285
  42. package/template/.codex/skills/clone-website/SKILL.md +0 -564
  43. package/template/.continue/rules/project.md +0 -285
  44. package/template/.cursor/commands/marketing-social-proof-motion.md +0 -42
  45. package/template/.cursor/rules/project.mdc +0 -22
  46. package/template/.github/copilot-instructions.md +0 -281
  47. package/template/.github/skills/clone-website/SKILL.md +0 -564
  48. package/template/.nvmrc +0 -1
  49. package/template/.windsurf/workflows/clone-website.md +0 -561
  50. package/template/AGENTS.md +0 -160
  51. package/template/LICENSE +0 -21
  52. package/template/README.md +0 -121
  53. package/template/START_HERE.md +0 -15
  54. package/template/docs/design-references/playwright-example.com-1440px.png +0 -0
  55. package/template/docs/design-references/playwright-example.com-390px.png +0 -0
  56. package/template/docs/research/INSPECTION_GUIDE.md +0 -124
  57. package/template/launchframe.config.json +0 -14
  58. package/template/package-lock.json +0 -9873
  59. package/template/package.json +0 -54
  60. package/template/scripts/.gitkeep +0 -0
  61. package/template/scripts/recon-playwright.mjs +0 -396
  62. package/template/scripts/sync-skills.mjs +0 -111
  63. package/template/src/app/page.tsx +0 -5
  64. package/template/src/components/marketing/scribewise-landing.tsx +0 -34
  65. package/template/src/hooks/.gitkeep +0 -0
  66. package/template/src/types/.gitkeep +0 -0
  67. /package/{template/.aider.conf.yml → .aider.conf.yml} +0 -0
  68. /package/{template/.dockerignore → .dockerignore} +0 -0
  69. /package/{template/.gitattributes → .gitattributes} +0 -0
  70. /package/{template/.github → .github}/ISSUE_TEMPLATE/bug_report.yml +0 -0
  71. /package/{template/.github → .github}/ISSUE_TEMPLATE/config.yml +0 -0
  72. /package/{template/.github → .github}/ISSUE_TEMPLATE/feature_request.yml +0 -0
  73. /package/{template/.github → .github}/PULL_REQUEST_TEMPLATE.md +0 -0
  74. /package/{template/.github → .github}/copilot-setup-steps.yml +0 -0
  75. /package/{template/.github → .github}/workflows/ci.yml +0 -0
  76. /package/{template/.windsurfrules → .windsurfrules} +0 -0
  77. /package/{template/CLAUDE.md → CLAUDE.md} +0 -0
  78. /package/{template/Dockerfile → Dockerfile} +0 -0
  79. /package/{template/Dockerfile.dev → Dockerfile.dev} +0 -0
  80. /package/{template/GEMINI.md → GEMINI.md} +0 -0
  81. /package/{template/components.json → components.json} +0 -0
  82. /package/{template/docker-compose.yml → docker-compose.yml} +0 -0
  83. /package/{template/docs → docs}/design-references/.gitkeep +0 -0
  84. /package/{template/docs → docs}/design-references/comparison.png +0 -0
  85. /package/{template/eslint.config.mjs → eslint.config.mjs} +0 -0
  86. /package/{template/next.config.ts → next.config.ts} +0 -0
  87. /package/{template/postcss.config.mjs → postcss.config.mjs} +0 -0
  88. /package/{template/public/images → scripts}/.gitkeep +0 -0
  89. /package/{template/scripts → scripts}/sync-agent-rules.sh +0 -0
  90. /package/{template/src → src}/app/favicon.ico +0 -0
  91. /package/{template/src → src}/components/ui/button.tsx +0 -0
  92. /package/{template/public/seo → src/hooks}/.gitkeep +0 -0
  93. /package/{template/src → src}/lib/utils.ts +0 -0
  94. /package/{template/public/videos → src/types}/.gitkeep +0 -0
  95. /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
- > **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. 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
- 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
+ ### 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
- mkdir my-saas && cd my-saas
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
- Then open **this folder** in [Cursor](https://cursor.com/) and chat: **Build it.**
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
- Files land in the **current directory** so workspace rules apply. Prefer a subfolder? Use `--dir launchframe-app`.
79
+ - [Node.js](https://nodejs.org/) 24+
80
+ - An AI coding agent (see [Supported Platforms](#supported-platforms))
31
81
 
32
- ## CLI Reference
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
- 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
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
- ## Monorepo (this repository)
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
- To work on the app: `cd template && npm install && npm run dev`.
168
+ ## Star History
51
169
 
52
- To verify the npm tarball before publish: `npm pack` at the repo root — the package must include `bin/` and `template/`.
170
+ [![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
171
 
54
172
  ## License
55
173
 
56
- MIT — see [LICENSE](./LICENSE).
174
+ MIT