Zé Mané — Prompts Mestre

Prompts Mestre: PixelForge Local - IA Generativa Offline para Mac com Next.js e MLX

(há 20 dias)
Prompts Mestre: PixelForge Local - IA Generativa Offline para Mac com Next.js e MLX

E aí, galera da engenharia! Zé Mané na área, e hoje a gente vai desmistificar um projeto que o CEO Alfredo, o visionário que não dorme, trouxe pra gente: o PixelForge Local. Preparem-se, porque a gente vai pegar essa ideia de ouro e transformar em prompts cirúrgicos que até a IA mais preguiçosa vai entender. Esqueçam a nuvem, esqueçam a latência, esqueçam a conta salgada. O futuro da IA generativa de imagens tá no seu Mac, e a gente vai construir ele do zero.


1. O Projeto em 30 Segundos

O PixelForge Local é uma aplicação desktop nativa para macOS, construída com Next.js (para a interface web-based), Tauri (para empacotamento desktop e integração com o sistema operacional), MLX (para inferência de modelos de IA otimizada para Apple Silicon), e Rust (para o backend local de alta performance). Ele resolve o problema da geração de imagens por IA, como Stable Diffusion, 100% offline, eliminando custos recorrentes, latência e preocupações com privacidade e propriedade intelectual. O sistema utiliza SQLite para armazenamento local de dados de usuários e configurações, e terá uma landing page de marketing e licenciamento gerenciada via Vercel e Stripe. O foco é em criadores de conteúdo Mac que buscam performance, privacidade e controle total sobre suas criações, com uma interface minimalista dark.


2. Arquitetura Recomendada

A arquitetura do PixelForge Local é um híbrido elegante que combina o melhor do desenvolvimento web moderno com o poder das aplicações nativas e a otimização de hardware.

Mermaid Error: Parse error on line 3: ..." A[Next.js (React 19, Tailwind ----------------------^ Expecting 'SQE', 'DOUBLECIRCLEEND', 'PE', '-)', 'STADIUMEND', 'SUBROUTINEEND', 'PIPE', 'CYLINDEREND', 'DIAMOND_STOP', 'TAGEND', 'TRAPEND', 'INVTRAPEND', 'UNICODE_TEXT', 'TEXT', 'TAGSTART', got 'PS'

Show Code
graph TD
    subgraph "Frontend & UI (Tauri App)"
        A[Next.js (React 19, Tailwind CSS)] --> B(Tauri WebView)
        B --> C(Tauri API - Rust)
    end

    subgraph "Backend Local (Rust)"
        C --> D[Rust Core Logic]
        D -- MLX Bindings --> E(MLX - Apple Silicon Optimization)
        D -- SQLite ORM --> F(SQLite Database)
        D -- Model Management --> G(Local Model Storage)
    end

    subgraph "Infraestrutura Externa (Marketing & Monetização)"
        H[Vercel (Landing Page)] --> I(Stripe API - Licenciamento)
        I --> J(Usuário/Cliente)
    end

    subgraph "Fluxo de Geração de Imagem"
        K(Usuário Input - Prompt, Configs) --> A
        A -- Via Tauri API --> D
        D -- Inferência --> E
        E -- Imagem Gerada --> D
        D -- Salva/Exibe --> A
    end

    subgraph "Sincronização & Atualizações (Futuro)"
        L(Atualizações de Modelos) --> G
        M(Analytics Anônimo - Opcional) --> V(Servidor de Analytics)
    end

    style A fill:#f9f,stroke:#333,stroke-width:2px
    style B fill:#f9f,stroke:#333,stroke-width:2px
    style C fill:#f9f,stroke:#333,stroke-width:2px
    style D fill:#bbf,stroke:#333,stroke-width:2px
    style E fill:#bbf,stroke:#333,stroke-width:2px
    style F fill:#bbf,stroke:#333,stroke-width:2px
    style G fill:#bbf,stroke:#333,stroke-width:2px
    style H fill:#cfc,stroke:#333,stroke-width:2px
    style I fill:#cfc,stroke:#333,stroke-width:2px
    style J fill:#eee,stroke:#333,stroke-width:2px
    style K fill:#eee,stroke:#333,stroke-width:2px

