Next.js 落地页套件:区块页面、线索表单、Cookie 横幅和需同意的转化像素
安装
genpm add @core/kit-landing你将获得
- 源代码位于 src/app/(landing)/,共 14 个文件。 (21.1 kB)
- AI 规则位于 src/app/(landing)/AGENTS.md,另附 IDE 规则文件。
- 添加到 .env.example 的环境变量:GA4_MEASUREMENT_ID, META_PIXEL_ID, TIKTOK_PIXEL_ID, CONSENT_POLICY_VERSION, EXPERIMENTS_SECRET。
- 自动为你解析 @core/consent, @core/experiments, @core/kit-cms, @core/pixels。
README
此包没有 README。
这正是你的 AI 在 src/app/(landing) 中工作时读取的内容。不会向其上下文添加其他任何内容。
@core/kit-landing — rules for AI agents
Purpose
Conversion landing pages on top of @core/kit-cms: the landings collection (blocks, SEO, minimal layout without
site navigation, conversion goal, thank-you page) served at /lp/<slug>, lead forms that store the submission with
its UTM parameters and fire one deduplicated lead event (server + browser with the same eventId, only with
consent), a cookie banner, consent-gated GA4/Meta/TikTok pixels and a real-deadline countdown block.
A/B tests with @core/experiments: a landing can name an experiment and show blocksB to variant b.
Map
_templates/genpm.md— the exact lines this kit adds to the project'ssrc/genpm/*.ts(generated, always current).lp/[slug]/page.tsx— landing.lp/[slug]/lead/[formKey]/route.ts— form posts.lp/[slug]/thanks/page.tsx— thank-you + browser event.api/consent/route.ts— saves the banner choice and deletes cookies of rejected categories._lib/landings.ts— collection andlandingPath._lib/conversion.ts— lead handling and thelanding.lead-eventjob._components/site-tracking.tsx—<SiteTracking />(banner + pixels) for the root layout._blocks/countdown.tsx._lib/widgets.ts— "Leads by landing (7 days)" dashboard widget.
Integration
- @core/kit-cms must be integrated first.
- Add the lines of
_templates/genpm.mdto the project'ssrc/genpm/*.ts(it says which file and where): the landings collection and lead event, thecountdownblock, the sitemap source and the admin resource and widget. Lines marked "A/B tests (optional)" are only needed for step 5. - Root layout: render
<SiteTracking policyHref="/cookies" />at the end of<body>, and addclassName="site-chrome"to the site header and footer so minimal landings can hide them. Add<CookieSettingsButton />(@core/consent/react, a client component that callsopenConsentPreferences()) in the footer. - Env (all optional; a platform is active only when configured): public ids
GA4_MEASUREMENT_ID,META_PIXEL_ID,TIKTOK_PIXEL_IDand the server tokens described in src/lib/pixels/AGENTS.md. BumpCONSENT_POLICY_VERSIONwhen the cookie policy changes (everyone is asked again). - A/B tests (optional): set
EXPERIMENTS_SECRET, add the "A/B tests (optional)" lines of_templates/genpm.md, run the kit-cmssetup-schedules.tsagain (schedulesexperiments.prune), create an experiment with variantsa(control) andband goallead, then set its key and the "variant B" sections on the landing. - Give editors the
landings:*permission if they should manage landings (defineRole, @core/rbac). - Verify: create a landing with a hero and a form block, submit it with UTM parameters, see the submission with
its UTM in Admin → Submissions, and the
Leadevent in each platform's test tool after accepting cookies.
Conventions
- One conversion goal per landing; the form block's form decides what is collected.
- Hero images: the first block gets
fetchPriority="high"; keep LCP under 2.5 s on mobile. - Lead events carry no personal data in the browser; the server event sends only hashed identifiers (@core/pixels).
Don't
- No fake urgency: countdowns only with the real end date of a real offer (they disappear afterwards and never reset); "only X left" only with real stock (EU Directive 2005/29/EC, DSA).
- Testimonials, ratings and numbers only from real data the person provides; if missing, leave the block out and say so.
- Never load a pixel outside
ConsentGate, never pre-tick consent boxes, never fireleadwithout a stored submission.
# @core/kit-landing — rules for AI agents
## Purpose
Conversion landing pages on top of @core/kit-cms: the `landings` collection (blocks, SEO, minimal layout without
site navigation, conversion goal, thank-you page) served at `/lp/<slug>`, lead forms that store the submission with
its UTM parameters and fire one deduplicated `lead` event (server + browser with the same `eventId`, only with
consent), a cookie banner, consent-gated GA4/Meta/TikTok pixels and a real-deadline countdown block.
A/B tests with @core/experiments: a landing can name an experiment and show `blocksB` to variant `b`.
## Map
- `_templates/genpm.md` — the exact lines this kit adds to the project's `src/genpm/*.ts` (generated, always current).
- `lp/[slug]/page.tsx` — landing. `lp/[slug]/lead/[formKey]/route.ts` — form posts. `lp/[slug]/thanks/page.tsx` — thank-you + browser event.
- `api/consent/route.ts` — saves the banner choice and deletes cookies of rejected categories.
- `_lib/landings.ts` — collection and `landingPath`. `_lib/conversion.ts` — lead handling and the `landing.lead-event` job.
- `_components/site-tracking.tsx` — `<SiteTracking />` (banner + pixels) for the root layout. `_blocks/countdown.tsx`.
- `_lib/widgets.ts` — "Leads by landing (7 days)" dashboard widget.
## Integration
1. @core/kit-cms must be integrated first.
2. Add the lines of `_templates/genpm.md` to the project's `src/genpm/*.ts` (it says which file and where): the
landings collection and lead event, the `countdown` block, the sitemap source and the admin resource and widget.
Lines marked "A/B tests (optional)" are only needed for step 5.
3. Root layout: render `<SiteTracking policyHref="/cookies" />` at the end of `<body>`, and add `className="site-chrome"`
to the site header and footer so minimal landings can hide them. Add `<CookieSettingsButton />` (@core/consent/react, a client
component that calls `openConsentPreferences()`) in the footer.
4. Env (all optional; a platform is active only when configured): public ids `GA4_MEASUREMENT_ID`, `META_PIXEL_ID`,
`TIKTOK_PIXEL_ID` and the server tokens described in src/lib/pixels/AGENTS.md. Bump `CONSENT_POLICY_VERSION`
when the cookie policy changes (everyone is asked again).
5. A/B tests (optional): set `EXPERIMENTS_SECRET`, add the "A/B tests (optional)" lines of `_templates/genpm.md`, run the
kit-cms `setup-schedules.ts` again (schedules `experiments.prune`), create an experiment
with variants `a` (control) and `b` and goal `lead`, then set its key and the "variant B" sections on the landing.
6. Give editors the `landings:*` permission if they should manage landings (`defineRole`, @core/rbac).
7. Verify: create a landing with a hero and a form block, submit it with UTM parameters, see the submission with
its UTM in Admin → Submissions, and the `Lead` event in each platform's test tool after accepting cookies.
## Conventions
- One conversion goal per landing; the form block's form decides what is collected.
- Hero images: the first block gets `fetchPriority="high"`; keep LCP under 2.5 s on mobile.
- Lead events carry no personal data in the browser; the server event sends only hashed identifiers (@core/pixels).
## Don't
- No fake urgency: countdowns only with the real end date of a real offer (they disappear afterwards and never reset);
"only X left" only with real stock (EU Directive 2005/29/EC, DSA).
- Testimonials, ratings and numbers only from real data the person provides; if missing, leave the block out and say so.
- Never load a pixel outside `ConsentGate`, never pre-tick consent boxes, never fire `lead` without a stored submission.
应用 .genpmignore 后将被注入的确切目录树。固定于
MIT License
Copyright (c) 2026 GenPM
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
此包未声明 MCP 服务器。
| 版本 | 提交 | 发布时间 | 扫描 |
|---|---|---|---|
| 1.0.1 | f730e59 | 4小时前 | 扫描通过 |
- 建议
- GenPM 会给出 npm 命令建议,只有你同意时才会运行。
- 被以下包使用(1)
- @core/kit-dropshipping ^1.0.0
- 扫描
- 扫描通过 · 0 个问题
- 提交
- v1.0.1 → f730e5984cd035cc0e8a4f1e503380f56c10e410 · 获取后已校验
- 脚本
- 无。GenPM 从不运行包中的代码。
- 许可证
- MIT
- 质量
- 100/100
- 可识别的许可证已满足
- AGENTS.md 说明了用途已满足
- AGENTS.md 包含集成步骤已满足
- AGENTS.md 列出约定或禁止事项已满足
- 包含测试已满足
- 通过安全扫描已满足
- 最近 6 个月内发布已满足
- 已验证的发布者已满足
- 摘要和关键词已满足
- 举报
- 发现问题了吗?