Communitygithub.com

replica-architect

Planeja a stack, o esquema do banco de dados e a API para um clone de aplicativo, com base no mapa de reconhecimento que o replica-recon produziu. Escolhe tecnologia gerenciada e conservadora, transforma o modelo de dados inferido em SQL real com índices e regras de acesso, lista cada rota por fluxo e ordena a construção como uma fatia vertical fina primeiro. Use quando o usuário disser 'planeje o clone', 'qual stack devo usar', 'projete o banco de dados', 'escreva o esquema', 'planeje a API', 'arquitetura para minha versão do X' ou após /replica-recon terminar.

O que é replica-architect?

O **replica-architect** é uma skill para agentes de IA que transforma o mapa de reconhecimento gerado pelo `replica-recon` em um plano arquitetural completo para clonar um aplicativo. Ela oferece uma stack padrão com tecnologia gerenciada e barata (Next.js, Postgres no Supabase, Drizzle, etc.), mas permite trocas quando o usuário já tem preferências. A skill converte o modelo de dados inferido em SQL real com tipos uuid, timestamps, chaves estrangeiras com regras `on delete`, índices, restrições de verificação e políticas de segurança em nível de linha (RLS). Depois, mapeia cada fluxo do recon em rotas de API ou server actions com quem pode chamar, entrada, saída e fluxo. Por fim, identifica pontos críticos (fusos horários, idempotência, concorrência) e ordena a construção como uma fatia vertical fina seguida pelos recursos obrigatórios, desejáveis e eventuais correções. O resultado é um arquivo `replica/architecture.md`, o SQL em `replica/schema.sql` e um resumo para o próximo passo, `/replica-design`.

Funciona com~Claude Code~Codex CLI✓Cursor
npx skills add https://github.com/silasroliver-hue/replica-skill-cursor/tree/HEAD/.cursor/skills/replica-architect

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

O que replica-architect faz?

Lê replica/recon.md e replica/features.csv. Escreve replica/architecture.md (modelo: architecture.md nesta pasta).

Se não houver mapa de reconhecimento, pare e execute /replica-recon primeiro. Planejar um clone apenas de memória do que um aplicativo faz é como perder metade dele.

Etapa 1: a stack

Use o que o usuário já conhece, se ele tiver uma stack. Caso contrário, use a padrão, porque cada parte é gerenciada, documentada e barata com zero usuários:

camadapadrãosubstituir por
web appNext.js (App Router) + TypeScriptRemix, SvelteKit, Rails
estiloTailwind, tokens do replica-designCSS modules
mobileExpo (React Native)SwiftUI, Kotlin
banco de dadosPostgres no Supabase ou NeonPlanetScale, SQLite (Turso)
ORMDrizzle ou PrismaSQL puro
autenticaçãoSupabase Auth ou Auth.jsClerk
pagamentosStripe Checkout + BillingLemon Squeezy, Paddle
emailResend ou PostmarkSES
jobsVercel Cron, Inngest ou Trigger.devum worker no Fly
arquivosSupabase Storage ou Cloudflare R2S3
hospedagemVercelNetlify, Fly, Render

Escreva cada escolha com uma linha de porquê. Um banco de dados. Sem microsserviços. O clone não precisa da arquitetura original, precisa dos recursos originais.

Etapa 2: o esquema

Transforme o modelo de dados inferido em SQL. Para cada tabela:

  • id uuid primary key default gen_random_uuid(), created_at, updated_at
  • uma coluna de proprietário (user_id ou org_id) em tudo que um usuário possui
  • chaves estrangeiras com uma regra on delete definida, não padronizada
  • índices em cada chave estrangeira e em cada coluna que você filtra ou ordena
  • enums ou restrições check para campos de status
  • horários como timestamptz, sempre, armazenados em UTC
  • dinheiro como centavos inteiros mais uma coluna de moeda
  • regras de acesso: Row Level Security do Postgres no Supabase, ou uma verificação de autorização por consulta na camada de dados. Escreva qual.

Exemplo, para um aplicativo de reservas:

create table bookings (
  id uuid primary key default gen_random_uuid(),
  event_type_id uuid not null references event_types(id) on delete cascade,
  host_id uuid not null references users(id) on delete cascade,
  start_at timestamptz not null,
  end_at timestamptz not null,
  guest_name text not null,
  guest_email text not null,
  guest_timezone text not null,
  status text not null default 'confirmed'
    check (status in ('confirmed','cancelled','rescheduled')),
  answers jsonb not null default '{}',
  created_at timestamptz not null default now(),
  constraint no_zero_length check (end_at > start_at)
);
create index on bookings (host_id, start_at);

Em seguida, as restrições difíceis que o reconhecimento encontrou. Dois convidados reservando o mesmo horário é um problema de banco de dados (uma restrição de exclusão ou um índice único), não um problema de interface.

Etapa 3: a API

Uma tabela por fluxo do mapa de reconhecimento. Para cada rota ou server action:

método caminho | o que faz | quem pode chamar | entrada | saída | fluxo

Além disso, webhooks de entrada (Stripe, provedores de calendário) e de saída, e jobs em segundo plano (lembretes, sincronização, limpeza) com sua programação.

Apenas APIs oficiais e públicas com as próprias chaves do usuário. Nunca os endpoints privados do aplicativo original, mesmo que estejam visíveis no navegador.

Etapa 4: as partes que mordem

Escreva uma linha para cada uma que se aplica: fusos horários e horário de verão, idempotência (webhooks chegam duas vezes), condições de corrida, limites de taxa, limites de tamanho de arquivo, pesquisa, tempo real, offline, entregabilidade de email, multi-inquilino, exclusão GDPR.

Etapa 5: ordem de construção

  1. Fatia vertical. O loop central do início ao fim, feio: cadastre-se, faça a única coisa, veja o resultado. Prova a stack.
  2. Obrigatórios de features.csv, por área.
  3. Desejáveis, depois opcionais.
  4. As correções que o replica-entrepreneur encontrar, depois que ele for executado.

Cada marco lista suas telas (S-IDs), tabelas e rotas.

Saída

replica/architecture.md, o SQL em replica/schema.sql ou como a primeira migração, e um resumo: stack em uma linha, contagem de tabelas, contagem de rotas, as três partes mais arriscadas e o próximo passo: /replica-design.

Individual skills in this repo

This repo contains 1 individual skill — each has its own dedicated page.

Habilidades Relacionadas