3. Prompts Mestre por Categoria

Aqui é onde a mágica acontece. Cada prompt é uma instrução cirúrgica para as IAs, garantindo que a gente construa o PixelForge Local com precisão de laser.

🏗️ Prompts de Arquitetura & Backend

Estes prompts focam na espinha dorsal da aplicação: a lógica Rust, a integração com MLX e o armazenamento local.

prompt
## Prompt para Claude/GPT-4 (Arquitetura Rust Core)

**Contexto:** Estamos construindo o backend local do PixelForge Local, uma aplicação desktop macOS para geração de imagens IA offline. A interface é Next.js/Tauri, e o backend será em Rust, responsável pela orquestração da inferência MLX e persistência de dados.

**Papel:** Engenheiro de Software Sênior em Rust com experiência em integração de ML e sistemas de arquivos.

**Tarefa:** Projete a estrutura inicial do projeto Rust (usando `cargo new pixel_forge_core --lib`) e implemente os módulos essenciais para:
1.  **Gerenciamento de Modelos:** Funções para baixar, verificar integridade e carregar modelos Stable Diffusion (ex: SDXL, SD 1.5) localmente, armazenando-os em um diretório configurável.
2.  **Integração MLX:** Um módulo Rust que expõe uma FFI (Foreign Function Interface) para invocar funções MLX para inferência de texto-para-imagem (text-to-image) e imagem-para-imagem (image-to-image). Inclua exemplos de como passar prompts, parâmetros de geração (seed, steps, guidance_scale) e receber a imagem gerada (bytes ou caminho para arquivo).
3.  **Persistência de Dados (SQLite):** Um módulo `db` utilizando `rusqlite` ou `sqlx` (com feature `sqlite`) para gerenciar:
    *   `projects`: Tabela para agrupar imagens geradas.
    *   `generations`: Tabela para armazenar metadados de cada imagem gerada (prompt, modelo usado, parâmetros, caminho do arquivo).
    *   `settings`: Tabela para configurações do aplicativo (caminho dos modelos, diretório de saída).
    *   Crie funções para inicializar o banco de dados, inserir, consultar e atualizar registros.

**Formato de Saída:**
*   Estrutura de diretórios do projeto Rust.
*   `Cargo.toml` com dependências necessárias (incluindo `tauri-plugin-shell`, `rusqlite` ou `sqlx`, `serde`, `tokio`, `anyhow`).
*   Snippets de código Rust para cada módulo (`models.rs`, `mlx_ffi.rs`, `db.rs`, `main.rs` ou `lib.rs` com funções expostas para Tauri).
*   Definições de structs para dados (ex: `GenerationParams`, `GenerationResult`).
*   Exemplos de chamadas FFI (se aplicável, com placeholders para a biblioteca MLX).

**Restrições:**
*   Priorize segurança de threads e tratamento de erros robusto.
*   Use `serde` para serialização/desserialização de dados para comunicação com o frontend.
*   Não implemente a lógica MLX em si, apenas a interface Rust para ela.
*   Assuma que a biblioteca MLX já está compilada e disponível como uma `.dylib` ou `.so`.
*   O design deve ser modular e testável.
prompt
## Prompt para Cursor AI (Integração Tauri & Next.js)

**Contexto:** Temos um backend Rust (`pixel_forge_core`) e uma interface Next.js. Precisamos integrá-los usando Tauri para criar o aplicativo desktop.

**Papel:** Desenvolvedor Fullstack com experiência em Tauri e Next.js.

