import json, os from trilium_api import create_note, get_note_id, set_label, find_note_by_title, update_note_content with open(os.path.expanduser('~/App/Context_continuity/trilium_ids.json')) as f: ids = json.load(f) res = create_note(ids['root'], 'README - Workflow Context Continuity') nid = get_note_id(res) set_label(nid, 'type', 'documentation') content = ( '

README - Workflow Context Continuity

' '

Systeme de gestion du contexte multi-LLM (Claude + Le Chat) via Trilium comme base pivot.
' 'Permet de basculer entre les deux LLMs sans perdre le fil du projet.

' '

Prerequis

' '
'
    'cd ~/App/Context_continuity\n'
    'source venv/bin/activate'
    '
' '

ETAPE 1 - Debut de session : creer la conversation

' '

Au debut de chaque session de travail avec un LLM, enregistre-la dans Trilium :

' '
python trilium_context.py new-conversation \\\n'
    '  --projet SlidingAutomation \\\n'
    '  --llm "Claude Sonnet" \\\n'
    '  --titre "Description courte de ce que tu vas faire"
' '

Note l ID retourne — tu en auras besoin a la fin de la session.
' 'Exemple de retour : Note l ID pour close-session : Igaa5BBIfNMw

' '

ETAPE 2 - Recuperer le contexte existant (optionnel)

' '

Si tu reprends un projet en cours, genere le briefing depuis la derniere session :

' '
python trilium_context.py generate-context \\\n'
    '  --projet SlidingAutomation \\\n'
    '  --llm-cible "Claude Sonnet" \\\n'
    '  --note-id ID_DERNIERE_CONV \\\n'
    '  --version N
' '

Le briefing est imprime dans le terminal.
' 'Copie-colle le texte imprime en debut de nouvelle session LLM.
' 'Le LLM confirmera sa comprehension en 3 lignes (objectif / prochaine action / incertitude).

' '

Pour trouver l ID de la derniere conversation :
' 'Dans Trilium : Context Continuity > Conversations > chercher la plus recente.
' 'Ou via terminal :

' '
python trilium_context.py list-projects
' '

ETAPE 3 - Pendant la session : capitaliser au fil de l eau

' '

Ne pas attendre la fin — enregistre les informations importantes au fur et a mesure :

' '
# Une decision est prise\n'
    'python trilium_context.py add-decision \\\n'
    '  --projet SlidingAutomation \\\n'
    '  --enonce "On fait X plutot que Y" \\\n'
    '  --justification "Parce que Z"\n\n'
    '# Un test a ete effectue\n'
    'python trilium_context.py add-history \\\n'
    '  --projet SlidingAutomation \\\n'
    '  --type "Test effectue" \\\n'
    '  --enonce "Test de X" \\\n'
    '  --detail "Resultat : Y"\n\n'
    '# Une contrainte est decouverte\n'
    'python trilium_context.py add-history \\\n'
    '  --projet SlidingAutomation \\\n'
    '  --type "Contrainte decouverte" \\\n'
    '  --enonce "X ne fonctionne pas sur Python 3.9" \\\n'
    '  --detail "Utiliser Y a la place"
' '

ETAPE 4 - Limite de tokens approche : cloturer la session

' '

Signes que la limite approche : le LLM repete des choses deja dites, oublie une contrainte, ' 'ses reponses deviennent moins precises.
' 'Action : demande au LLM actuel :

' '
Fais-moi une synthese de cloture en 200 mots :\n'
    'ou on en est, ce qui reste a faire, les blocages eventuels.
' '

Puis enregistre cette synthese :

' '
python trilium_context.py close-session \\\n'
    '  --note-id ID_CONV_ACTUELLE \\\n'
    '  --summary "COLLE ICI LA SYNTHESE DU LLM"
' '

ETAPE 5 - Generer le briefing de reprise

' '
python trilium_context.py generate-context \\\n'
    '  --projet SlidingAutomation \\\n'
    '  --llm-cible "Le Chat Large" \\\n'
    '  --note-id ID_CONV_ACTUELLE \\\n'
    '  --version N
' '

Le terminal imprime le briefing complet.
' 'Une note "Contexte Reprise" est aussi creee automatiquement dans Trilium.

' '

ETAPE 6 - Basculer vers le second LLM

' '
    ' '
  1. Ouvre une nouvelle session sur l autre LLM (Claude ou Le Chat)
  2. ' '
  3. Cree la nouvelle conversation dans Trilium :
    ' '
    python trilium_context.py new-conversation \\\n'
        '  --projet SlidingAutomation \\\n'
        '  --llm "Le Chat Large" \\\n'
        '  --titre "Suite - description"
  4. ' '
  5. Copie-colle le briefing imprime a l etape 5 en premier message de la nouvelle session
  6. ' '
  7. Le LLM confirme en 3 lignes — verifie qu il a bien compris avant de continuer
  8. ' '
  9. Reprends le travail depuis le backlog actif
  10. ' '
' '

ETAPE 7 - Voir l etat du projet a tout moment

' '
# Backlog actif\n'
    'python trilium_context.py list-backlog --projet SlidingAutomation\n\n'
    '# Liste des projets\n'
    'python trilium_context.py list-projects
' '

Resume visuel du cycle

' '
'
    'DEBUT SESSION\n'
    '     |\n'
    '     v\n'
    'new-conversation  (note l ID)\n'
    '     |\n'
    '     v\n'
    'generate-context  (si reprise) --> coller dans LLM\n'
    '     |\n'
    '     v\n'
    'TRAVAILLER\n'
    'add-decision / add-history au fil de l eau\n'
    '     |\n'
    '     v  (limite approche)\n'
    'Demander synthese au LLM\n'
    '     |\n'
    '     v\n'
    'close-session  (coller la synthese)\n'
    '     |\n'
    '     v\n'
    'generate-context  --> briefing imprime\n'
    '     |\n'
    '     v\n'
    'new-conversation  (sur l autre LLM)\n'
    'Coller le briefing --> LLM confirme en 3 lignes\n'
    '     |\n'
    '     v\n'
    'REPRENDRE LE TRAVAIL'
    '
' '

Fichiers du systeme

' '' '' '' '' '' '' '' '' '
FichierRole
trilium_api.pyWrapper API Trilium (ne pas modifier)
trilium_init.pyInitialisation arborescence (une seule fois)
trilium_context.pyScript principal du workflow quotidien
trilium_logger.pyIntegration pipeline Sliding Automation
trilium_ids.jsonIDs des dossiers Trilium (genere par init)
.envToken ETAPI et URL Trilium (ne pas commiter)
' '

Skills disponibles dans Trilium

' '

Context Continuity > Skills > Skill - API Trilium ETAPI
' 'Contient les patterns API, erreurs connues et fixes pour TriliumNext 0.95+

' ) update_note_content(nid, content) print('README cree:', nid)