# Amana
*Amana* signifie « c'est fini » en fang (Gabon). Application mobile iOS d'accompagnement
au sevrage — alcool, tabac/vapotage, cannabis — pour l'Afrique francophone et la diaspora.
La référence unique du projet est `AMANA_SPEC.md`. En cas de doute,
elle prime ; si une information manque, poser la question plutôt que d'inventer.
---
## Démarrer
```bash
npm install
npx expo start
```
Puis scanner le QR code avec **Expo Go** (téléphone et ordinateur sur le même Wi-Fi).
Pour voir l'app dans un navigateur : `npx expo start --web`.
## Vérifier
```bash
npx tsc --noEmit # types, mode strict
npx jest # tests unitaires
npx expo-doctor # santé du projet
```
---
## Clés API — à lire avant de coder
**Aucune clé ne doit jamais se trouver dans le code source.** Elle finirait dans le
bundle distribué et serait extractible par n'importe qui (spec §7.1).
Le coach IA passe par `lib/platform/coach.ts`, qui ne
connaît que deux chemins :
1. l'Edge Function Supabase `claude-coach` — la seule à détenir la clé Anthropic ;
2. à défaut, les messages de secours embarqués — l'écran SOS n'est jamais vide.
Il n'existe **aucun** chemin d'appel direct depuis le client, même en
développement : toute variable `EXPO_PUBLIC_*` est intégrée au bundle
distribué, où n'importe qui peut la lire.
Configuration locale : copier `.env.example` vers `.env` et remplir. `.env` est ignoré
par git et ne doit jamais être commité.
Mise en place du backend : voir `supabase/README.md`.
---
## Organisation
```
app/ écrans (expo-router, routage par fichiers)
├── index.tsx bienvenue « C'est fini »
├── onboarding.tsx préparation en 8 étapes, gratuite
├── start.tsx « Je commence » — Jour 0 et abonnement
├── (tabs)/ Accueil · Communauté · SOS · Ressources · Moi
├── sos.tsx coach, respiration, 4 chemins
├── games/ morpion, sudoku, couleurs, coloriage, mots croisés, échecs
├── guide/[slug].tsx …