**Tarefa:** Crie os arquivos e snippets de código necessários para:
1.  **Configuração Tauri:** Configure o `tauri.conf.json` para permitir a comunicação entre o frontend Next.js e o backend Rust, incluindo permissões para acesso ao sistema de arquivos (leitura/escrita de imagens) e execução de comandos Rust.
2.  **API Rust para Frontend:** No `src-tauri/src/main.rs` (ou `lib.rs`), exponha algumas funções básicas do backend Rust para o frontend Next.js via `#[tauri::command]`. Exemplos:
    *   `greet(name: String) -> String` (exemplo simples)
    *   `generate_image(params: GenerationParams) -> Result<String, String>` (chama a lógica MLX via Rust)
    *   `get_generations() -> Result<Vec<GenerationMetadata>, String>` (consulta o SQLite)
    *   `save_settings(settings: AppSettings) -> Result<(), String>`
3.  **Chamadas do Frontend:** No frontend Next.js, crie um hook ou utilitário (`src/lib/tauri.ts`) para chamar essas funções Rust usando o `@tauri-apps/api/tauri` e `@tauri-apps/api/fs`.
4.  **Estrutura de Projeto:** Mostre como o projeto Next.js e o projeto Tauri se aninham.

**Formato de Saída:**
*   `src-tauri/tauri.conf.json`
*   `src-tauri/src/main.rs` (com as funções `#[tauri::command]`)
*   `src/lib/tauri.ts` (exemplo de como chamar as funções Rust)
*   `src/app/page.tsx` (exemplo de uso do hook/utilitário)

**Restrições:**
*   Use o plugin `tauri-plugin-shell` se necessário para operações de sistema de arquivos mais complexas.
*   As funções Rust devem retornar `Result<T, String>` para tratamento de erros no frontend.
*   O frontend deve usar `async/await` para as chamadas Tauri.
prompt
## Prompt para GPT-4 (API de Licenciamento Stripe & Vercel Edge Functions)

**Contexto:** Precisamos de uma API segura para gerenciar o licenciamento do PixelForge Local, integrada com Stripe para pagamentos e hospedada na Vercel como Edge Functions.

**Papel:** Desenvolvedor Backend com experiência em Stripe, Vercel Edge Functions e autenticação.

**Tarefa:** Projete e implemente uma API para:
1.  **Criação de Sessão de Checkout Stripe:** Uma função que recebe um `productId` (do PixelForge Local) e cria uma sessão de checkout no Stripe, retornando a URL para o frontend.
2.  **Webhook Handler Stripe:** Um endpoint que escuta eventos de webhook do Stripe (ex: `checkout.session.completed`, `customer.subscription.updated`). Quando uma compra é concluída, ele deve:
    *   Verificar a assinatura.
    *   Gerar uma chave de licença única (UUIDv4) para o PixelForge Local.
    *   Armazenar essa chave de licença associada ao `customer_id` do Stripe em um banco de dados (pode ser um KV store como Vercel KV ou Supabase Edge Functions com Drizzle ORM para um banco de dados relacional).
    *   Enviar um e-mail com a chave de licença para o cliente.
3.  **Validação de Licença:** Um endpoint que recebe uma chave de licença e retorna se ela é válida e ativa.
4.  **Stack:** Vercel Edge Functions com Typescript, Drizzle ORM (se usar banco de dados relacional como PlanetScale/Supabase), e Stripe Node.js SDK.

**Formato de Saída:**
*   Estrutura de diretórios para as Edge Functions (ex: `api/checkout.ts`, `api/webhook.ts`, `api/validate-license.ts`).
*   Snippets de código para cada função, incluindo tratamento de erros e segurança (assinatura de webhooks Stripe).
*   Exemplos de como usar o Stripe SDK e Drizzle ORM.
*   Definição de variáveis de ambiente necessárias (`STRIPE_SECRET_KEY`, `STRIPE_WEBHOOK_SECRET`, `DATABASE_URL`).

**Restrições:**
*   Garanta a segurança do webhook usando a assinatura do Stripe.
*   Use Typescript.
*   A validação da licença deve ser rápida e escalável.
*   Considere a revogação de licenças em caso de reembolso ou fraude.

🎨 Prompts de Frontend & Design

Aqui, a gente define a cara do PixelForge Local: uma UI minimalista, dark e super funcional, otimizada para a experiência do usuário Mac.

