Major updates: - December 2025 crisis documentation and separation agreement - Daily check system v2 with multiple card categories - Xiaozhu rental search tools and results - Exit plan documentation - Message drafts for family communication - Confluent moved to CONSTANT - Updated profiles and promises 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
12 KiB
Plan : Daily Check System v2 - Modulaire & Windows Startup
Date : 21 décembre 2025 Objectif : Remplacer anki_tingting/ par un système modulaire ultra-fiable qui se lance au boot Windows Contexte : Ancien système (centré Tingting) est obsolète suite divorce. Besoin d'un système holistique (chinois, personal life, travail)
🎯 Objectifs Clés
- Modulaire : Un fichier = une carte, facile d'ajouter de nouvelles questions
- Fiabilité spawn : Windows startup garantit le lancement (résout le problème de crash du service Python)
- 3 catégories : Chinois (2Q), Personal Life (2Q), Travail (2Q)
- Auto-spawn terminal : Se lance automatiquement à l'ouverture d'un terminal WSL
- Simple : Pas de dépendances lourdes (pygame, edge_tts, etc.)
📁 Structure du Système
daily_check/
├── cards/ # Cartes modulaires (une carte = un fichier)
│ ├── chinese_vocab.md # Catégorie: chinois
│ ├── chinese_practice.md # Catégorie: chinois
│ ├── life_rules.md # Catégorie: personal
│ ├── learning.md # Catégorie: personal
│ ├── freelance.md # Catégorie: travail
│ └── projects.md # Catégorie: travail
│
├── .state.json # État du système (streak, last check)
├── daily_sessions.md # Log de toutes les sessions
├── trigger_check.sh # Script WSL appelé par Task Scheduler
├── start_daily_check.bat # Batch file pour Startup folder (alternative)
├── setup_task_scheduler.md # Instructions complètes Task Scheduler
└── README.md # Documentation système
🃏 Format des Cartes (Markdown + Frontmatter)
Exemple : cards/chinese_vocab.md
---
category: chinois
priority: high
frequency: daily
enabled: true
---
# Question
Quel nouveau vocabulaire/grammaire as-tu appris aujourd'hui en chinois ?
# Answer Guide
- Si 0 nouveau mot = ❌
- Si 1-5 mots = ⚠️ (insuffisant pour progression HSK)
- Si 5+ mots OU 1 point grammaire important = ✅
# Notes
HSK doit progresser régulièrement. Pas de jour sans apprendre au moins quelques mots.
Le chinois est critique pour ton avenir en Asie.
Champs frontmatter :
category: chinois | personal | travailpriority: low | medium | high | criticalfrequency: daily | every_2_days | weeklyenabled: true | false (permet de désactiver temporairement)
Sections Markdown :
# Question: La question posée à l'utilisateur# Answer Guide: Critères d'évaluation (✅/⚠️/❌)# Notes: Contexte, pourquoi c'est important, rappels
🔄 Flow du Système
1. Déclenchement automatique (Windows)
Option A : Task Scheduler (Recommandé - Plus flexible)
07:00, 14:00, 21:00 (3x par jour)
↓
Task Scheduler exécute trigger_check.sh (WSL)
↓
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 (Alternative - Plus simple)
Windows Boot
↓
start_daily_check.bat démarre en arrière-plan
↓
Boucle infinie : check toutes les heures
↓
Même logique que Task Scheduler
2. Auto-spawn à l'ouverture terminal
Alexis ouvre Windows Terminal (WSL)
↓
~/.bashrc détecte ~/.daily_check_pending
↓
Affiche : "🔔 DAILY CHECK EN ATTENTE (morning)"
↓
Compte à rebours 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 dans cards/
↓
Parse frontmatter (category, priority, enabled)
↓
Filtre : enabled=true uniquement
↓
Sélectionne 6 cartes (2 par catégorie si possible)
↓
Si pas assez dans une catégorie, prend les plus prioritaires
↓
Pose les 6 questions une par une
↓
Donne feedback (✅/⚠️/❌) selon Answer Guide
↓
Calcule score total
↓
Log session dans daily_sessions.md
↓
Met à jour .state.json (streak, last_check_date)
🛠️ Composants Techniques
1. .state.json (État du système)
{
"streak": 0,
"last_check_date": null,
"total_sessions": 0,
"best_streak": 0,
"days_skipped_current": 0
}
2. trigger_check.sh (Script WSL)
Responsabilités :
- Vérifier si daily check déjà fait aujourd'hui
- Déterminer période du jour (morning/afternoon/evening)
- Créer flag file si nécessaire
- Logger dans daily_check.log
- Si terminal WSL déjà ouvert → lancer immédiatement
Logique clé :
LAST_CHECK=$(jq -r '.last_check_date' .state.json)
TODAY=$(date +%Y-%m-%d)
if [ "$LAST_CHECK" == "$TODAY" ]; then
exit 0 # Déjà fait
fi
# Créer flag
echo "morning" > ~/.daily_check_pending
3. Hook ~/.bashrc (Auto-spawn)
Responsabilités :
- Détecter flag file au démarrage terminal
- Afficher notification + countdown
- Auto-lancer Claude Code
- Supprimer flag après exécution
Code clé :
if [ -f "$HOME/.daily_check_pending" ]; then
PERIOD=$(cat "$HOME/.daily_check_pending")
echo "🔔 DAILY CHECK EN ATTENTE ($PERIOD)"
sleep 3
claude "daily check"
rm "$HOME/.daily_check_pending"
fi
4. start_daily_check.bat (Windows Batch)
Responsabilités :
- Attendre 2 minutes après boot (stabilisation système)
- Boucle infinie : trigger toutes les heures
- Appeler trigger_check.sh via WSL
Code clé :
timeout /t 120 /nobreak > nul
:loop
wt.exe -w -1 wsl -e bash -c "cd /path/to/daily_check && ./trigger_check.sh"
timeout /t 3600 /nobreak > nul
goto loop
5. Claude Code Logic (Parsing + Quiz)
Algorithme sélection cartes :
- Lire tous
cards/*.md - Parser frontmatter YAML
- Filtrer
enabled: true - Grouper par
category - Pour chaque catégorie, trier par
priority(critical > high > medium > low) - Sélectionner 2 cartes par catégorie (ou moins si pas assez)
- Si < 6 cartes total, prendre les plus prioritaires tous confondus
Format session log :
### 2025-12-21 07:30
**Triggered by** : Auto (morning check)
**Duration** : ~5 minutes
**Questions Asked** :
1. [chinese_vocab] Quel nouveau vocab as-tu appris ? → ✅
- Réponse : "5 mots HSK4 + structure 不但...而且"
- Feedback : Bon travail, progression HSK continue
2. [freelance] As-tu avancé sur freelance/clients ? → ❌
- Réponse : "Non rien fait"
- Feedback : Bangkok dans 32 jours. Tu dois avoir des clients AVANT d'arriver.
[...]
**Total Score** : 4/6
**Streak** : 1 jour
**Observation** : Bon démarrage. Focus sur freelance urgent.
📋 6 Cartes Initiales
Catégorie CHINOIS
-
chinese_vocab.md : Vocabulaire/Grammaire appris aujourd'hui
- Priority: high
- Frequency: daily
- Critères: 5+ mots OU 1 point grammaire = ✅
-
chinese_practice.md : Utilisation pratique du chinois
- Priority: medium
- Frequency: daily
- Critères: WeChat/projet/conversation réelle = ✅
Catégorie PERSONAL
-
life_rules.md : Life rules + Discipline
- Priority: high
- Frequency: daily
- Critères: Sport, sommeil, routine respectés = ✅
-
learning.md : Apprentissage/Découverte (non-tech)
- Priority: medium
- Frequency: daily
- Critères: Quelque chose de nouveau appris = ✅
Catégorie TRAVAIL
-
freelance.md : Freelance/Revenu (URGENT Bangkok)
- Priority: critical
- Frequency: daily
- Critères: Prospection OU travail client OU setup Upwork/Fiverr = ✅
-
projects.md : Projets perso + Nouvelles compétences
- Priority: high
- Frequency: daily
- Critères: Commit sur projet OU nouvelle tech apprise = ✅
🚀 Setup Instructions (Une seule fois)
1. Créer la structure
cd /mnt/e/Users/Alexis\ Trouvé/Documents/Projets/couple_matters/
mkdir -p daily_check/cards
2. Copier les cartes initiales
- 6 fichiers
.mddanscards/
3. Initialiser .state.json
echo '{"streak":0,"last_check_date":null,"total_sessions":0,"best_streak":0,"days_skipped_current":0}' > daily_check/.state.json
4. Créer trigger_check.sh
- Rendre exécutable :
chmod +x trigger_check.sh
5. Ajouter hook dans ~/.bashrc
- Ajouter le code de détection flag file
6. Setup Windows Startup
Option A : Task Scheduler
- Créer tâche avec triggers 07:00, 14:00, 21:00
- Action : Exécuter trigger_check.sh via WSL
- Voir
setup_task_scheduler.mdpour instructions détaillées
Option B : Startup Folder
- Copier
start_daily_check.batdans Startup folder - Chemin :
C:\Users\[User]\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
✅ Avantages vs Ancien Système
| Aspect | Ancien (anki_tingting) | Nouveau (daily_check) |
|---|---|---|
| Modulaire | ❌ Cartes hardcodées | ✅ Un fichier = une carte |
| Spawn fiabilité | ❌ Python service crash | ✅ Task Scheduler + flag file |
| Dépendances | ❌ pygame, edge_tts, pyttsx3 | ✅ Juste bash + jq |
| Impossible ignorer | ❌ Skip popup facile | ✅ Auto-spawn terminal |
| Scope | ❌ Centré Tingting only | ✅ Holistique (3 domaines vie) |
| Maintenance | ❌ Modifier code Python | ✅ Ajouter/modifier fichier .md |
| Windows boot | ❌ Service compliqué | ✅ Task Scheduler OU Startup |
| Logs | ✅ daily_sessions.md | ✅ daily_sessions.md |
🔧 Maintenance & Extension
Ajouter une nouvelle carte
- Créer
cards/nouvelle_carte.md - Remplir frontmatter (category, priority, frequency, enabled)
- Écrire Question, Answer Guide, Notes
- C'est tout ! Sera automatiquement détectée au prochain check
Désactiver temporairement une carte
- Changer
enabled: true→enabled: falsedans le frontmatter
Modifier priorité/fréquence
- Éditer le frontmatter directement
Voir stats
- Consulter
daily_sessions.md .state.jsonpour streak actuelle
📊 Métriques de Succès
Semaine 1 :
- Streak de 5+ jours
- Aucun skip
- Spawn fiable (pas de problème technique)
Mois 1 :
- Streak de 20+ jours
- Amélioration visible sur catégories critiques (freelance, chinois)
- Au moins 2 cartes personnalisées ajoutées
Long terme :
- Système devient habitude quotidienne (5 min/jour)
- Visible impact sur discipline et productivité
- Backup avant Bangkok (22 jan) = clients freelance actifs
🐛 Troubleshooting
Flag file pas créé :
- Vérifier Task Scheduler tourne bien
- Vérifier chemin dans trigger_check.sh
- Check logs :
daily_check/daily_check.log
Hook bashrc ne se déclenche pas :
- Vérifier que ~/.bashrc contient le hook
- Vérifier flag file existe :
ls -la ~/.daily_check_pending - Tester manuellement :
bash -l
Claude ne trouve pas les cartes :
- Vérifier chemin :
daily_check/cards/*.md - Vérifier frontmatter YAML valide
- Vérifier
enabled: true
🎯 Next Steps (Implémentation)
- Créer structure
daily_check/+ sous-dossiers - Écrire les 6 cartes initiales
- Coder
trigger_check.sh - Coder hook
~/.bashrc - Créer
start_daily_check.bat - Écrire
setup_task_scheduler.md(instructions détaillées) - Écrire
README.mddu système - Tester le flow complet
- Setup Task Scheduler
- Premier daily check de test
Status : PLAN APPROUVÉ - Prêt pour implémentation Timeline : 1-2 heures d'implémentation + setup Priorité : HIGH (besoin discipline pour Bangkok prep)