Créer un projet (Genesis)

Le mode Genesis crée un projet complet de A à Z à partir d'une simple idée.

Vue d'ensemble

/atoox --genesis "application de gestion de tâches collaborative"

Genesis transforme une intention en projet production-ready avec :

  • Structure de fichiers complète
  • Configuration CI/CD
  • Tests initiaux
  • Documentation
  • Première feature implémentée

Pipeline Genesis

┌─────────────────────────────────────────────────────────────┐
│                    PIPELINE GENESIS                          │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│  GEN-00  Capture Intent     → Recueillir l'intention        │
│     ↓                                                       │
│  GEN-01  Amplify Intent     → 8 experts amplifient          │
│     ↓                                                       │
│  GEN-02  Genesis Document   → Spec complète (2000-4000 mots)│
│     ↓                                                       │
│  GEN-03  MCP Discovery      → Détecter MCPs disponibles     │
│     ↓                                                       │
│  GEN-04  Scaffold Project   → Créer la structure            │
│     ↓                                                       │
│  GEN-05  Configure Infra    → Git, CI/CD, linting           │
│     ↓                                                       │
│  GEN-06  Seed Backlog       → User Stories initiales        │
│     ↓                                                       │
│  GEN-07  Sprint 0           → Setup fondamental             │
│     ↓                                                       │
│  GEN-08  First Feature      → Pipeline --full feature #1    │
│     ↓                                                       │
│  GEN-09  Delivery           → Rapport final                 │
│                                                             │
└─────────────────────────────────────────────────────────────┘

Exemple complet

Lancement

/atoox --genesis "app de suivi d'habitudes avec gamification"

GEN-00 : Capture Intent

ATOOX pose des questions de clarification :

╔══════════════════════════════════════════════════════════════╗
║  ◆ ATOOX GENESIS · Capture Intent                            ║
╚══════════════════════════════════════════════════════════════╝

Quelques questions pour préciser votre vision :

1. Public cible ?
   → Particuliers cherchant à améliorer leurs habitudes quotidiennes

2. Plateformes ?
   → Web (responsive) + PWA

3. Stack préférée ?
   → Next.js + TypeScript (ou laisser ATOOX choisir)

4. Fonctionnalités prioritaires ?
   → Création d'habitudes, streaks, points/niveaux, rappels

5. Authentification ?
   → Email + Google OAuth

6. Monétisation ?
   → Freemium (base gratuite, premium pour features avancées)

GEN-01 : Amplify Intent

8 experts enrichissent l'idée :

╔══════════════════════════════════════════════════════════════╗
║  ◆ PANEL D'EXPERTS · Amplification                           ║
╚══════════════════════════════════════════════════════════════╝

Marty Cagan (Product) :
  "Focalisez sur le 'habit loop' : cue → routine → reward.
   La gamification doit renforcer ce cycle, pas le remplacer."

Don Norman (UX) :
  "Rendez l'entrée d'habitude frictionless. Maximum 2 taps
   pour logger une habitude complétée."

Dan Ariely (Psychology) :
  "Utilisez le 'loss aversion' : montrez ce qu'ils perdent
   en cassant un streak, pas juste ce qu'ils gagnent."

Kent Beck (Engineering) :
  "Commencez simple : une habitude, un streak. Ajoutez
   la complexité quand vous avez validé le core loop."

Bruce Schneier (Security) :
  "Données de santé = sensible. RGPD by design.
   Chiffrement end-to-end pour les données personnelles."

Addy Osmani (Performance) :
  "PWA avec service worker pour fonctionner offline.
   Les utilisateurs logguent souvent sans connexion."

Seth Godin (Marketing) :
  "Le nom et le branding doivent évoquer la transformation,
   pas la contrainte. 'Streakify' > 'Habit Tracker'."

Nneka Lara (Accessibility) :
  "Les rappels doivent être configurables. Pas de notifications
   forcées. Support des lecteurs d'écran pour le dashboard."

GEN-02 : Genesis Document

ATOOX génère une spécification complète (extrait) :

# Streakify - Genesis Document

## Vision
Application de suivi d'habitudes transformant les routines quotidiennes
en quêtes engageantes grâce à la gamification psychologiquement fondée.

## Target Users
- Persona principal : Professionnels 25-45 ans voulant installer des routines
- Persona secondaire : Étudiants en période d'examens

## Core Features (MVP)

### 1. Habit Management
- Créer/éditer/supprimer une habitude
- Types : quotidien, hebdomadaire, X fois par semaine
- Catégories : Santé, Productivité, Développement personnel, Custom

### 2. Streak System
- Compteur de jours consécutifs
- Protection streak (1 skip gratuit par semaine en premium)
- Milestones : 7, 21, 30, 60, 90, 365 jours

### 3. Gamification
- Points XP par habitude complétée
- Niveaux (1-100)
- Badges débloquables
- Classement optionnel entre amis

### 4. Notifications
- Rappels personnalisables
- Heure/fréquence configurables
- Mode silencieux

## Technical Architecture

### Stack
- Frontend : Next.js 14 (App Router) + TypeScript
- UI : Tailwind CSS + shadcn/ui
- State : Zustand + React Query
- Backend : Next.js API Routes
- Database : PostgreSQL (Supabase)
- Auth : NextAuth.js (Email + Google)
- Hosting : Vercel

### Data Model
[Diagramme détaillé...]

## User Stories (Sprint 0 + MVP)
[Liste priorisée...]

## Success Metrics
- DAU/MAU ratio > 40%
- Retention D7 > 30%
- Avg streak length > 14 days

GEN-04 : Scaffold Project