prompt
## Prompt para GPT-4 (Design System e Componentes Essenciais)

**Contexto:** O PixelForge Local precisa de uma interface de usuário intuitiva e minimalista, seguindo um tema dark-first, construída com Next.js, React 19, Tailwind CSS v4, shadcn/ui e Radix UI.

**Papel:** UI/UX Designer e Desenvolvedor Frontend com expertise em design systems e acessibilidade.

**Tarefa:** Crie o design system inicial e os componentes essenciais para a tela principal de geração de imagens:
1.  **Design Tokens:** Defina uma paleta de cores dark-first (primária, secundária, texto, fundo, acento, erro), tipografia (fontes, tamanhos, pesos), espaçamento e radii de borda usando CSS Custom Properties e variáveis Tailwind.
2.  **Componentes shadcn/ui:** Implemente os seguintes componentes, customizados para o tema dark e com acessibilidade em mente:
    *   `Button`: Variações primária, secundária, ghost, icon.
    *   `Input`: Para prompts de texto.
    *   `Slider`: Para parâmetros numéricos (ex: steps, guidance_scale).
    *   `Select`: Para seleção de modelos.
    *   `Dialog` / `AlertDialog`: Para confirmações e configurações.
    *   `Toast`: Para notificações.
3.  **Layout Principal:** Esboce a estrutura da tela de geração de imagens, incluindo:
    *   Barra lateral esquerda para configurações (modelos, parâmetros).
    *   Área central para visualização da imagem gerada e prompt de input.
    *   Barra inferior para ações (gerar, salvar, histórico).
    *   Use CSS Grid e Flexbox com Tailwind para o layout responsivo (considerando redimensionamento da janela desktop).

**Formato de Saída:**
*   `tailwind.config.ts` com a configuração de cores, fontes e plugins.
*   `src/app/globals.css` com as CSS Custom Properties.
*   Snippets de código React/TSX para os componentes shadcn/ui customizados.
*   Estrutura básica de `src/app/page.tsx` para o layout principal.
*   Exemplos de uso de componentes Radix UI para acessibilidade (ex: `Dialog`, `Slider`).

**Restrições:**
*   Priorize a acessibilidade (WCAG 2.2).
*   Use `dark:` prefix para o tema dark.
*   Os componentes devem ser reusáveis e component-driven.
*   Nenhum JS externo para o design, apenas Tailwind e Radix/shadcn.
prompt
## Prompt para Claude (Micro-interações e Motion Design)

**Contexto:** Para elevar a experiência do usuário do PixelForge Local, precisamos de micro-interações sutis e motion design elegante que reforce a sensação de performance e fluidez.

**Papel:** Especialista em Motion Design e Frontend Developer.

**Tarefa:** Adicione micro-interações e transições CSS/Framer Motion para os seguintes elementos:
1.  **Botão "Gerar Imagem":**
    *   Ao clicar: um pequeno "squish" ou "pop" seguido de um estado de carregamento com um spinner sutil.
    *   Ao completar: um feedback visual rápido (ex: um "check" animado ou uma borda verde pulsante).
2.  **Carregamento de Imagem:** Um placeholder animado (esqueleto ou gradiente pulsante) enquanto a imagem está sendo gerada e carregada. Transição suave (fade-in) quando a imagem real aparece.
3.  **Transições de Layout:** Transições suaves ao alternar entre seções da UI (ex: configurações, histórico). Use a View Transitions API se for compatível com o ambiente Tauri/WebView, ou CSS `transition` / `transform`.
4.  **Feedback de Erro:** Um "shake" sutil ou um destaque vermelho temporário para campos de input inválidos ou mensagens de erro.

**Formato de Saída:**
*   Snippets de código CSS para transições e animações.
*   Snippets de código React/TSX usando Framer Motion (se aplicável) ou CSS para implementar as interações.
*   Explicação de como a View Transitions API pode ser integrada (se viável).

