# Daily Check System v2 - Modulaire & Windows Startup **Créé** : 21 décembre 2025 **Remplace** : `anki_tingting/` (obsolète depuis divorce 19 déc 2025) **Objectif** : Système holistique de daily check sur 3 domaines clés de vie --- ## 🎯 Concept **Problème** : Pattern d'oubli systémique identifié. Tu diagnostiques, crées des plans, puis **oublies que les plans existent**. **Solution** : 1. **Modulaire** : Un fichier = une carte, facile d'ajouter de nouvelles questions 2. **Windows Startup** : Se lance automatiquement au boot (Task Scheduler OU Startup folder) 3. **Auto-spawn terminal** : Impossible d'ignorer - se lance à l'ouverture d'un terminal WSL 4. **3 catégories** : Chinois (2Q), Personal Life (2Q), Travail (2Q) 5. **Simple** : Pas de dépendances lourdes (pygame, edge_tts, etc.) --- ## 📁 Structure ``` daily_check/ ├── cards/ # Un fichier = une carte │ ├── chinese_vocab.md # Vocab/grammaire chinois │ ├── chinese_practice.md # Pratique active chinois │ ├── life_rules.md # Discipline quotidienne │ ├── learning.md # Apprentissage non-tech │ ├── freelance.md # CRITIQUE - Bangkok prep │ └── projects.md # Projets perso + skills │ ├── .state.json # État système (streak, last check) ├── daily_sessions.md # Log de toutes les sessions ├── daily_check.log # Logs techniques (triggers) │ ├── trigger_check.sh # Script appelé par Task Scheduler ├── bashrc_hook.sh # Hook à ajouter dans ~/.bashrc ├── start_daily_check.bat # Alternative Startup folder │ ├── SETUP_TASK_SCHEDULER.md # Instructions Task Scheduler └── README.md # Ce fichier ``` --- ## 🔄 Comment Ça Marche ### **1. Trigger automatique (3x par jour)** **Option A : Task Scheduler (Recommandé)** ``` 07:00, 14:00, 21:00 → Task Scheduler lance trigger_check.sh ↓ Script vérifie si déjà fait aujourd'hui (.state.json) ↓ Si non fait → Crée flag file (~/.daily_check_pending) ↓ Flag contient la période (morning/afternoon/evening) ``` **Option B : Startup Folder (Plus simple)** ``` Windows Boot → start_daily_check.bat démarre ↓ Boucle infinie : trigger toutes les heures ↓ Même logique que Task Scheduler ``` ### **2. Auto-spawn à l'ouverture terminal** ``` Tu ouvres Windows Terminal (WSL) ↓ ~/.bashrc détecte ~/.daily_check_pending ↓ Affiche : "🔔 DAILY CHECK EN ATTENTE (morning)" ↓ Countdown 3 secondes (Ctrl+C pour annuler) ↓ Auto-lance : claude "daily check" ↓ Flag file supprimé après exécution ``` ### **3. Exécution du quiz (Claude Code)** ``` Claude lit tous les fichiers cards/*.md ↓ Parse frontmatter (category, priority, enabled) ↓ Filtre enabled=true uniquement ↓ Sélectionne 6 cartes (2 par catégorie si possible) ↓ Pose les 6 questions ↓ Donne feedback (✅/⚠️/❌) ↓ Log session dans daily_sessions.md ↓ Met à jour .state.json (streak, last_check_date) ``` --- ## 🚀 Setup (Première Fois) ### **Étape 1 : Installer jq (si pas déjà fait)** ```bash sudo apt install jq ``` ### **Étape 2 : Ajouter le hook dans ~/.bashrc** Ouvre `~/.bashrc` : ```bash nano ~/.bashrc ``` Ajoute à la fin du fichier : ```bash # Daily Check Auto-Spawn Hook FLAG_FILE="$HOME/.daily_check_pending" DAILY_CHECK_DIR="/mnt/e/Users/Alexis Trouvé/Documents/Projets/couple_matters/daily_check" if [ -f "$FLAG_FILE" ]; then PERIOD=$(cat "$FLAG_FILE" 2>/dev/null || echo "unknown") echo "" echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━" echo "🔔 DAILY CHECK EN ATTENTE ($PERIOD)" echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━" echo "" echo "Le daily check va se lancer automatiquement dans 3 secondes..." echo "(Appuie sur Ctrl+C pour annuler)" echo "" sleep 3 cd "$DAILY_CHECK_DIR" claude "daily check" rm -f "$FLAG_FILE" echo "" echo "✅ Daily check terminé. Flag file supprimé." echo "" fi ``` Sauvegarde (Ctrl+O, Enter, Ctrl+X) et recharge : ```bash source ~/.bashrc ``` ### **Étape 3 : Setup Windows Startup** **Option A : Task Scheduler (Recommandé)** - Suis les instructions dans `SETUP_TASK_SCHEDULER.md` - Triggers : 07:00, 14:00, 21:00 (3x par jour) **Option B : Startup Folder (Plus simple)** 1. Copie `start_daily_check.bat` 2. Colle dans : `C:\Users\[User]\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup` 3. Redémarre le PC pour tester ### **Étape 4 : Tester le système** Lance manuellement le trigger : ```bash cd "/mnt/e/Users/Alexis Trouvé/Documents/Projets/couple_matters/daily_check" ./trigger_check.sh ``` Vérifie que le flag est créé : ```bash cat ~/.daily_check_pending ``` Ouvre un nouveau terminal → Le hook devrait se déclencher automatiquement. --- ## 🃏 Format des Cartes Exemple : `cards/freelance.md` ```markdown --- category: travail priority: critical frequency: daily enabled: true --- # Question As-tu avancé sur le freelance/clients payants aujourd'hui ? # Answer Guide - Rien fait = ❌ - Setup/préparation seulement = ⚠️ - Action concrète (profil, postulation, travail client) = ✅ # Notes Bangkok dans 32 jours. Tu DOIS avoir des clients AVANT d'arriver. Le freelance est ta PRIORITÉ #1 jusqu'à revenu stable. ``` **Champs frontmatter** : - `category` : chinois | personal | travail - `priority` : low | medium | high | critical - `frequency` : daily | every_2_days | weekly - `enabled` : true | false --- ## ➕ Ajouter une Nouvelle Carte 1. Créer `cards/nouvelle_carte.md` 2. Copier le format ci-dessus 3. Remplir frontmatter et sections 4. C'est tout ! Sera détectée automatiquement **Exemple** : Carte pour suivi budget Bangkok ```bash nano cards/budget_bangkok.md ``` ```markdown --- category: personal priority: high frequency: daily enabled: true --- # Question As-tu suivi ton budget aujourd'hui ? (dépenses trackées, pas de gaspillage) # Answer Guide - Dépenses non trackées = ❌ - Trackées mais dépassement budget = ⚠️ - Tout tracké + dans le budget = ✅ # Notes Budget Bangkok : 1550€ pour 60 jours. Chaque euro compte. Pas de marge d'erreur. ``` --- ## 📊 Consulter les Stats **Voir streak actuelle** : ```bash cat .state.json | jq ``` **Voir dernière session** : ```bash tail -50 daily_sessions.md ``` **Voir logs techniques** : ```bash tail -20 daily_check.log ``` --- ## 🔧 Maintenance ### **Désactiver temporairement une carte** ```bash nano cards/learning.md # Changer enabled: true → enabled: false ``` ### **Modifier priorité d'une carte** ```bash nano cards/freelance.md # Changer priority: high → priority: critical ``` ### **Arrêter le système temporairement** ```bash # Supprimer le flag file rm ~/.daily_check_pending # Désactiver Task Scheduler (voir SETUP_TASK_SCHEDULER.md) ``` --- ## 🐛 Troubleshooting **Le hook ne se déclenche pas** : - Vérifie que ~/.bashrc contient le hook - Vérifie que le flag file existe : `ls -la ~/.daily_check_pending` - Teste manuellement : `bash -l` **Trigger ne crée pas le flag** : - Vérifie que jq est installé : `jq --version` - Vérifie les logs : `cat daily_check.log` - Vérifie Task Scheduler (voir SETUP_TASK_SCHEDULER.md) **Claude ne trouve pas les cartes** : - Vérifie le chemin : `ls -la cards/*.md` - Vérifie frontmatter YAML valide - Vérifie `enabled: true` **Permission denied sur trigger_check.sh** : ```bash chmod +x trigger_check.sh ``` --- ## ✅ Avantages vs Ancien Système | Ancien (anki_tingting) | Nouveau (daily_check) | |------------------------|----------------------| | ❌ Python service compliqué | ✅ Simple bash + Task Scheduler | | ❌ Dépendances lourdes | ✅ Juste bash + jq | | ❌ Cartes hardcodées | ✅ Modulaire (1 fichier = 1 carte) | | ❌ Crash silencieux | ✅ Robuste (flag file + retry) | | ❌ Facile à ignorer | ✅ Auto-spawn terminal | | ❌ Centré Tingting only | ✅ Holistique (3 domaines) | --- ## 🎯 Objectifs **Semaine 1** : - [ ] Streak de 5+ jours - [ ] Aucun skip - [ ] Spawn fiable **Mois 1** : - [ ] Streak de 20+ jours - [ ] Amélioration visible (freelance, chinois) - [ ] Au moins 2 cartes perso ajoutées **Long terme** : - [ ] Habitude quotidienne (5 min/jour) - [ ] Impact visible sur discipline/productivité - [ ] Clients freelance actifs avant Bangkok (22 jan) --- ## ⚠️ CRITIQUE **Ce système est un test de ta capacité à tenir tes engagements.** Bangkok dans 32 jours. Tu as besoin de : - Discipline (life rules) - Chinois (survie + opportunités) - Freelance (revenu critique) Si ce système ne tient pas, c'est un red flag sur ta capacité à exécuter. **Donc : Prends ce système au sérieux. 5 minutes par jour. C'est pas beaucoup demander.** --- **Prochaine session prévue** : Dès que tu ouvres un terminal après setup ! **Status** : ✅ SYSTÈME OPÉRATIONNEL