Structure générée :

streakify/
├── .github/
│   └── workflows/
│       ├── ci.yml
│       └── deploy.yml
├── src/
│   ├── app/
│   │   ├── (auth)/
│   │   │   ├── login/
│   │   │   └── signup/
│   │   ├── (dashboard)/
│   │   │   ├── habits/
│   │   │   ├── profile/
│   │   │   └── stats/
│   │   ├── api/
│   │   │   ├── auth/
│   │   │   └── habits/
│   │   ├── layout.tsx
│   │   └── page.tsx
│   ├── components/
│   │   ├── ui/
│   │   ├── habits/
│   │   └── gamification/
│   ├── hooks/
│   ├── lib/
│   │   ├── db/
│   │   ├── auth/
│   │   └── utils/
│   ├── stores/
│   └── types/
├── tests/
│   ├── unit/
│   ├── integration/
│   └── e2e/
├── docs/
├── .env.example
├── .eslintrc.json
├── .prettierrc
├── next.config.js
├── tailwind.config.ts
├── tsconfig.json
├── vitest.config.ts
└── package.json

GEN-05 : Configure Infra

Configuration automatique :

# .github/workflows/ci.yml
name: CI

on:
  push:
    branches: [main, develop]
  pull_request:
    branches: [main]

jobs:
  lint:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: pnpm/action-setup@v2
      - uses: actions/setup-node@v4
      - run: pnpm install
      - run: pnpm lint
      - run: pnpm typecheck

  test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: pnpm/action-setup@v2
      - uses: actions/setup-node@v4
      - run: pnpm install
      - run: pnpm test

GEN-06 : Seed Backlog

User Stories générées :

╔══════════════════════════════════════════════════════════════╗
║  BACKLOG INITIAL                                              ║
╠══════════════════════════════════════════════════════════════╣
║                                                              ║
║  SPRINT 0 (Setup)                                            ║
║  ─────────────────                                           ║
║  □ US-001 : Configurer le projet Next.js                     ║
║  □ US-002 : Mettre en place l'authentification               ║
║  □ US-003 : Créer le schéma de base de données               ║
║  □ US-004 : Configurer CI/CD                                 ║
║                                                              ║
║  MVP (Sprint 1-3)                                            ║
║  ─────────────────                                           ║
║  □ US-005 : Créer une habitude                               ║
║  □ US-006 : Marquer une habitude comme complétée             ║
║  □ US-007 : Afficher le streak d'une habitude                ║
║  □ US-008 : Voir le dashboard des habitudes                  ║
║  □ US-009 : Recevoir des points XP                           ║
║  □ US-010 : Afficher le niveau actuel                        ║
║  □ US-011 : Configurer les rappels                           ║
║  □ US-012 : Voir les statistiques de la semaine              ║
║                                                              ║
╚══════════════════════════════════════════════════════════════╝

GEN-08 : First Feature

ATOOX implémente la première feature avec le pipeline --full :

Implémentation : US-005 "Créer une habitude"

Steps exécutés :
  ✅ 00c-centuple
  ✅ 00-clarify
  ✅ 00-init (branche: feature/create-habit)
  ✅ 00b-context
  ✅ 01-analyze
  ✅ 02-plan
  ✅ 03-execute
  ✅ 04-validate
  ✅ 05-examine
  ✅ 06-resolve
  ✅ 07-tests
  ✅ 08-run-tests
  ✅ 10-security
  ✅ 11-ui
  ✅ 13-docs
  ✅ 09-finish

Fichiers créés :
  - src/app/(dashboard)/habits/new/page.tsx
  - src/components/habits/HabitForm.tsx
  - src/hooks/useCreateHabit.ts
  - src/lib/db/habits.ts
  - src/types/habit.ts
  - tests/unit/habits/create.test.ts

GEN-09 : Delivery

Rapport final :

╔═══════════════════════════════════════════════════════════════════╗
║  ◆ ATOOX GENESIS — PROJET CRÉÉ                                   ║
╠═══════════════════════════════════════════════════════════════════╣
║  Projet     : Streakify                                           ║
║  Stack      : Next.js 14 + TypeScript + Tailwind + Supabase       ║
║  Repository : /Users/you/projects/streakify                       ║
╠═══════════════════════════════════════════════════════════════════╣
║  Structure  : ✅ 47 fichiers créés                                ║
║  Config     : ✅ ESLint, Prettier, TypeScript, Tailwind           ║
║  CI/CD      : ✅ GitHub Actions configuré                         ║
║  Tests      : ✅ Vitest + Testing Library configuré               ║
║  Auth       : ✅ NextAuth.js (Email + Google)                     ║
║  Database   : ✅ Schéma Prisma créé                               ║
║  Feature #1 : ✅ "Créer une habitude" implémentée                 ║
╠═══════════════════════════════════════════════════════════════════╣
║  Backlog    : 12 User Stories (Sprint 0 + MVP)                    ║
║  Docs       : README, CONTRIBUTING, Architecture                  ║
╚═══════════════════════════════════════════════════════════════════╝

Prochaines étapes :
  1. cd streakify && pnpm install
  2. Configurer .env (voir .env.example)
  3. pnpm db:push (créer les tables)
  4. pnpm dev (lancer le serveur)
  5. /atoox --kanban (voir le backlog)

Options Genesis

# Genesis avec stack spécifique
/atoox --genesis --stack=remix "mon app"

# Genesis mode économique (moins de fichiers)
/atoox --genesis --economy "MVP rapide"

# Genesis avec estimation avant création
/atoox --genesis --estimate "grosse app"

Prochaines étapes