**Restrições:**
*   As animações devem ser leves, performáticas e não intrusivas.
*   Priorize CSS puro sempre que possível.
*   Mantenha o estilo minimalista dark.
*   Considere a preferência do usuário por `prefers-reduced-motion`.

🔍 Prompts de SEO & Schema.org

Embora seja uma aplicação desktop, a landing page de marketing é crucial para aquisição. Estes prompts garantem que ela seja um imã de tráfego orgânico.

prompt
## Prompt para GPT-4 (SEO Técnico da Landing Page)

**Contexto:** A landing page do PixelForge Local será hospedada na Vercel, construída com Next.js. Precisamos otimizá-la para SEO técnico avançado, visando ranquear para termos como "gerador de IA offline Mac", "stable diffusion local M1", etc.

**Papel:** Especialista em SEO Técnico e Web Performance.

**Tarefa:** Crie a configuração e os elementos de SEO técnico para a landing page:
1.  **Meta Tags Essenciais:** Gere as meta tags `title`, `description`, `og:title`, `og:description`, `og:image`, `twitter:card`, `twitter:title`, `twitter:description`, `twitter:image` para a página inicial.
2.  **Schema.org (JSON-LD):** Crie um bloco de JSON-LD para representar o PixelForge Local como um `SoftwareApplication` ou `Product`, incluindo `name`, `description`, `operatingSystem`, `applicationCategory`, `offers` (com `price`, `priceCurrency`), `aggregateRating` (se houver), e `image`.
3.  **Sitemap XML:** Descreva a estrutura de um `sitemap.xml` ideal para uma landing page simples, garantindo que todas as URLs importantes sejam incluídas (mesmo que seja apenas a raiz por enquanto).
4.  **Robots.txt:** Crie um `robots.txt` que permita o rastreamento de todo o site, mas bloqueie URLs de admin ou testes.
5.  **Canonicalização:** Explique como garantir a canonicalização correta, especialmente se houver parâmetros de URL (ex: UTMs).

**Formato de Saída:**
*   Snippets de código React/TSX para o componente `Head` do Next.js com as meta tags.
*   Bloco de JSON-LD para o Schema.org.
*   Conteúdo do `sitemap.xml` e `robots.txt`.
*   Explicação concisa sobre canonicalização.

**Restrições:**
*   Foco em Core Web Vitals (LCP, INP, CLS) para a landing page.
*   Use os termos-chave fornecidos no contexto.
*   O JSON-LD deve ser o mais completo possível para um `SoftwareApplication`.
prompt
## Prompt para Gemini (Conteúdo E-E-A-T e Topical Authority para Blog)

**Contexto:** Para complementar a landing page e atrair tráfego orgânico de longo prazo, precisamos de um blog com artigos de alta qualidade que estabeleçam o PixelForge Local como uma autoridade no nicho de IA generativa offline para Mac.

**Papel:** Estrategista de Conteúdo com expertise em E-E-A-T e SEO.

**Tarefa:** Proponha 5 títulos de artigos de blog e um esboço detalhado para um deles, focando em E-E-A-T (Expertise, Experience, Authoritativeness, Trustworthiness) e construção de topical authority.
1.  **5 Títulos de Artigos:** Que abordem os problemas que o PixelForge Local resolve e seus benefícios, usando palavras-chave relevantes.
2.  **Esboço Detalhado (para um título escolhido):**
    *   **Título:** (Escolha um dos 5)
    *   **Meta Description:**
    *   **Estrutura de Heading (H1, H2, H3):**
    *   **Tópicos Chave:** O que será abordado em cada seção.
    *   **Palavras-chave Secundárias:** Termos relacionados para enriquecer o conteúdo.
    *   **Chamadas para Ação (CTAs):** Onde e como integrar CTAs para o PixelForge Local.
    *   **Exemplos de Conteúdo E-E-A-T:** Como demonstrar expertise (dados, estudos de caso), experiência (tutoriais práticos), autoridade (citações de fontes, links externos relevantes) e confiança (transparência, depoimentos).

