From 080952129b5bd66654194e1d674bfe7819c70c49 Mon Sep 17 00:00:00 2001 From: vincent Date: Sat, 21 Mar 2026 16:04:40 +0000 Subject: [PATCH] Initial commit --- .env.example | 0 .gitea/workflows/deploy.yml | 31 +++++++++++++++++++ .gitignore | 7 +++++ CLAUDE.md | 60 +++++++++++++++++++++++++++++++++++++ README.md | 13 ++++++++ docker/docker-compose.yml | 13 ++++++++ 6 files changed, 124 insertions(+) create mode 100644 .env.example create mode 100644 .gitea/workflows/deploy.yml create mode 100644 .gitignore create mode 100644 CLAUDE.md create mode 100644 README.md create mode 100644 docker/docker-compose.yml diff --git a/.env.example b/.env.example new file mode 100644 index 0000000..e69de29 diff --git a/.gitea/workflows/deploy.yml b/.gitea/workflows/deploy.yml new file mode 100644 index 0000000..7d4019b --- /dev/null +++ b/.gitea/workflows/deploy.yml @@ -0,0 +1,31 @@ +name: Deploy + +on: + push: + branches: + - dev + - main + +jobs: + deploy: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Set environment + id: env + run: | + if [ "${{ github.ref_name }}" = "main" ]; then + echo "ENV=prod" >> $GITHUB_OUTPUT + echo "COMPOSE_FILE=docker/docker-compose.prod.yml" >> $GITHUB_OUTPUT + else + echo "ENV=dev" >> $GITHUB_OUTPUT + echo "COMPOSE_FILE=docker/docker-compose.yml" >> $GITHUB_OUTPUT + fi + + - name: Deploy + run: | + docker compose -f ${{ steps.env.outputs.COMPOSE_FILE }} pull + docker compose -f ${{ steps.env.outputs.COMPOSE_FILE }} up -d --remove-orphans + docker image prune -f diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..45a5122 --- /dev/null +++ b/.gitignore @@ -0,0 +1,7 @@ +.env +node_modules/ +__pycache__/ +*.pyc +.DS_Store +dist/ +build/ diff --git a/CLAUDE.md b/CLAUDE.md new file mode 100644 index 0000000..59a33e5 --- /dev/null +++ b/CLAUDE.md @@ -0,0 +1,60 @@ +# [NOM DU PROJET] + +## Projet +[Une phrase : ce que fait l'app, pour qui, pourquoi.] + +## Stack +- Runtime : Node 20 / Python 3.11 / ... +- Framework : ... +- Base de données : MariaDB / PostgreSQL / SQLite +- Déploiement : Docker → Synology NAS (rigolet.tech) + +## Structure +``` +src/ + components/ # Exemple de composant : src/components/UserCard.tsx + api/ # Exemple de route : src/api/users/route.ts + stores/ # State management +docker/ + docker-compose.yml +.gitea/ + workflows/ + deploy.yml +``` + +## Commandes +```bash +npm install # Installer les dépendances +npm run dev # Lancer en développement +npm run build # Build production +npm test # Lancer UN test ciblé, pas toute la suite +npm run typecheck # IMPORTANT : lancer après chaque série de modifications +``` + +## Code style +- ES modules (import/export), jamais CommonJS (require) +- Functional components + hooks uniquement, jamais de class components +- TypeScript strict activé +- Destructure les imports quand possible +- IMPORTANT : ne jamais considérer une tâche terminée sans typecheck qui passe + +## Git +- Branches : main (prod) → dev (dev) +- Commits : feat: / fix: / docs: / refactor: / chore: +- IMPORTANT : toujours créer une nouvelle branche pour chaque tâche +- IMPORTANT : ne jamais pusher directement sur main + +## Déploiement +Pipeline automatique via Gitea Actions. +Chaque push sur develop déclenche un déploiement sur le NAS. +Voir @.gitea/workflows/deploy.yml pour le détail du pipeline. + +## Références +- Vue d'ensemble du projet : @README.md +- Variables d'environnement : @.env.example + +## Ce que Claude doit savoir sur CE projet +- [Ajoute ici les erreurs que Claude répète spécifiquement sur ce projet] +- [Ex : "ne pas utiliser axios, on utilise fetch natif"] +- [Ex : "la BDD utilise snake_case, le code TypeScript utilise camelCase"] +- [Ex : "les tests sont dans __tests__/, pas dans src/"] diff --git a/README.md b/README.md new file mode 100644 index 0000000..9dec23c --- /dev/null +++ b/README.md @@ -0,0 +1,13 @@ +# Nom du projet + +## Description +[Description du projet] + +## Installation +```bash +npm install +npm run dev +``` + +## Déploiement +Via Gitea Actions → Docker → NAS (rigolet.tech) diff --git a/docker/docker-compose.yml b/docker/docker-compose.yml new file mode 100644 index 0000000..1de6776 --- /dev/null +++ b/docker/docker-compose.yml @@ -0,0 +1,13 @@ +version: "3.8" + +services: + app: + image: your-app:latest + container_name: your-app + restart: unless-stopped + networks: + - proxy + +networks: + proxy: + external: true