Communitygithub.com

replica-architect

Planifie la stack, le schéma de base de données et l'API d’un clone d’application à partir de la carte de reconnaissance produite par replica-recon. Choisit une technologie gérée et éprouvée, traduit le modèle de données inféré en SQL avec index et règles d’accès, liste chaque route par flux, et ordonne la construction en une tranche verticale fine initiale.

Qu'est-ce que replica-architect ?

Cette compétence est conçue pour un assistant d’IA agent (comme Claude Code, Cursor ou Codex) afin de planifier automatiquement l’architecture d’un clone d'application. Elle prend en entrée la carte de reconnaissance (`replica/recon.md`) et la liste des fonctionnalités (`replica/features.csv`) générées par la compétence préalable `replica-recon`, puis produit un plan d’architecture détaillé dans `replica/architecture.md`. L’utilisateur peut l’invoquer avec des demandes telles que « planifie le clone », « conçois la base de données » ou « écris le schéma ». La compétence suit cinq étapes structurées : choix de la stack (par défaut une stack gérée comme Next.js + Supabase + Drizzle, adaptable), conception du schéma SQL complet avec index, clés étrangères et contraintes, définition de l’API route par route avec contrôle d’accès, listing des points sensibles (fuseaux horaires, idempotence, etc.), et ordre de construction priorisant une tranche verticale fonctionnelle. Elle génère également les fichiers SQL et une synthèse pour l’étape suivante (`/replica-design`). Cette approche systématique réduit les oublis et garantit une base solide et scalable.

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

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

Que fait replica-architect ?

Lit replica/recon.md et replica/features.csv. Écrit replica/architecture.md (modèle : architecture.md dans ce dossier).

S'il n'y a pas de carte de reconnaissance, arrêtez-vous et exécutez d'abord /replica-recon. Planifier un clone de mémoire de ce qu'une application fait, c'est le meilleur moyen d'en oublier la moitié.

Étape 1 : la stack

Utilisez ce que l'utilisateur connaît déjà s'il a une stack. Sinon, la valeur par défaut, car chaque partie est gérée, documentée et peu coûteuse à zéro utilisateur :

couchedéfautremplacer par
application webNext.js (App Router) + TypeScriptRemix, SvelteKit, Rails
stylesTailwind, jetons depuis replica-designCSS modules
mobileExpo (React Native)SwiftUI, Kotlin
base de donnéesPostgres sur Supabase ou NeonPlanetScale, SQLite (Turso)
ORMDrizzle ou PrismaSQL brut
authentificationSupabase Auth ou Auth.jsClerk
paiementsStripe Checkout + BillingLemon Squeezy, Paddle
emailResend ou PostmarkSES
tâchesVercel Cron, Inngest ou Trigger.devun worker sur Fly
fichiersSupabase Storage ou Cloudflare R2S3
hébergementVercelNetlify, Fly, Render

Écrivez chaque choix avec une ligne de justification. Une seule base de données. Pas de microservices. Le clone n'a pas besoin de l'architecture de l'original, il a besoin des fonctionnalités de l'original.

Étape 2 : le schéma

Transformez le modèle de données inféré en SQL. Pour chaque table :

  • id uuid primary key default gen_random_uuid(), created_at, updated_at
  • une colonne propriétaire (user_id ou org_id) sur tout ce qu'un utilisateur possède
  • des clés étrangères avec une règle on delete décidée, pas par défaut
  • des index sur chaque clé étrangère et chaque colonne que vous filtrez ou triez
  • des énumérations ou des contraintes de vérification pour les champs de statut
  • les heures en timestamptz, toujours, stockées en UTC
  • l'argent en centimes entiers plus une colonne de devise
  • des règles d'accès : sécurité au niveau des lignes Postgres sur Supabase, ou une vérification d'autorisation par requête dans la couche de données. Écrivez laquelle.

Exemple, pour une application de réservation :

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);

Ensuite, les contraintes strictes trouvées par la reconnaissance. Deux invités réservant le même créneau est un problème de base de données (une contrainte d'exclusion ou un index unique), pas un problème d'interface.

Étape 3 : l'API

Un tableau par flux de la carte de reconnaissance. Pour chaque route ou action serveur :

méthode chemin | ce qu'elle fait | qui peut l'appeler | entrée | sortie | flux

Plus les webhooks entrants (Stripe, fournisseurs de calendrier) et sortants, et les tâches d'arrière-plan (rappels, synchronisation, nettoyage) avec leur planification.

Uniquement les API publiques officielles avec les propres clés de l'utilisateur. Jamais les points de terminaison privés de l'application d'origine, même s'ils sont visibles dans un navigateur.

Étape 4 : les parties qui coincent

Écrivez une ligne pour chacun des points qui s'appliquent : fuseaux horaires et heure d'été, idempotence (les webhooks arrivent deux fois), conditions de concurrence, limites de débit, limites de taille de fichier, recherche, temps réel, hors ligne, délivrabilité des emails, multi-locataire, suppression GDPR.

Étape 5 : ordre de construction

  1. Tranche verticale. La boucle principale de bout en bout, moche : inscription, faire la seule chose, voir le résultat. Prouve la stack.
  2. Indispensables de features.csv, par domaine.
  3. Souhaitables, puis possibles.
  4. Les correctifs que replica-entrepreneur trouvera, une fois exécuté.

Chaque jalon liste ses écrans (ID-S), ses tables et ses routes.

Sortie

replica/architecture.md, le SQL dans replica/schema.sql ou en tant que première migration, et un résumé : stack en une ligne, nombre de tables, nombre de routes, les trois parties les plus risquées, et l'étape suivante : /replica-design.

Individual skills in this repo

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

Skills associés