**Formato de Saída:**
*   Lista dos 5 títulos.
*   Esboço detalhado para um artigo em Markdown.

**Restrições:**
*   O conteúdo deve ser original e de alto valor para o público-alvo.
*   Evite "keyword stuffing".
*   Foco em resolver problemas e educar o usuário, não apenas vender.
*   Os artigos devem ser informativos e práticos.

⚡ Prompts de Performance & Core Web Vitals

Performance é um pilar do PixelForge Local. Estes prompts garantem que tanto o app quanto a landing page sejam super rápidos.

prompt
## Prompt para GPT-4 (Otimização de Performance para Next.js/Tauri)

**Contexto:** A interface do PixelForge Local (Next.js/Tauri) e a landing page (Next.js/Vercel) precisam ser extremamente performáticas, atingindo as melhores pontuações no Lighthouse e Core Web Vitals.

**Papel:** Engenheiro de Performance Frontend com foco em Next.js e otimizações de bundle.

**Tarefa:** Descreva as estratégias e implementações para otimizar a performance:
1.  **Bundle Splitting & Lazy Loading:** Como aplicar `React.lazy()` e `next/dynamic` para carregar componentes e módulos JavaScript apenas quando necessários.
2.  **Otimização de Imagens:** Estratégias para `next/image` na landing page e otimização de imagens geradas no desktop (WebP/AVIF, compressão, redimensionamento).
3.  **Font Subsetting & Critical CSS:** Como garantir que apenas o CSS crítico seja carregado inicialmente e as fontes sejam otimizadas (subsetting, `font-display: swap`).
4.  **Edge Caching (para Landing Page):** Como configurar o Vercel para cachear assets estáticos e respostas de API em Edge Locations.
5.  **Web Workers (para App Desktop):** Como usar Web Workers no ambiente Tauri para descarregar tarefas pesadas (ex: processamento de imagem pós-geração) da thread principal da UI.

**Formato de Saída:**
*   Explicação de cada estratégia com snippets de código Next.js/React relevantes.
*   Exemplos de configuração do `next.config.js`.
*   Como integrar Web Workers no contexto Tauri.

**Restrições:**
*   As otimizações devem ser aplicáveis tanto à landing page quanto ao app desktop.
*   Priorize técnicas que melhorem diretamente LCP, INP e CLS.
*   Evite soluções que adicionem complexidade desnecessária.

🚀 Prompts de Deploy & DevOps

Colocar o PixelForge Local nas mãos dos usuários requer um pipeline de deploy robusto e eficiente.

prompt
## Prompt para GitHub Copilot (CI/CD para App Tauri e Landing Page)

**Contexto:** Precisamos de um pipeline de CI/CD automatizado para o PixelForge Local. O projeto tem duas partes principais: a aplicação desktop (Tauri/Rust/Next.js) e a landing page (Next.js/Vercel).

**Papel:** Engenheiro de DevOps com experiência em GitHub Actions e Vercel.

**Tarefa:** Crie os arquivos de configuração do GitHub Actions para:
1.  **Build e Deploy da Landing Page (Vercel):**
    *   Gatilho: `push` para `main` na pasta `web/`.
    *   Ações: Instalar dependências, construir o projeto Next.js, fazer deploy para Vercel.
    *   Variáveis de ambiente Vercel.
2.  **Build e Release da Aplicação Desktop (Tauri):**
    *   Gatilho: `push` de uma tag (ex: `v1.0.0`).
    *   Ações:
        *   Configurar ambiente Rust e Node.js.
        *   Instalar dependências Tauri.
        *   Construir o frontend Next.js para produção.
        *   Construir o binário Tauri para macOS (universal binary para Apple Silicon e Intel).
        *   Criar um release no GitHub com o `.dmg` ou `.app` como asset.
    *   Assinatura de código (code signing) para macOS (use placeholders para segredos).

