O que legal-pages faz?
Não é aconselhamento jurídico. Este skill gera modelos preenchidos com as respostas do usuário. Ele não conhece as obrigações específicas da jurisdição do usuário e não substitui um advogado. Você deve informar isso ao usuário em sua mensagem final, e as páginas geradas contêm um aviso de revisão que o usuário só deve remover após revisar o texto. Nunca afirme que as páginas estão "em conformidade".
Etapa 1 — Coletar fatos (pergunte, não adivinhe)
Primeiro, inspecione o código-fonte para pré-preencher o que for possível (provedor de autenticação, script de análise, SDK de pagamento, provedor de e-mail, banco de dados, cookies definidos). Depois, confirme com o usuário. Copie assets/legal-config.example.json para legal-config.json na raiz do projeto e preencha-o:
| Campo | Exemplo | Onde procurar |
|---|---|---|
company_name, product_name, website_url, contact_email | "Acme Studio" | perguntar; rodapé; env |
legal_entity_type, address, governing_law | "pessoa física", "Hebei, China", "República Popular da China" | pergunte — nunca invente |
merchant_of_record | creem / paddle / lemonsqueezy / none | dependências do package.json (creem, @paddle/paddle-js, @lemonsqueezy/..., stripe) |
data_collected | e-mail, nome, pagamento processado pelo MoR, logs de IP/uso | esquema de autenticação + banco de dados |
processors | Resend (e-mail), Plausible (análise), AWS (hospedagem) | variáveis de ambiente, imports de SDK |
uses_cookies, analytics_cookies | true / false | cookies definidos por autenticação/análise |
sells_subscriptions, sells_one_time | página de preços | |
refund_mode | window (N dias) / case_by_case / none | pergunte — deve corresponder às regras do provedor |
serves_eu, serves_california, serves_china | perguntar; afeta seções adicionadas | |
min_age | 13 ou 16 | 16 é o padrão mais seguro se atender a UE |
Qualquer informação que o usuário não souber permanece como um marcador [[TODO: …]] na saída — não preencha fatos legais (endereço, entidade, lei aplicável) com valores aparentemente plausíveis.
Etapa 2 — Renderizar
python3 scripts/render_legal.py --config legal-config.json --out legal --format md
python3 scripts/render_legal.py --config legal-config.json --out app/(legal) --format nextjs # Next.js App Router
python3 scripts/render_legal.py --config legal-config.json --out public/legal --format html
Gera os documentos privacy, terms, refund. O script falha se um campo obrigatório estiver ausente, imprime cada [[TODO]] restante e carimba "Última atualização" com effective_date (ou a data de hoje). O formato --format nextjs escreve privacy/page.tsx, terms/page.tsx, refund/page.tsx com HTML estático e metadata — sem dependências adicionais. Envolva com seu layout/tipografia do site conforme necessário.
Etapa 3 — Integrar
- Rodapé: links para todas as três páginas em todas as páginas (os provedores de pagamento os procuram).
- Checkout: vincule os termos + política de reembolso próximo ao botão de compra ("Ao comprar, você concorda com…").
- Se
analytics_cookiesfor true eserves_eufor true: informe ao usuário que um banner de consentimento de cookies provavelmente é necessário antes de carregar as análises (ou mude para uma ferramenta de análise sem cookies). Não adicione um banner silenciosamente. - Formulário de cadastro: vincule a política de privacidade.
Etapa 4 — Verificações específicas do provedor
Leia references/provider-notes.md para o Comerciante de Registro escolhido. Pontos-chave: com um MoR, o MoR é o vendedor registrado para o cliente, portanto os termos devem declarar isso e a política de reembolso não pode prometer algo que os termos do comprador do MoR contradizem.
Etapa 5 — Mensagem de entrega (obrigatória)
Informe ao usuário, em seu idioma:
- Quais arquivos foram criados e onde estão vinculados.
- A lista de itens
[[TODO]]ainda pendentes. - Que o texto é um modelo, não aconselhamento jurídico, e deve ser revisado por um advogado qualificado, especialmente para: lei aplicável, limites de responsabilidade, direitos de desistência do consumidor (regra de 14 dias da UE para conteúdo digital) e transferências de dados para fora do país do usuário.
- Que eles devem manter as páginas precisas quando adicionarem uma nova ferramenta que processe dados do usuário.
Arquivos
assets/templates/*.md— os três modelos (estilo mustache{{field}},{{#flag}}…{{/flag}}).assets/legal-config.example.json— questionário com todos os campos.scripts/render_legal.py— renderizador (apenas stdlib).references/provider-notes.md— notas sobre Creem / Paddle / Lemon Squeezy / Stripe com links.references/regional-notes.md— orientações sobre GDPR, UK GDPR, CCPA/CPRA, PIPL (informativas).