Files
dockergprompt/database/seeders/PromptTemplateSeeder.php
T
marcocosta10000 f2bca340f9 feat: add legal document acceptance and standard project files generation
Implement legal document acceptance tracking requiring users to accept
terms of service and privacy policy before continuing to use the system.
Add automatic generation of standard project files (LICENSE, README.md,
RULES.md, cookies.html, termos-de-uso.html, privacidade.html) with
download functionality. Enhance prompt building with detailed Portuguese
instructions and system requirements. Update seeders with comprehensive
legal content and standard files configuration for all prompt templates.
2026-10-07 21:30:40 -03:00

748 lines
53 KiB
PHP
Executable File

<?php
namespace Database\Seeders;
use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\DB;
class PromptTemplateSeeder extends Seeder
{
/**
* Seed the application's database.
*/
public function run(): void
{
$templates = [
[
'name' => 'Landing Page Corporativa',
'description' => 'Landing page moderna e profissional para empresa de tecnologia B2B.',
'category' => 'Sites & Landing Pages',
'template_data' => [
'title' => 'Landing Page Corporativa',
'objective' => 'Gerar uma landing page moderna e profissional para uma empresa de tecnologia B2B, focada em soluções empresariais, com design clean,CTA forte e conteúdo persuasivo.',
'context' => 'A empresa atende pequenas e médias empresas com soluções de tecnologia. A landing page deve transmitir confiança, inovação e credibilidade, com design moderno e responsivo.',
'persona' => 'Você é um especialista em UI/UX e Frontend com foco em conversão. Domina HTML5, CSS3, JavaScript, Bootstrap 5 e práticas de SEO.',
'tone' => 'Profissional, tecnológico, confiável e moderno. Linguagem acessível mas sofisticada.',
'constraints' => "- HTML5 semântico e acessível.\n- CSS responsivo mobile-first.\n- Máximo de 800 linhas.\n- SEO otimizado.\n- Sem dependências externas além de Bootstrap 5 e Bootstrap Icons.\n- Animações suaves com CSS.",
'output_format' => 'Código HTML completo em arquivo único com CSS embutido e JavaScript mínimo para interações.',
'examples' => "Hero section com headline, subtítulo, CTA.\nCards de serviços.\nDepoimentos.\nFormulário de contato.\nFooter completo.",
'variables' => 'nome_empresa, slogan, telefone, email, endereco, linkedin_url',
'temperature' => 0.7,
'max_tokens' => 4096,
'standard_files' => true,
],
'is_public' => true,
],
[
'name' => 'Landing Page SaaS',
'description' => 'Landing page de alta conversão para produto SaaS.',
'category' => 'Sites & Landing Pages',
'template_data' => [
'title' => 'Landing Page SaaS',
'objective' => 'Gerar uma landing page de alta conversão para um produto SaaS, com foco em funcionalidades, planos de preço e captura de leads.',
'context' => 'SaaS B2B ou B2C com modelo de assinatura. Precisa convencer visitantes a experimentar ou assinar o produto.',
'persona' => 'Especialista em Growth-Driven Design e CRO (Conversion Rate Optimization) para SaaS.',
'tone' => 'Moderno, direto, orientado a resultados. Linguagem clara e orientada a benefícios.',
'constraints' => "- Foco em conversão e captura de leads.\n- Design moderno com animações.\n- Responsivo.\n- SEO otimizado.\n- Máximo de 900 linhas.",
'output_format' => 'HTML completo com seções: Hero, Features, Pricing, FAQ, CTA final, Footer.',
'examples' => 'Hero com trial grátis, grid de funcionalidades, tabela de preços com destaque no plano recomendado.',
'variables' => 'nome_produto, slogan, trial_dias, preco_inicial, url_signup',
'temperature' => 0.7,
'max_tokens' => 4096,
'standard_files' => true,
],
'is_public' => true,
],
[
'name' => 'Landing Page Produto Digital',
'description' => 'Landing page para lançamento ou venda de produto digital.',
'category' => 'Sites & Landing Pages',
'template_data' => [
'title' => 'Landing Page Produto Digital',
'objective' => 'Gerar uma landing page para lançamento ou venda de um produto digital (curso, e-book, template, plugin).',
'context' => 'Produto digital voltado para criadores de conteúdo, desenvolvedores ou profissionais de marketing.',
'persona' => 'Especialista em lançamentos digitais e páginas de alta conversão.',
'tone' => 'Persuasivo, entusiasta e confiável.',
'constraints' => "- Foco em conversão.\n- Design moderno.\n- Responsivo.\n- Máximo de 800 linhas.",
'output_format' => 'HTML completo com seções: Hero, Problema/Solução, Benefícios, Prova social, Oferta, FAQ, CTA.',
'examples' => 'Hero com vídeo ou imagem, seção de benefícios com ícones, depoimentos, contador de oferta.',
'variables' => 'nome_produto, preco, desconto, url_checkout',
'temperature' => 0.8,
'max_tokens' => 4096,
'standard_files' => true,
],
'is_public' => true,
],
[
'name' => 'Landing Page Evento',
'description' => 'Landing page para evento online ou presencial.',
'category' => 'Sites & Landing Pages',
'template_data' => [
'title' => 'Landing Page Evento',
'objective' => 'Gerar uma landing page para evento online ou presencial, com informações, programação e inscrição.',
'context' => 'Evento corporativo, conferência, workshop ou webinar. Público de 100 a 5000 participantes.',
'persona' => 'Especialista em eventos e experiência do usuário para inscrições.',
'tone' => 'Animado, profissional, informativo.',
'constraints' => "- Design impactante.\n- Informações claras.\n- Formulário de inscrição.\n- Responsivo.\n- Máximo de 700 linhas.",
'output_format' => 'HTML completo com seções: Hero, Sobre, Programação, Palestrantes, Inscrição, Local/Online, Footer.',
'examples' => 'Hero com contador regressivo, cards de palestrantes, timeline do evento, mapa ou link de transmissão.',
'variables' => 'nome_evento, data, local, url_inscricao, valor',
'temperature' => 0.7,
'max_tokens' => 4096,
'standard_files' => true,
],
'is_public' => true,
],
[
'name' => 'Landing Page E-book / Lead Magnet',
'description' => 'Landing page para captura de leads com oferta de e-book.',
'category' => 'Sites & Landing Pages',
'template_data' => [
'title' => 'Landing Page E-book / Lead Magnet',
'objective' => 'Gerar uma landing page para captura de leads com oferta de e-book, guia ou material rico.',
'context' => 'Marketing de conteúdo para nutrição de leads. O material é oferecido em troca de e-mail.',
'persona' => 'Especialista em marketing de conteúdo e inbound marketing.',
'tone' => 'Educativo, confiável, persuasivo.',
'constraints' => "- Foco em captura de leads.\n- Design clean.\n- Responsivo.\n- Máximo de 600 linhas.",
'output_format' => 'HTML completo com seções: Hero, O que você vai aprender, Sobre o autor, Formulário de captura, Footer.',
'examples' => 'Hero com capa do e-book, bullets de benefícios, formulário simples (nome + email), CTA destacado.',
'variables' => 'titulo_ebook, autor, numero_paginas, url_download',
'temperature' => 0.7,
'max_tokens' => 4096,
'standard_files' => true,
],
'is_public' => true,
],
[
'name' => 'Landing Page Curso Online',
'description' => 'Landing page para venda de curso online.',
'category' => 'Sites & Landing Pages',
'template_data' => [
'title' => 'Landing Page Curso Online',
'objective' => 'Gerar uma landing page para venda de curso online, com módulos, depoimentos e garantia.',
'context' => 'Curso online de desenvolvimento web, marketing digital, design ou área tech. Público iniciante a intermediário.',
'persona' => 'Especialista em educação a distância e páginas de venda de cursos.',
'tone' => 'Motivador, educativo, confiável.',
'constraints' => "- Foco em conversão.\n- Design moderno.\n- Responsivo.\n- Máximo de 900 linhas.",
'output_format' => 'HTML completo com seções: Hero, Para quem é, Conteúdo programático, Instrutor, Depoimentos, Garantia, Preço, FAQ, CTA.',
'examples' => 'Hero com vídeo de apresentação, accordion de módulos, selo de garantia, depoimentos em vídeo.',
'variables' => 'nome_curso, instrutor, carga_horaria, preco, url_matricula',
'temperature' => 0.7,
'max_tokens' => 4096,
'standard_files' => true,
],
'is_public' => true,
],
[
'name' => 'Landing Page App Mobile',
'description' => 'Landing page para aplicativo mobile.',
'category' => 'Sites & Landing Pages',
'template_data' => [
'title' => 'Landing Page App Mobile',
'objective' => 'Gerar uma landing page para aplicativo mobile, com telas, funcionalidades e links para download.',
'context' => 'App de produtividade, finanças, saúde ou social. Disponível para iOS e Android.',
'persona' => 'Especialista em mobile apps e ASO (App Store Optimization).',
'tone' => 'Moderno, dinâmico, fresco.',
'constraints' => "- Design moderno com mockups.\n- Responsivo.\n- Links para App Store e Google Play.\n- Máximo de 800 linhas.",
'output_format' => 'HTML completo com seções: Hero, Funcionalidades, Telas, Reviews, Download, FAQ, Footer.',
'examples' => 'Hero com phone mockup, grid de funcionalidades com ícones, badges de avaliação, botões de download.',
'variables' => 'nome_app, slogan, url_ios, url_android, categoria',
'temperature' => 0.8,
'max_tokens' => 4096,
'standard_files' => true,
],
'is_public' => true,
],
[
'name' => 'Landing Page Agência',
'description' => 'Landing page para agência de marketing ou desenvolvimento.',
'category' => 'Sites & Landing Pages',
'template_data' => [
'title' => 'Landing Page Agência',
'objective' => 'Gerar uma landing page para agência de marketing, design ou desenvolvimento, com portfólio e formulário de contato.',
'context' => 'Agência digital que oferece serviços de branding, design, desenvolvimento e marketing. Atende startups e PMEs.',
'persona' => 'Especialista em branding e experiência digital para agências.',
'tone' => 'Criativo, profissional, ousado.',
'constraints' => "- Design impactante.\n- Portfólio em destaque.\n- Responsivo.\n- Máximo de 900 linhas.",
'output_format' => 'HTML completo com seções: Hero, Serviços, Portfólio, Processo, Clientes, Depoimentos, Contato, Footer.',
'examples' => 'Hero com vídeo background, grid de projetos, logos de clientes, formulário de orçamento.',
'variables' => 'nome_agencia, especialidades, url_portfolio, telefone, email',
'temperature' => 0.8,
'max_tokens' => 4096,
'standard_files' => true,
],
'is_public' => true,
],
[
'name' => 'Landing Page Restaurante',
'description' => 'Landing page para restaurante com cardápio e reservas.',
'category' => 'Sites & Landing Pages',
'template_data' => [
'title' => 'Landing Page Restaurante',
'objective' => 'Gerar uma landing page para restaurante, com cardápio, reservas e informações.',
'context' => 'Restaurante de culinária contemporânea, com ambiente acolhedor e delivery.',
'persona' => 'Especialista em design para gastronomia e experiência do usuário.',
'tone' => 'Acolhedor, sofisticado, saboroso.',
'constraints' => "- Design elegante.\n- Cardápio visual.\n- Sistema de reservas.\n- Responsivo.\n- Máximo de 700 linhas.",
'output_format' => 'HTML completo com seções: Hero, Sobre, Cardápio, Reservas, Depoimentos, Localização, Footer.',
'examples' => 'Hero com imagem do ambiente, cards de pratos com fotos, mapa integrado, botão de reserva.',
'variables' => 'nome_restaurante, cozinha, telefone, endereco, url_reserva',
'temperature' => 0.7,
'max_tokens' => 4096,
'standard_files' => true,
],
'is_public' => true,
],
[
'name' => 'Landing Page Imobiliária',
'description' => 'Landing page para imobiliária ou lançamento imobiliário.',
'category' => 'Sites & Landing Pages',
'template_data' => [
'title' => 'Landing Page Imobiliária',
'objective' => 'Gerar uma landing page para imobiliária ou lançamento imobiliário, com imóveis em destaque e contato.',
'context' => 'Imobiliária que vende e aluga imóveis residenciais e comerciais. Atua em grandes cidades.',
'persona' => 'Especialista em imóveis e experiência do usuário para vendas.',
'tone' => 'Sofisticado, confiável, aspiracional.',
'constraints' => "- Design premium.\n- Galeria de imagens.\n- Filtros de busca.\n- Responsivo.\n- Máximo de 800 linhas.",
'output_format' => 'HTML completo com seções: Hero, Busca, Destaques, Sobre, Contato, Footer.',
'examples' => 'Hero com slider de imóveis, cards com fotos e preços, mapa de localização, formulário de contato.',
'variables' => 'nome_imobiliaria, cidade, telefone, email, url_portfolio',
'temperature' => 0.7,
'max_tokens' => 4096,
'standard_files' => true,
],
'is_public' => true,
],
[
'name' => 'Landing Page Saúde / Bem-estar',
'description' => 'Landing page para clínica, academia ou spa.',
'category' => 'Sites & Landing Pages',
'template_data' => [
'title' => 'Landing Page Saúde / Bem-estar',
'objective' => 'Gerar uma landing page para clínica, academia, spa ou serviço de saúde, com agendamento e informações.',
'context' => 'Clínica de fisioterapia, academia boutique ou spa urbano. Público preocupado com saúde e bem-estar.',
'persona' => 'Especialista em saúde digital e experiência do usuário para clínicas.',
'tone' => 'Acolhedor, profissional, saudável.',
'constraints' => "- Design clean e acolhedor.\n- Sistema de agendamento.\n- Responsivo.\n- Máximo de 700 linhas.",
'output_format' => 'HTML completo com seções: Hero, Serviços, Profissionais, Depoimentos, Agendamento, Localização, Footer.',
'examples' => 'Hero com imagem relaxante, cards de serviços, equipe com fotos, botão de agendamento WhatsApp.',
'variables' => 'nome_clinica, servicos, telefone, endereco, url_agendamento',
'temperature' => 0.7,
'max_tokens' => 4096,
'standard_files' => true,
],
'is_public' => true,
],
[
'name' => 'Landing Page Educação',
'description' => 'Landing page para instituição de ensino ou curso.',
'category' => 'Sites & Landing Pages',
'template_data' => [
'title' => 'Landing Page Educação',
'objective' => 'Gerar uma landing page para instituição de ensino, curso ou escola, com informações sobre cursos e matrículas.',
'context' => 'Faculdade, curso técnico ou escola de idiomas. Público jovem e adultos em busca de qualificação.',
'persona' => 'Especialista em educação e experiência do usuário para instituições de ensino.',
'tone' => 'Institucional, inspirador, educativo.',
'constraints' => "- Design institucional.\n- Informações claras.\n- Responsivo.\n- Máximo de 800 linhas.",
'output_format' => 'HTML completo com seções: Hero, Cursos, Diferenciais, Infraestrutura, Depoimentos, Matrícula, Footer.',
'examples' => 'Hero com campus, cards de cursos, galeria de fotos, formulário de matrícula.',
'variables' => 'nome_escola, cursos, telefone, email, url_matricula',
'temperature' => 0.7,
'max_tokens' => 4096,
'standard_files' => true,
],
'is_public' => true,
],
[
'name' => 'Site Institucional',
'description' => 'Site institucional completo para empresa.',
'category' => 'Sites & Landing Pages',
'template_data' => [
'title' => 'Site Institucional',
'objective' => 'Gerar um site institucional completo para uma empresa, com múltiplas páginas (sobre, serviços, contato).',
'context' => 'Empresa consolidada que precisa de presença digital profissional. Pode ser indústria, comércio ou serviços.',
'persona' => 'Especialista em sites institucionais e identidade digital.',
'tone' => 'Institucional, profissional, confiável.',
'constraints' => "- HTML5 semântico.\n- Múltiplas seções.\n- SEO otimizado.\n- Responsivo.\n- Máximo de 1000 linhas.",
'output_format' => 'HTML completo com seções: Header, Hero, Sobre, Serviços, Cases, Equipe, Contato, Footer.',
'examples' => 'Header fixo, hero com imagem institucional, grid de serviços, timeline da empresa, formulário de contato.',
'variables' => 'nome_empresa, slogan, missao, telefone, email, endereco',
'temperature' => 0.7,
'max_tokens' => 4096,
'standard_files' => true,
],
'is_public' => true,
],
[
'name' => 'Portfolio Profissional',
'description' => 'Portfolio profissional para desenvolvedor ou designer.',
'category' => 'Sites & Landing Pages',
'template_data' => [
'title' => 'Portfolio Profissional',
'objective' => 'Gerar um portfolio profissional para desenvolvedor, designer ou profissional liberal.',
'context' => 'Profissional de tecnologia ou design que quer showcase de projetos e experiência.',
'persona' => 'Especialista em portfolios e experiência do usuário para profissionais.',
'tone' => 'Minimalista, moderno, profissional.',
'constraints' => "- Design clean.\n- Foco nos projetos.\n- Responsivo.\n- Máximo de 700 linhas.",
'output_format' => 'HTML completo com seções: Hero, Sobre, Experiência, Projetos, Skills, Contato, Footer.',
'examples' => 'Hero com foto, timeline de experiência, grid de projetos com screenshots, lista de skills.',
'variables' => 'nome, profissao, email, linkedin, github, url_portfolio',
'temperature' => 0.7,
'max_tokens' => 4096,
'standard_files' => true,
],
'is_public' => true,
],
[
'name' => 'Portfolio Criativo',
'description' => 'Portfolio criativo e visual para designers e artistas.',
'category' => 'Sites & Landing Pages',
'template_data' => [
'title' => 'Portfolio Criativo',
'objective' => 'Gerar um portfolio criativo e visual para designer, fotógrafo, artista ou criativo.',
'context' => 'Profissional criativo que precisa de um site impactante e visualmente marcante.',
'persona' => 'Especialista em design criativo e experiência visual imersiva.',
'tone' => 'Criativo, ousado, artístico.',
'constraints' => "- Design criativo e impactante.\n- Galeria de imagens.\n- Animações suaves.\n- Responsivo.\n- Máximo de 800 linhas.",
'output_format' => 'HTML completo com seções: Hero, Galeria, Sobre, Processo, Contato, Footer.',
'examples' => 'Hero com animação, grid masonry de trabalhos, lightbox de imagens, formulário de contato minimalista.',
'variables' => 'nome, profissao, estilo, url_portfolio, instagram',
'temperature' => 0.9,
'max_tokens' => 4096,
'standard_files' => true,
],
'is_public' => true,
],
[
'name' => 'Blog Pessoal',
'description' => 'Blog pessoal completo com layout de posts e newsletter.',
'category' => 'Sites & Landing Pages',
'template_data' => [
'title' => 'Blog Pessoal',
'objective' => 'Gerar um blog pessoal completo, com layout de posts, categorias e newsletter.',
'context' => 'Blog de tecnologia, lifestyle ou produtividade. Conteúdo em português.',
'persona' => 'Especialista em UX para blogs e conteúdo.',
'tone' => 'Acessível, envolvente, informativo.',
'constraints' => "- Design legível.\n- Layout de blog.\n- Responsivo.\n- Máximo de 900 linhas.",
'output_format' => 'HTML completo com seções: Header, Hero, Lista de posts, Sidebar, Newsletter, Footer.',
'examples' => 'Lista de posts com thumbnails, sidebar com categorias, formulário de newsletter, paginação.',
'variables' => 'nome_autor, categoria_principal, url_newsletter',
'temperature' => 0.7,
'max_tokens' => 4096,
'standard_files' => true,
],
'is_public' => true,
],
[
'name' => 'E-commerce',
'description' => 'Loja virtual completa com catálogo e checkout.',
'category' => 'Sites & Landing Pages',
'template_data' => [
'title' => 'E-commerce',
'objective' => 'Gerar uma loja virtual completa, com catálogo de produtos, carrinho e checkout.',
'context' => 'Loja de roupas, eletrônicos ou produtos artesanais. Catálogo com até 20 produtos.',
'persona' => 'Especialista em e-commerce e experiência de compra online.',
'tone' => 'Comercial, confiável, envolvente.',
'constraints' => "- Design moderno.\n- Catálogo de produtos.\n- Carrinho funcional.\n- Responsivo.\n- Máximo de 1200 linhas.",
'output_format' => 'HTML completo com seções: Header, Hero, Catálogo, Carrinho, Checkout, Footer.',
'examples' => 'Grid de produtos, filtros, carrinho lateral, formulário de checkout, badges de desconto.',
'variables' => 'nome_loja, categoria, moeda, url_checkout',
'temperature' => 0.7,
'max_tokens' => 4096,
'standard_files' => true,
],
'is_public' => true,
],
[
'name' => 'Sistema SaaS',
'description' => 'Interface de sistema SaaS com dashboard e autenticação.',
'category' => 'Frameworks & APIs',
'template_data' => [
'title' => 'Sistema SaaS',
'objective' => 'Gerar a interface de um sistema SaaS com dashboard, autenticação e gestão de dados.',
'context' => 'Sistema de gestão de projetos, CRM ou ferramenta de produtividade para equipes.',
'persona' => 'Especialista em UX para aplicativos web e dashboards.',
'tone' => 'Profissional, limpo, eficiente.',
'constraints' => "- Interface limpa.\n- Dashboard com gráficos.\n- Responsivo.\n- Máximo de 1000 linhas.",
'output_format' => 'HTML completo com seções: Login, Dashboard, Sidebar, Tabelas, Forms, Perfil.',
'examples' => 'Sidebar de navegação, cards de métricas, tabela de dados, gráficos com Chart.js.',
'variables' => 'nome_sistema, modulo_principal, url_app',
'temperature' => 0.7,
'max_tokens' => 4096,
'standard_files' => true,
],
'is_public' => true,
],
[
'name' => 'Dashboard Admin',
'description' => 'Dashboard administrativo com métricas e gráficos.',
'category' => 'Frameworks & APIs',
'template_data' => [
'title' => 'Dashboard Admin',
'objective' => 'Gerar um dashboard administrativo com métricas, gráficos e gestão de conteúdo.',
'context' => 'Painel de administração para gerenciar usuários, conteúdo e configurações.',
'persona' => 'Especialista em painéis administrativos e data visualization.',
'tone' => 'Profissional, limpo, informativo.',
'constraints' => "- Design clean.\n- Gráficos interativos.\n- Tabelas responsivas.\n- Máximo de 900 linhas.",
'output_format' => 'HTML completo com seções: Sidebar, Header, Cards de métricas, Gráficos, Tabela, Footer.',
'examples' => 'Cards de KPIs, gráfico de linha com Chart.js, tabela de usuários, filtros de data.',
'variables' => 'nome_sistema, metricas, periodo',
'temperature' => 0.7,
'max_tokens' => 4096,
'standard_files' => true,
],
'is_public' => true,
],
[
'name' => 'Landing Page Delivery',
'description' => 'Landing page para serviço de delivery de comida.',
'category' => 'Sites & Landing Pages',
'template_data' => [
'title' => 'Landing Page Delivery',
'objective' => 'Gerar uma landing page para serviço de delivery de comida, com cardápio digital e pedido online.',
'context' => 'Restaurante, lanchonete ou pizzaria que oferece delivery. Integração com WhatsApp ou iFood.',
'persona' => 'Especialista em delivery e experiência de pedido online.',
'tone' => 'Descontraído, saboroso, rápido.',
'constraints' => "- Cardápio visual.\n- Botão de pedido.\n- Responsivo.\n- Máximo de 700 linhas.",
'output_format' => 'HTML completo com seções: Hero, Cardápio, Destaques, Avaliações, Pedido, Footer.',
'examples' => 'Hero com imagem de comida, cards de categorias, botão de pedido WhatsApp, avaliações.',
'variables' => 'nome_restaurante, categoria, telefone, url_cardapio',
'temperature' => 0.8,
'max_tokens' => 4096,
'standard_files' => true,
],
'is_public' => true,
],
[
'name' => 'Laravel 13 + Blade + Tailwind',
'description' => 'Aplicação web completa com Laravel 13, Blade e Tailwind.',
'category' => 'Frameworks & APIs',
'template_data' => [
'title' => 'Laravel 13 + Blade + Tailwind',
'objective' => 'Gerar uma aplicação web completa usando Laravel 13 com Blade, Tailwind CSS, banco de dados MySQL e autenticação. Estrutura MVC, validações, relacionamentos Eloquent, seeders e factories.',
'context' => 'Projeto fullstack PHP com Laravel 13, seguindo PSR-12, strict types, policies e validações robustas. Banco MySQL/MariaDB.',
'persona' => 'Você é um arquiteto de software especializado em Laravel, com profundo conhecimento de PHP 8.3, Eloquent ORM, Filament, Livewire e boas práticas.',
'tone' => 'Técnico, estruturado, didático.',
'constraints' => "- PHP 8.3 com strict_types.\n- PSR-12 compliance.\n- Migrations, seeders e factories.\n- Validações com Form Requests.\n- Policies e Gates para autorização.\n- Máximo de 2500 linhas de código.",
'output_format' => 'Código completo: migration, model, controller, request, view Blade, routes, seeder e factory.',
'examples' => 'CRUD completo de Produtos com relacionamentos e upload de imagem.',
'variables' => 'nome_modulo, entidade, nome_tabela',
'temperature' => 0.7,
'max_tokens' => 4096,
'standard_files' => true,
],
'is_public' => true,
],
[
'name' => 'Slim Framework 4 + API REST',
'description' => 'API RESTful com Slim Framework 4 e PHP 8.3.',
'category' => 'Frameworks & APIs',
'template_data' => [
'title' => 'Slim Framework 4 + API REST',
'objective' => 'Gerar uma API RESTful usando Slim Framework 4 com PHP 8.3, PSR-7, PSR-15, Eloquent ORM e autenticação JWT.',
'context' => 'Projeto de API REST estruturada com Slim 4, usando containers DI, middlewares, validação e documentação OpenAPI.',
'persona' => 'Você é um backend specialist especializado em PHP, APIs REST e arquitetura hexagonal.',
'tone' => 'Técnico, limpo, escalável.',
'constraints' => "- PHP 8.3 com strict_types.\n- Slim 4 com rotas agrupadas.\n- Middlewares de autenticação, CORS e rate limiting.\n- Eloquent ORM para banco de dados.\n- Documentação Swagger/OpenAPI.\n- Máximo de 2000 linhas.",
'output_format' => 'Código completo: index.php, rotas, controllers, middlewares, modelos Eloquent, migrations.',
'examples' => 'CRUD de usuários com autenticação JWT e rate limiting.',
'variables' => 'nome_recurso, nome_modelo, campos_customizados',
'temperature' => 0.7,
'max_tokens' => 4096,
'standard_files' => true,
],
'is_public' => true,
],
[
'name' => 'Laravel 13 + API RESTful',
'description' => 'API RESTful completa com Laravel 13 e Sanctum.',
'category' => 'Frameworks & APIs',
'template_data' => [
'title' => 'Laravel 13 + API RESTful',
'objective' => 'Gerar uma API RESTful completa com Laravel 13, Sanctum, Eloquent, validações, resources e testes.',
'context' => 'Projeto Laravel 13 focado em API com autenticação via token, versionamento de rotas, rate limiting e documentação com Scribe.',
'persona' => 'Especialista em Laravel APIs com foco em performance, segurança e boas práticas.',
'tone' => 'Técnico, robusto, seguro.',
'constraints' => "- Laravel 13 + Sanctum.\n- API Resources para transformação de dados.\n- Form Requests para validação.\n- Testes Feature e Unit.\n- Máximo de 2500 linhas.",
'output_format' => 'Migration, Model, Controller, API Resource, Request, Routes, Testes.',
'examples' => 'CRUD de Produtos com imagens, paginação e filtros.',
'variables' => 'nome_modulo, entidade, campos_filtros',
'temperature' => 0.7,
'max_tokens' => 4096,
'standard_files' => true,
],
'is_public' => true,
],
[
'name' => 'Slim Framework 4 + Twig',
'description' => 'Aplicação web MVC com Slim 4 e Twig.',
'category' => 'Frameworks & APIs',
'template_data' => [
'title' => 'Slim Framework 4 + Twig',
'objective' => 'Gerar uma aplicação web MVC com Slim Framework 4, Twig templates, sessões e autenticação.',
'context' => 'Projeto Slim 4 com estrutura MVC, templates Twig, Flash messages e CSRF protection.',
'persona' => 'Especialista em micro-frameworks PHP e arquitetura limpa.',
'tone' => 'Didático, organizado, prático.',
'constraints' => "- PHP 8.3.\n- Slim 4 com DI container.\n- Twig para views.\n- Middlewares de sessão e CSRF.\n- Máximo de 2000 linhas.",
'output_format' => 'Arquivos: index.php, rotas, controllers, views Twig, middlewares, migrations.',
'examples' => 'Blog simples com autenticação e CRUD de posts.',
'variables' => 'nome_projeto, tema, modulo_principal',
'temperature' => 0.7,
'max_tokens' => 4096,
'standard_files' => true,
],
'is_public' => true,
],
[
'name' => 'Vue.js 3 + Vite SPA',
'description' => 'SPA com Vue.js 3, Vite, Pinia e Vue Router.',
'category' => 'Frameworks & APIs',
'template_data' => [
'title' => 'Vue.js 3 + Vite SPA',
'objective' => 'Gerar uma Single Page Application com Vue.js 3, Vite, Pinia, Vue Router e Axios.',
'context' => 'Projeto frontend moderno com Vue 3 Composition API, TypeScript opcional, estado global com Pinia e requisições HTTP.',
'persona' => 'Especialista em Vue.js e arquitetura frontend moderna.',
'tone' => 'Moderno, componentizado, reutilizável.',
'constraints' => "- Vue 3 com Composition API.\n- Vite como bundler.\n- Pinia para estado global.\n- Vue Router para navegação.\n- Axios para HTTP.\n- Máximo de 2500 linhas.",
'output_format' => 'Estrutura completa: src/components, src/views, src/stores, src/router, src/services.',
'examples' => 'Dashboard com sidebar, gráficos, tabela de dados e formulários.',
'variables' => 'nome_app, tema_cores, modulo_principal',
'temperature' => 0.7,
'max_tokens' => 4096,
'standard_files' => true,
],
'is_public' => true,
],
[
'name' => 'React + Vite SPA',
'description' => 'SPA com React 18+, Vite e Redux Toolkit.',
'category' => 'Frameworks & APIs',
'template_data' => [
'title' => 'React + Vite SPA',
'objective' => 'Gerar uma Single Page Application com React 18+, Vite, Redux Toolkit, React Router e Axios.',
'context' => 'Projeto React moderno com hooks, componentização, estado global e integração com APIs.',
'persona' => 'Especialista em React e ecossistema JavaScript moderno.',
'tone' => 'Moderno, performático, escalável.',
'constraints' => "- React 18+ com hooks.\n- Vite.\n- Redux Toolkit para estado.\n- React Router v6.\n- Axios para HTTP.\n- Máximo de 2500 linhas.",
'output_format' => 'Estrutura completa: src/components, src/pages, src/store, src/router, src/services.',
'examples' => 'Dashboard com gráficos, tabela paginada e formulários.',
'variables' => 'nome_app, tema_cores, modulo_principal',
'temperature' => 0.7,
'max_tokens' => 4096,
'standard_files' => true,
],
'is_public' => true,
],
[
'name' => 'Next.js 14 App Router',
'description' => 'Aplicação Next.js 14+ com App Router e Server Components.',
'category' => 'Frameworks & APIs',
'template_data' => [
'title' => 'Next.js 14 App Router',
'objective' => 'Gerar uma aplicação Next.js 14+ com App Router, Server Components, Tailwind CSS e Prisma ORM.',
'context' => 'Projeto fullstack React com Next.js 14, usando App Router, Server Actions, middleware de autenticação e Prisma com PostgreSQL.',
'persona' => 'Especialista em Next.js, React Server Components e fullstack TypeScript.',
'tone' => 'Moderno, performático, type-safe.',
'constraints' => "- Next.js 14+.\n- App Router com Server Components.\n- Tailwind CSS.\n- Prisma ORM.\n- Autenticação com NextAuth.js.\n- Máximo de 3000 linhas.",
'output_format' => 'Estrutura completa: app/, components/, lib/, prisma/, middleware.ts.',
'examples' => 'Blog com CMS, autenticação e painel admin.',
'variables' => 'nome_projeto, database_url, modulo_principal',
'temperature' => 0.7,
'max_tokens' => 4096,
'standard_files' => true,
],
'is_public' => true,
],
[
'name' => 'Node.js + Express + TypeScript',
'description' => 'API backend com Node.js, Express e TypeScript.',
'category' => 'Frameworks & APIs',
'template_data' => [
'title' => 'Node.js + Express + TypeScript',
'objective' => 'Gerar uma API backend com Node.js, Express, TypeScript, Prisma ORM e autenticação JWT.',
'context' => 'Projeto backend Node.js com estrutura em camadas (controllers, services, repositories), validação com Zod e testes.',
'persona' => 'Especialista em Node.js, TypeScript e arquitetura backend escalável.',
'tone' => 'Técnico, estruturado, type-safe.',
'constraints' => "- Node.js + TypeScript.\n- Express com middlewares.\n- Prisma ORM.\n- Zod para validação.\n- JWT para autenticação.\n- Máximo de 2500 linhas.",
'output_format' => 'Estrutura completa: src/controllers, src/services, src/repositories, src/middlewares, prisma/schema.',
'examples' => 'CRUD de usuários com validação, hash de senha e refresh token.',
'variables' => 'nome_modulo, entidade, campos_customizados',
'temperature' => 0.7,
'max_tokens' => 4096,
'standard_files' => true,
],
'is_public' => true,
],
[
'name' => 'FastAPI + Python',
'description' => 'API RESTful com FastAPI, SQLAlchemy e Pydantic.',
'category' => 'Frameworks & APIs',
'template_data' => [
'title' => 'FastAPI + Python',
'objective' => 'Gerar uma API RESTful com FastAPI, SQLAlchemy, Pydantic e autenticação OAuth2.',
'context' => 'Projeto Python com FastAPI, banco PostgreSQL, validação automática, documentação interativa e testes.',
'persona' => 'Especialista em Python, FastAPI e arquitetura de microsserviços.',
'tone' => 'Técnico, limpo, performático.',
'constraints' => "- Python 3.11+.\n- FastAPI com Pydantic v2.\n- SQLAlchemy 2.0 ORM.\n- Autenticação OAuth2 com JWT.\n- Testes com pytest.\n- Máximo de 2500 linhas.",
'output_format' => 'Estrutura completa: main.py, routers, models, schemas, dependencies, tests.',
'examples' => 'CRUD de produtos com upload de imagens e cache com Redis.',
'variables' => 'nome_modulo, entidade, campos_customizados',
'temperature' => 0.7,
'max_tokens' => 4096,
'standard_files' => true,
],
'is_public' => true,
],
[
'name' => 'Laravel 13 + Vue.js 3 Fullstack',
'description' => 'Aplicação fullstack com Laravel 13 API e Vue.js 3 SPA.',
'category' => 'Frameworks & APIs',
'template_data' => [
'title' => 'Laravel 13 + Vue.js 3 Fullstack',
'objective' => 'Gerar uma aplicação fullstack com Laravel 13 (API) e Vue.js 3 (SPA), com autenticação Sanctum.',
'context' => 'Projeto fullstack separado: backend Laravel 13 com API REST e frontend Vue 3 consumindo a API. Comunicação via axios e Sanctum.',
'persona' => 'Arquiteto fullstack especializado em Laravel e Vue.js.',
'tone' => 'Integrado, moderno, seguro.',
'constraints' => "- Laravel 13 + Sanctum.\n- Vue 3 com Composition API.\n- Axios para requisições.\n- CORS configurado.\n- Validações em ambos os lados.\n- Máximo de 3000 linhas.",
'output_format' => 'Código completo backend (routes, controllers, models) + frontend (components, stores, router).',
'examples' => 'Sistema de gestão de tarefas com autenticação e drag-and-drop.',
'variables' => 'nome_projeto, modulo_principal, entidades',
'temperature' => 0.7,
'max_tokens' => 4096,
'standard_files' => true,
],
'is_public' => true,
],
[
'name' => 'Modelo Laravel Full Stack 2',
'description' => 'Aplicação fullstack moderna com Laravel 13, Vue.js 3, ApexCharts e integração multi-provider de IA.',
'category' => 'Frameworks & APIs',
'template_data' => [
'title' => 'Modelo Laravel Full Stack 2',
'objective' => 'Gerar uma aplicação fullstack moderna com Laravel 13, PHP 8.3, MariaDB, Tailwind CSS 4, Blade, Vue.js 3, ApexCharts, Laravel Reverb, Sanctum, Spatie Permission, Mews Captcha, Laravel Pint e integração multi-provider de IA (OpenRouter, StepFun, llama.cpp local, QwenCloud).',
'context' => 'Projeto Laravel 13 com stack moderna: frontend com Tailwind CSS 4, Blade e Vue.js 3; backend com Laravel Reverb para tempo real, Sanctum para API auth, Spatie Permission para RBAC.',
'persona' => 'Você é um arquiteto fullstack sênior especializado em Laravel 13, PHP 8.3, Tailwind CSS 4, Vue.js 3 e integrações de IA multi-provider.',
'tone' => 'Técnico, estruturado, moderno e objetivo. Segue rigorosamente PSR-12 e strict_types.',
'constraints' => "- PHP 8.3 com strict_types e declare(strict_types=1).\n- PSR-12 compliance com Laravel Pint.\n- Eloquent ORM com relacionamentos e mutators.\n- Policies e Gates para toda autorização.\n- Form Requests para validação.\n- Integração multi-provider de IA via service container.\n- Laravel Reverb para eventos em tempo real.\n- Sanctum para autenticação API.\n- Spatie Permission para RBAC.\n- Mews Captcha (math) para formulários públicos.\n- ApexCharts no frontend via Vue.js 3.\n- Máximo de 4000 linhas de código.",
'output_format' => 'Código completo: migration, model, controller, request, policy, service, view Blade, Vue.js 3 component, routes, seeder, factory e testes Feature/Unit.',
'examples' => 'Dashboard com ApexCharts mostrando métricas de gerações de prompt por provedor de IA, formulário de criação com Mews Captcha.',
'variables' => 'nome_modulo, entidade, nome_tabela, provedores_ia, permissoes',
'temperature' => 0.7,
'max_tokens' => 4096,
'standard_files' => true,
],
'is_public' => true,
],
[
'name' => 'API com Autenticação JWT',
'description' => 'API segura com autenticação JWT, refresh tokens e roles.',
'category' => 'Frameworks & APIs',
'template_data' => [
'title' => 'API com Autenticação JWT',
'objective' => 'Gerar uma API segura com autenticação JWT, refresh tokens, roles e permissões.',
'context' => 'API RESTful com sistema de autenticação robusto, múltiplos roles (admin, user, manager), proteção de rotas e refresh token automático.',
'persona' => 'Especialista em segurança de APIs e autenticação stateless.',
'tone' => 'Seguro, robusto, documentado.',
'constraints' => "- JWT com access e refresh tokens.\n- Roles e permissões.\n- Middleware de autenticação.\n- Rate limiting.\n- Máximo de 2000 linhas.",
'output_format' => 'Estrutura completa: auth controller, middleware, JWT service, rotas protegidas.',
'examples' => 'Login, registro, refresh token, esqueci senha, verificação de email.',
'variables' => 'nome_api, roles, provedor_ia',
'temperature' => 0.7,
'max_tokens' => 4096,
'standard_files' => true,
],
'is_public' => true,
],
[
'name' => 'Arquitetura de Microsserviços',
'description' => 'Arquitetura de microsserviços com API Gateway e monitoramento.',
'category' => 'Frameworks & APIs',
'template_data' => [
'title' => 'Arquitetura de Microsserviços',
'objective' => 'Gerar uma arquitetura de microsserviços com API Gateway, comunicação assíncrona e monitoramento.',
'context' => 'Sistema distribuído com múltiplos serviços (usuários, pagamentos, notificações), API Gateway, message broker e observabilidade.',
'persona' => 'Arquiteto de software especializado em microsserviços, DDD e cloud native.',
'tone' => 'Arquitetural, escalável, resiliente.',
'constraints' => "- Docker + Docker Compose.\n- Comunicação via HTTP/gRPC.\n- Message broker (RabbitMQ/Kafka).\n- Monitoramento (Prometheus/Grafana).\n- Máximo de 3500 linhas.",
'output_format' => 'Dockerfiles, docker-compose, código dos serviços, gateway, migrations.',
'examples' => 'E-commerce com serviços: usuários, produtos, pedidos, pagamentos, notificações.',
'variables' => 'nome_sistema, servicos, broker_mensagens',
'temperature' => 0.7,
'max_tokens' => 4096,
'standard_files' => true,
],
'is_public' => true,
],
[
'name' => 'Chatbot com IA',
'description' => 'Chatbot inteligente com integração a provedores de IA.',
'category' => 'Frameworks & APIs',
'template_data' => [
'title' => 'Chatbot com IA',
'objective' => 'Gerar um chatbot inteligente com integração a provedores de IA (OpenAI, OpenRouter), histórico de conversas e RAG.',
'context' => 'Chatbot web ou WhatsApp com backend em PHP/Node.js, integração com modelos de linguagem, embeddings e vector database.',
'persona' => 'Especialista em IA generativa, LLMs e aplicações conversationais.',
'tone' => 'Inovador, inteligente, conversacional.',
'constraints' => "- Integração com pelo menos 1 provedor de IA.\n- Histórico de conversas.\n- Tratamento de contexto.\n- Interface web moderna.\n- Máximo de 2500 linhas.",
'output_format' => 'Backend (API) + Frontend (chat interface) + integração IA.',
'examples' => 'Chat de atendimento ao cliente com respostas contextuais.',
'variables' => 'nome_bot, provedor_ia, modelo, contexto',
'temperature' => 0.8,
'max_tokens' => 4096,
'standard_files' => true,
],
'is_public' => true,
],
[
'name' => 'Automação de Workflow',
'description' => 'Sistema de automação de workflows com triggers e integrações.',
'category' => 'Frameworks & APIs',
'template_data' => [
'title' => 'Automação de Workflow',
'objective' => 'Gerar um sistema de automação de workflows com triggers, ações condicionais e integrações.',
'context' => 'Plataforma de automação estilo Zapier/Make, onde usuários criam fluxos automáticos entre aplicativos.',
'persona' => 'Especialista em automação, integrações e arquitetura event-driven.',
'tone' => 'Prático, modular, escalável.',
'constraints' => "- Interface visual de fluxos.\n- Triggers e actions.\n- Integrações webhook.\n- Logs e monitoramento.\n- Máximo de 3000 linhas.",
'output_format' => 'Backend API + Frontend editor de fluxos + webhooks.',
'examples' => 'Automação: quando chegar e-mail → extrair anexo → salvar no Drive → notificar Slack.',
'variables' => 'nome_plataforma, integracoes, acoes',
'temperature' => 0.7,
'max_tokens' => 4096,
'standard_files' => true,
],
'is_public' => true,
],
[
'name' => 'Integração entre APIs',
'description' => 'Middleware ou serviço de integração entre APIs externas.',
'category' => 'Frameworks & APIs',
'template_data' => [
'title' => 'Integração entre APIs',
'objective' => 'Gerar um middleware ou serviço de integração entre múltiplas APIs externas.',
'context' => 'Serviço que consome múltiplas APIs (pagamentos, CRM, ERP) e centraliza dados em uma única interface.',
'persona' => 'Especialista em integrações, webhooks e APIs externas.',
'tone' => 'Técnico, robusto, manutenível.',
'constraints' => "- Tratamento de erros e retries.\n- Logs estruturados.\n- Cache.\n- Monitoramento.\n- Máximo de 2500 linhas.",
'output_format' => 'Serviço de integração + testes de integração + documentação.',
'examples' => 'Syncronização entre ERP e plataforma de e-commerce.',
'variables' => 'nome_servico, apis_origem, api_destino',
'temperature' => 0.7,
'max_tokens' => 4096,
'standard_files' => true,
],
'is_public' => true,
],
];
foreach ($templates as $template) {
$template['template_data'] = json_encode($template['template_data'], JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES);
DB::table('prompt_templates')->updateOrInsert(
['name' => $template['name']],
$template
);
}
}
}