**Formato de Saída:**
*   `web/.github/workflows/deploy-web.yml`
*   `.github/workflows/release-desktop.yml`
*   Explicação das variáveis de ambiente e segredos necessários (ex: `VERCEL_TOKEN`, `APPLE_CERTIFICATE_BASE64`, `APPLE_CERTIFICATE_PASSWORD`).

**Restrições:**
*   O pipeline deve ser idempotente e rápido.
*   Priorize a segurança para segredos e chaves de assinatura.
*   O build do Tauri deve gerar um artefato pronto para distribuição.

4. Prompt Único Completo

Este é o mega-prompt, o "prompt dos prompts", para gerar o projeto inteiro de uma vez só. Cuidado, ele é poderoso!

prompt
## Prompt Mestre para GPT-4/Claude/Gemini (PixelForge Local: Projeto Completo)

**Contexto Geral:** Construir o "PixelForge Local", uma aplicação desktop macOS para geração de imagens IA 100% offline, focada em criadores Mac. A stack principal é Next.js (UI), Tauri (desktop wrapper), Rust (backend local), MLX (inferência IA), SQLite (dados locais). Haverá uma landing page de marketing (Next.js/Vercel) com licenciamento via Stripe. O design é minimalista dark.

**Papel:** Arquiteto de Software Fullstack, Engenheiro de IA, Especialista em DevOps e SEO.

**Tarefa:** Projete e gere a estrutura de projeto completa, incluindo código-fonte inicial, configurações e diretrizes para o PixelForge Local, cobrindo todos os aspectos técnicos e de marketing.

**Sub-tarefas:**

1.  **Estrutura de Projeto Monorepo:** Crie uma estrutura de monorepo (ex: com pnpm workspaces ou simplesmente pastas aninhadas) para `app` (Tauri/Next.js/Rust) e `web` (Landing Page Next.js).
2.  **Backend Rust (`app/src-tauri/src`):**
    *   `Cargo.toml`: Dependências para `tauri`, `rusqlite`, `serde`, `tokio`, `anyhow`.
    *   `main.rs`: Funções `#[tauri::command]` para:
        *   `initialize_db()`: Cria tabelas SQLite (`projects`, `generations`, `settings`).
        *   `generate_image(prompt: String, model_id: String, params: GenerationParams) -> Result<String, String>`: Invoca a lógica MLX (placeholder FFI).
        *   `get_generations() -> Result<Vec<GenerationMetadata>, String>`: Consulta histórico.
        *   `save_settings(settings: AppSettings) -> Result<(), String>`: Salva configurações.
    *   `db.rs`: Módulo para operações SQLite.
    *   `models.rs`: Definições de structs para `GenerationParams`, `GenerationMetadata`, `AppSettings`.
    *   `mlx_interface.rs`: Módulo com placeholders para a FFI MLX.
3.  **Frontend Next.js (`app/src`):**
    *   `next.config.js`: Configuração para Next.js dentro do Tauri.
    *   `tailwind.config.ts`: Tema dark-first, paleta de cores, tipografia.
    *   `globals.css`: CSS Custom Properties.
    *   `app/page.tsx`: Layout principal com barra lateral de configurações, área de visualização de imagem, input de prompt e botão "Gerar". Use shadcn/ui e Radix UI para componentes (`Input`, `Slider`, `Select`, `Button`).
    *   `lib/tauri.ts`: Utilitário para chamar comandos Rust.
    *   Micro-interações: Adicione CSS para um spinner no botão "Gerar" e um placeholder animado para a imagem.
4.  **Landing Page Next.js (`web/`):**
    *   `next.config.js`: Configuração padrão.
    *   `tailwind.config.ts`: Tema dark-first.
    *   `app/page.tsx`: Conteúdo de marketing com seções de "Problema", "Solução", "Features", "Preços", "CTA".
    *   SEO: Meta tags essenciais, JSON-LD para `SoftwareApplication`.
5.  **API de Licenciamento (Vercel Edge Functions, `web/api`):**
    *   `checkout.ts`: Cria sessão Stripe.
    *   `webhook.ts`: Processa eventos Stripe, gera e armazena chaves de licença (placeholder para DB/KV).
    *   `validate-license.ts`: Valida chave de licença.
