Kit de landing pages para Next.js: páginas com blocos, formulários de leads, banner de cookies e pixels com consentimento
Instalar
genpm add @core/kit-landingO que você recebe
- Código em src/app/(landing)/, 14 arquivos. (21,1 kB)
- Regras de IA em src/app/(landing)/AGENTS.md, mais arquivos de regras da IDE.
- Variáveis de ambiente adicionadas ao .env.example: GA4_MEASUREMENT_ID, META_PIXEL_ID, TIKTOK_PIXEL_ID, CONSENT_POLICY_VERSION, EXPERIMENTS_SECRET.
- Resolve @core/consent, @core/experiments, @core/kit-cms, @core/pixels para você.
README
Este pacote não tem README.
Isto é exatamente o que sua IA lê quando trabalha em src/app/(landing). Nada mais é adicionado ao contexto dela.
@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.
A árvore exata que será injetada, após o .genpmignore. Fixada em
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.
Este pacote não declara servidores MCP.
| Versão | Commit | Publicado | Análise |
|---|---|---|---|
| 1.0.1 | f730e59 | há 4 horas | análise aprovada |
- proposto
- O GenPM propõe o comando npm e só o executa se você disser sim.
- Usado por (1)
- @core/kit-dropshipping ^1.0.0
- análise
- análise aprovada · 0 achados
- commit
- v1.0.1 → f730e5984cd035cc0e8a4f1e503380f56c10e410 · verificado após o download
- scripts
- Nenhum. O GenPM nunca executa código de pacotes.
- licença
- MIT
- Qualidade
- 100/100
- Licença reconhecidacumprido
- AGENTS.md explica o propósitocumprido
- AGENTS.md tem passos de integraçãocumprido
- AGENTS.md lista convenções ou proibiçõescumprido
- Inclui testescumprido
- Escaneamento de segurança aprovadocumprido
- Publicado nos últimos 6 mesescumprido
- Publicador verificadocumprido
- Resumo e palavras-chavecumprido
- denúncia
- Viu algo errado?