Files
mdb/.cursorrules
Bastien COIGNOUX 7f94f83940 pocket
2026-05-04 06:02:10 +02:00

64 lines
2.7 KiB
Plaintext

# Application Marchand de Biens — Contexte Cursor
## Infrastructure
- Backend : PocketBase dans Docker (docker/docker-compose.dev.yml)
- Binaire PocketBase : /usr/local/bin/pocketbase
- Données : /pb_data (flag --dir=/pb_data dans docker-compose)
- OS dev : Windows Git Bash → toujours utiliser MSYS_NO_PATHCONV=1 pour docker exec
- PocketBase version : v0.23+
- URL locale : http://localhost:8090
- URL prod : https://SOUS_DOMAINE.duckdns.org (NAS Synology)
## Stack technique
- Frontend : React Native avec Expo SDK 51 + Expo Router
- SDK PocketBase : npm package "pocketbase"
- UI : NativeWind (Tailwind pour React Native)
- State : Zustand + React Query (TanStack)
- IA : API Anthropic Claude via PocketBase Hook (jamais côté client)
- Déploiement mobile : Expo EAS
## Client PocketBase — pattern obligatoire
// /services/pocketbase.ts — singleton, importer partout
import PocketBase from 'pocketbase';
export const pb = new PocketBase(process.env.EXPO_PUBLIC_PB_URL);
## Collections PocketBase (toutes créées via migration)
etapes_pipeline, contacts, biens, analyses_financieres,
visites, taches, notes_biens, documents_biens, devis_travaux
## Règles de code
- TypeScript strict, jamais de any
- Appels PocketBase UNIQUEMENT dans les hooks (/hooks/)
- Jamais de nouvelle instance PocketBase, toujours importer pb
- Commentaires métier en français, code en anglais
- Gérer loading + erreur partout
## Vocabulaire métier
- Bien : propriété immobilière prospectée ou acquise
- Piste : bien en phase d'analyse
- Portage : période entre achat et revente
- Marge brute : prix revente - prix achat - travaux - frais notaire
- Marge nette : marge brute - portage - frais agence - impôts
## Formules financières
frais_notaire = prix_achat * 0.075 (ancien) ou * 0.02 (neuf)
frais_portage_total = (prix_achat * taux_credit/100/12 + taxe_fonciere/12 + charges) * duree_mois
travaux_total = budget_travaux * (1 + reserve_pct/100)
prix_revient = prix_achat + frais_notaire + frais_agence_achat + travaux_total + frais_portage_total
marge_brute = prix_revente - prix_revient
marge_nette = marge_brute - (prix_revente * frais_agence_vente_pct/100) - (marge_brute * taux_impot/100)
## Structure dossiers
/docker → docker-compose dev + prod
/pocketbase
/pb_data → données (dans .gitignore)
/pb_hooks → hooks JS côté serveur (IA)
/pb_migrations → migrations auto au démarrage
/app → code Expo React Native
/app → écrans Expo Router
/components → composants UI
/hooks → hooks métier
/services → pocketbase.ts
/types → types TypeScript
/constants → constantes métier