Développement¶
Structure du monorepo¶
| Paquet | Rôle |
|---|---|
@tokenflow/shared |
Schémas Zod et types : nœuds DTCG, modèle interne, diagnostics, config, charges utiles d'API. |
@tokenflow/core |
Moteur : parseur DTCG (positions source), résolveur d'alias, validateur de valeurs, mutation de document préservant le formatage. |
@tokenflow/server |
Fastify REST + WebSocket, Session, ProjectManager, surveillance chokidar, écritures atomiques avec sauvegardes tournantes. |
token-flow-manager (CLI) |
Point d'entrée npx (commander). Bundle autonome qui inline les paquets du workspace et embarque le tableau de bord compilé. |
@tokenflow/web |
Tableau de bord Angular : écran d'accueil, shell, barre latérale, tableau des variables, inspecteur, temps réel. |
Mise en place¶
pnpm install
pnpm -r --filter "./packages/*" test # tests unitaires + intégration
pnpm -r --filter "./packages/*" typecheck # TS strict partout
Ordre de compilation¶
Compilez dans l'ordre des dépendances. Le build du CLI embarque le tableau de bord
fraîchement compilé, donc @tokenflow/web doit être compilé avant
token-flow-manager :
pnpm --filter @tokenflow/shared build
pnpm --filter @tokenflow/server build
pnpm --filter @tokenflow/web build
pnpm --filter token-flow-manager build # bundle le CLI + embarque la SPA dans dist/web
Lancez sur un projet de démo, ou sans chemin pour l'écran d'accueil :
node packages/cli/dist/cli.js ./examples/basic # ouvrir un projet
node packages/cli/dist/cli.js # écran d'accueil
Application de bureau (.dmg / .app / .exe)¶
Une application de bureau native est construite avec Tauri : la fenêtre charge le
tableau de bord Angular embarqué, et un sidecar (le serveur compilé en un binaire
unique avec bun build --compile) exécute l'API.
# Nécessite la toolchain Rust (https://rustup.rs) + Bun, une seule fois.
pnpm install
pnpm desktop:build # → src-tauri/target/release/bundle/{dmg,macos}/…
Compilez sur chaque OS cible pour son installeur (.dmg sur macOS, .msi/.exe via
NSIS sur Windows, .AppImage/.deb sur Linux).
Travailler sur cette documentation¶
La documentation est construite avec Zensical. Depuis la racine du dépôt :
pnpm docs:dev # aperçu anglais avec live reload sur http://localhost:8000
pnpm docs:dev:fr # aperçu français
pnpm docs:build # construit le site statique (EN + FR) dans ./site
L'anglais est servi à la racine, le français sous /fr/. Les deux langues ont leur
propre fichier de config (zensical.toml et zensical.fr.toml) : gardez-les
synchronisés en cas de changement de réglage. Un push sur master reconstruit et
déploie automatiquement sur GitHub Pages.