micro-landing-builder
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseMicro Landing Builder
微型落地页构建工具
Create config-driven NextJS landing pages for startups.
为初创企业创建基于配置驱动的NextJS落地页。
Concept
核心概念
Each landing page is a standalone NextJS app where:
- Content is defined in config file
app.json - UI comes from
@agenticindiedev/ui - Deploy independently to any domain via Vercel
每个落地页都是一个独立的NextJS应用,具有以下特点:
- 内容在配置文件中定义
app.json - UI来自组件包
@agenticindiedev/ui - 可通过Vercel独立部署到任意域名
Prerequisites
前置条件
You need a published landing UI components package. The skill expects:
- Package name (default: )
@agenticindiedev/ui - Components: Hero, Features, Pricing, FAQ, CTA, Testimonials, Stats, EmailCapture, Header, Footer
你需要一个已发布的落地页UI组件包。本工具要求:
- 包名称(默认值:)
@agenticindiedev/ui - 包含组件:Hero、Features、Pricing、FAQ、CTA、Testimonials、Stats、EmailCapture、Header、Footer
Usage
使用方法
bash
undefinedbash
undefinedShow help
显示帮助信息
python3 ~/.claude/skills/micro-landing-builder/scripts/scaffold.py --help
python3 ~/.claude/skills/micro-landing-builder/scripts/scaffold.py --help
Create a new landing
创建新落地页
python3 ~/.claude/skills/micro-landing-builder/scripts/scaffold.py
--slug mystartup
--name "My Startup"
--domain "mystartup.com"
--concept "AI-powered analytics"
--slug mystartup
--name "My Startup"
--domain "mystartup.com"
--concept "AI-powered analytics"
python3 ~/.claude/skills/micro-landing-builder/scripts/scaffold.py
--slug mystartup
--name "My Startup"
--domain "mystartup.com"
--concept "AI-powered analytics"
--slug mystartup
--name "My Startup"
--domain "mystartup.com"
--concept "AI-powered analytics"
With custom UI package
使用自定义UI包
python3 ~/.claude/skills/micro-landing-builder/scripts/scaffold.py
--slug mystartup
--name "My Startup"
--ui-package "@myorg/landing-kit"
--slug mystartup
--name "My Startup"
--ui-package "@myorg/landing-kit"
python3 ~/.claude/skills/micro-landing-builder/scripts/scaffold.py
--slug mystartup
--name "My Startup"
--ui-package "@myorg/landing-kit"
--slug mystartup
--name "My Startup"
--ui-package "@myorg/landing-kit"
Allow outside current directory
允许在当前目录外创建
python3 ~/.claude/skills/micro-landing-builder/scripts/scaffold.py
--root ~/www/landings
--slug mystartup
--allow-outside
--root ~/www/landings
--slug mystartup
--allow-outside
undefinedpython3 ~/.claude/skills/micro-landing-builder/scripts/scaffold.py
--root ~/www/landings
--slug mystartup
--allow-outside
--root ~/www/landings
--slug mystartup
--allow-outside
undefinedGenerated Structure
生成的项目结构
mystartup/
├── app.json # All content/config here
├── package.json # Depends on UI package
├── next.config.ts
├── tailwind.config.ts
├── tsconfig.json
├── vercel.json # Vercel deployment config
├── public/
│ └── (images go here)
└── app/
├── layout.tsx
├── page.tsx # Renders sections from app.json
└── globals.cssmystartup/
├── app.json # 所有内容/配置都在这里
├── package.json # 依赖UI组件包
├── next.config.ts
├── tailwind.config.ts
├── tsconfig.json
├── vercel.json # Vercel部署配置
├── public/
│ └── (图片存放目录)
└── app/
├── layout.tsx
├── page.tsx # 渲染app.json中的各个板块
└── globals.cssapp.json Config
app.json配置文件
The landing is entirely driven by . See for full schema.
app.jsonreferences/config-schema.mdjson
{
"name": "My Startup",
"slug": "mystartup",
"domain": "mystartup.com",
"meta": {
"title": "My Startup - Tagline",
"description": "SEO description"
},
"theme": {
"primary": "#6366f1",
"accent": "#f59e0b"
},
"analytics": {
"plausible": "mystartup.com"
},
"sections": [
{ "type": "hero", "headline": "...", "subheadline": "..." },
{ "type": "features", "items": [...] },
{ "type": "pricing", "plans": [...] },
{ "type": "faq", "items": [...] },
{ "type": "cta", "emailCapture": { "enabled": true } }
]
}落地页完全由驱动。完整的JSON schema请参考。
app.jsonreferences/config-schema.mdjson
{
"name": "My Startup",
"slug": "mystartup",
"domain": "mystartup.com",
"meta": {
"title": "My Startup - Tagline",
"description": "SEO description"
},
"theme": {
"primary": "#6366f1",
"accent": "#f59e0b"
},
"analytics": {
"plausible": "mystartup.com"
},
"sections": [
{ "type": "hero", "headline": "...", "subheadline": "..." },
{ "type": "features", "items": [...] },
{ "type": "pricing", "plans": [...] },
{ "type": "faq", "items": [...] },
{ "type": "cta", "emailCapture": { "enabled": true } }
]
}Section Types
板块类型
- - Main hero with headline, CTA buttons
hero - - Key metrics/numbers
stats - - Feature grid with icons
features - - Pricing plans
pricing - - Customer quotes
testimonials - - Accordion FAQ
faq - - Call to action with email capture
cta
- - 包含标题和CTA按钮的主英雄板块
hero - - 关键指标/数据板块
stats - - 带图标的功能网格板块
features - - 定价方案板块
pricing - - 用户评价板块
testimonials - - 折叠面板式常见问题板块
faq - - 带邮箱捕获功能的行动号召板块
cta
Batch Creation
批量创建
Create multiple landing pages from a template or CSV/JSON file:
bash
undefined通过模板或CSV/JSON文件批量创建多个落地页:
bash
undefinedFrom CSV file
从CSV文件创建
python3 ~/.claude/skills/micro-landing-builder/scripts/batch_create.py
--root ~/www/landings
--csv projects.csv
--allow-outside
--root ~/www/landings
--csv projects.csv
--allow-outside
python3 ~/.claude/skills/micro-landing-builder/scripts/batch_create.py
--root ~/www/landings
--csv projects.csv
--allow-outside
--root ~/www/landings
--csv projects.csv
--allow-outside
From JSON file
从JSON文件创建
python3 ~/.claude/skills/micro-landing-builder/scripts/batch_create.py
--root ~/www/landings
--json projects.json
--allow-outside
--root ~/www/landings
--json projects.json
--allow-outside
python3 ~/.claude/skills/micro-landing-builder/scripts/batch_create.py
--root ~/www/landings
--json projects.json
--allow-outside
--root ~/www/landings
--json projects.json
--allow-outside
Clone from existing template
从现有模板克隆
python3 ~/.claude/skills/micro-landing-builder/scripts/batch_create.py
--root ~/www/landings
--template ~/www/landings/template-landing
--json projects.json
--allow-outside
--root ~/www/landings
--template ~/www/landings/template-landing
--json projects.json
--allow-outside
undefinedpython3 ~/.claude/skills/micro-landing-builder/scripts/batch_create.py
--root ~/www/landings
--template ~/www/landings/template-landing
--json projects.json
--allow-outside
--root ~/www/landings
--template ~/www/landings/template-landing
--json projects.json
--allow-outside
undefinedCSV Format
CSV格式
csv
slug,name,domain,concept
project1,Project One,project1.com,AI-powered analytics
project2,Project Two,project2.com,Cloud infrastructurecsv
slug,name,domain,concept
project1,Project One,project1.com,AI-powered analytics
project2,Project Two,project2.com,Cloud infrastructureJSON Format
JSON格式
json
[
{
"slug": "project1",
"name": "Project One",
"domain": "project1.com",
"concept": "AI-powered analytics"
},
{
"slug": "project2",
"name": "Project Two",
"domain": "project2.com",
"concept": "Cloud infrastructure"
}
]json
[
{
"slug": "project1",
"name": "Project One",
"domain": "project1.com",
"concept": "AI-powered analytics"
},
{
"slug": "project2",
"name": "Project Two",
"domain": "project2.com",
"concept": "Cloud infrastructure"
}
]Deployment
部署
Single Project
单个项目部署
bash
cd mystartup
vercelbash
cd mystartup
vercelBatch Deployment with Domains
批量部署并配置域名
Deploy multiple projects to Vercel with custom domains:
bash
undefined将多个项目部署到Vercel并配置自定义域名:
bash
undefinedDeploy with domain mapping
配置域名映射并部署
python3 ~/.claude/skills/micro-landing-builder/scripts/deploy_vercel.py
~/www/landings/project1
~/www/landings/project2
--domains-json domains.json
--prod
--yes
~/www/landings/project1
~/www/landings/project2
--domains-json domains.json
--prod
--yes
python3 ~/.claude/skills/micro-landing-builder/scripts/deploy_vercel.py
~/www/landings/project1
~/www/landings/project2
--domains-json domains.json
--prod
--yes
~/www/landings/project1
~/www/landings/project2
--domains-json domains.json
--prod
--yes
Single domain
单个域名部署
python3 ~/.claude/skills/micro-landing-builder/scripts/deploy_vercel.py
~/www/landings/project1
--domain project1.com
--prod
--yes
~/www/landings/project1
--domain project1.com
--prod
--yes
undefinedpython3 ~/.claude/skills/micro-landing-builder/scripts/deploy_vercel.py
~/www/landings/project1
--domain project1.com
--prod
--yes
~/www/landings/project1
--domain project1.com
--prod
--yes
undefinedDomain Mapping JSON
域名映射JSON格式
json
{
"project1": "project1.com",
"project2": "project2.com"
}Note: Domains must be configured in your DNS before adding to Vercel. Vercel will provide DNS records to add.
json
{
"project1": "project1.com",
"project2": "project2.com"
}注意: 在添加到Vercel之前,必须在DNS中配置好域名。Vercel会提供需要添加的DNS记录。
Workflow
工作流程
Single Landing Page
单个落地页
- Run scaffold to create landing structure
- Edit with your content
app.json - Add images to
public/ - Deploy with or use
verceldeploy_vercel.py
- 运行scaffold脚本创建落地页结构
- 编辑添加你的内容
app.json - 将图片添加到目录
public/ - 使用命令或
vercel脚本部署deploy_vercel.py
Multiple Landing Pages
多个落地页
- Create CSV/JSON file with project definitions
- Run to generate all landing pages
batch_create.py - Customize each as needed
app.json - Run to deploy all with domains
deploy_vercel.py
- 创建包含项目定义的CSV/JSON文件
- 运行脚本生成所有落地页
batch_create.py - 根据需要自定义每个项目的
app.json - 运行脚本批量部署并配置域名
deploy_vercel.py
Customization
自定义扩展
To add custom sections or override components:
- Add component to
app/components/ - Import in
app/page.tsx - Add to section renderer
要添加自定义板块或覆盖现有组件:
- 将自定义组件添加到目录
app/components/ - 在中导入该组件
app/page.tsx - 将其添加到板块渲染逻辑中
References
参考文档
- - Full JSON schema
references/config-schema.md - - Section types and props
references/sections-reference.md
- - 完整的JSON schema
references/config-schema.md - - 板块类型和属性参考
references/sections-reference.md