6.  **CI/CD (GitHub Actions):**
    *   `.github/workflows/deploy-web.yml`: Deploy para Vercel da landing page.
    *   `.github/workflows/release-desktop.yml`: Build e release do app Tauri para macOS.
7.  **Documentação Inicial:**
    *   `README.md` (raiz do projeto) com instruções de setup e build.
    *   `app/README.md` e `web/README.md` com detalhes específicos.

**Formato de Saída:**
*   Estrutura de diretórios completa.
*   Todos os arquivos de configuração (`Cargo.toml`, `tauri.conf.json`, `next.config.js`, `tailwind.config.ts`, `.github/workflows/*.yml`).
*   Snippets de código-fonte essenciais para cada componente e função mencionada.
*   Placeholders claros para lógica MLX e armazenamento de licenças.
*   `README.md`s iniciais.

**Restrições:**
*   Priorize a clareza e a modularidade.
*   Use Typescript para todo o código JS/TS.
*   Garanta que todos os prompts anteriores sejam integrados.
*   O código deve ser funcional, mesmo com placeholders, para demonstrar a arquitetura.
*   Assegure a conformidade com as Core Web Vitals para a landing page.
*   Mantenha o estilo minimalista dark em todo o frontend.
*   Inclua comentários explicativos onde a lógica complexa seria implementada.

5. Stack Mínima Viável (MVP em 48h)

Pra botar essa joia no ar rapidão e validar a ideia, a gente foca no essencial. Esquece o blog, esquece algumas otimizações de performance mais complexas por um instante.

  • Frontend UI: Next.js 14+ (React 19) com Tailwind CSS v4 e shadcn/ui (componentes essenciais).
  • Desktop Wrapper: Tauri para empacotar o Next.js e interagir com o Rust.
  • Backend Local: Rust com rusqlite para persistência de dados e mlx-rs (ou bindings diretos para MLX) para inferência.
  • Banco de Dados Local: SQLite para armazenar prompts, configurações e histórico de gerações.
  • Hospedagem de Marketing: Vercel para a landing page estática.
  • Licenciamento: Stripe para checkout e gerenciamento de licenças (via Vercel Edge Functions).

Com essa stack, a gente consegue ter um protótipo funcional, gerando imagens offline, com uma UI decente e um sistema de licenciamento básico, pronto para ser testado por early adopters.


6. Checklist de Lançamento

Antes de soltar o PixelForge Local na selva, a gente tem que ter certeza que tá tudo nos conformes. Zé Mané não brinca em serviço!

  1. Geração de Imagens Offline Testada: Confirmar que a inferência MLX funciona 100% sem conexão à internet.
  2. Compatibilidade Apple Silicon: Testar exaustivamente em M1, M2, M3 para garantir a otimização MLX.
  3. Persistência de Dados Local: Verificar que configurações, prompts e histórico são salvos e carregados corretamente no SQLite.
  4. Fluxo de Licenciamento Ponta a Ponta: Testar compra via Stripe, geração de chave, envio de e-mail e validação da licença no app.
  5. Performance da UI: Garantir que a interface Next.js/Tauri seja fluida e responsiva, sem travamentos.
  6. Acessibilidade Básica: Testar navegação por teclado e compatibilidade com leitores de tela para os elementos críticos da UI.
  7. Otimização da Landing Page: Pontuação Lighthouse acima de 90 para Performance, SEO e Acessibilidade.
  8. Sitemap & Robots.txt: Submeter ao Google Search Console.
  9. Binário Assinado (macOS): Garantir que o .dmg ou .app esteja assinado corretamente para evitar avisos de segurança no macOS.
  10. Documentação Básica para Usuário: Um pequeno guia de início rápido dentro do app ou na landing page.

Com tudo isso checado, o PixelForge Local estará pronto para dominar o mercado de IA generativa no Mac. Agora, mãos à obra, porque o Alfredo já deve estar pensando no próximo bilhão!