Environnement de développement
Cette page explique la configuration locale de tiangong-lca-next-docs et la relation entre sa
baseline Node et le dépôt produit ../tiangong-lca-next.
Si votre travail implique aussi d'aligner la documentation sur le comportement du produit, poursuivez avec le Guide de synchronisation docs/produit.
Baseline Node
Deux baselines sont actuellement à garder en tête :
- Dépôt du site de documentation :
package.jsondéclare actuellementnode >=18.0 - Dépôt produit
../tiangong-lca-next: la baseline d'ingénierie actuelle est Node 24
Approche recommandée
Pour une maintenance légère du dépôt de documentation, Node 18+ suffit techniquement.
Si vous devez également :
- inspecter l'implémentation réelle dans
../tiangong-lca-next - basculer entre les deux dépôts
- enquêter sur la dérive entre la documentation et le comportement livré
utilisez Node 24 dans les deux dépôts pour éviter les changements de version.
Installer les dépendances
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bash
nvm install 24
nvm alias default 24
nvm use 24
npm install --no-package-lockLe dépôt ne committe actuellement aucun lock de paquet, donc npm ci ne peut pas amorcer un
checkout propre. Gardez l'installation locale sans lockfile, sauf si un changement distinct de
gouvernance des dépendances en introduit un délibérément.
Commandes courantes
Développement local
npm run startLe site local tourne normalement sur http://localhost:3000/.
Lint Markdown
npm run lintGénérer et vérifier l'index de documentation IA
npm run docs:llms
npm run docs:llms:checkdocs:llms génère static/llms.txt à partir de la documentation Docusaurus publique.
docs:llms:check confirme que l'index commité correspond toujours à la source documentaire
publique actuelle.
Vérifier le périmètre de publication
npm run docs:publication-scope:checkCette commande vérifie static/llms.txt, sidebars.ts, context7.json et build/llms.txt quand
un build existe. Elle empêche que la documentation interne d'agents, les TODO, plans, registres
d'incidents ou le matériel d'exécution de gouvernance n'entrent dans le périmètre public de
consommation IA.
Vérifier les preuves de captures d'écran docs-impact
npm run docs:screenshots:test
npm run docs:screenshots:check
npm run docs:screenshots:check -- \
--manifest /tmp/docs-impact-visual-result.json \
--diff-file /tmp/docs-impact-visual.name-statusdocs:screenshots:test exécute la suite de régression du contrat de captures. Sans manifest,
docs:screenshots:check confirme que le diff sélectionné ne contient aucun changement de captures
de documentation. Pour des preuves d'ajout, remplacement ou réutilisation, transmettez le résultat
visuel local et le diff name-status complet. Le validateur contrôle les actifs bilingues locaux à
la page, les références et textes alternatifs, l'explication proche dans chaque page linguistique,
les métadonnées 144 DPI, les hachages, les ratios et l'état du diff propre à l'action. Le
validate-visual-evidence.rb du workspace reste responsable de la validation du rapport d'accès
local 0600 utilisé par l'exception Draft access-denied.
Corriger automatiquement les problèmes Markdown lintables
npm run lint:fixVérification TypeScript
npm run typecheckBuild de production
npm run buildnpm run build exécute d'abord npm run docs:llms via prebuild, de sorte que les plateformes
hébergées qui n'invoquent que la commande de build standard publient toujours un fichier
llms.txt portant le commit du build courant.
Servir le site construit localement
npm run serveGénérer l'échafaudage de traduction
npm run write-translations -- --locale enVérification minimale pour les changements de documentation
Pour les changements de contenu public, exécutez au minimum :
npm run lint
npm run docs:screenshots:check
npm run docs:llms:check
npm run docs:publication-scope:check
npm run buildSi votre changement touche la navigation, la structure de la barre latérale, les liens ou les miroirs bilingues, revérifiez aussi :
docs/intro.mddocs/user-guide/overview.mdsidebars.ts
Notes de version
Le .github/workflows/publish-docs.yml du dépôt exécute la boucle de publication après fusion à
chaque push sur main :
- Générer et vérifier
static/llms.txt - Exécuter la vérification du périmètre de publication
- Exécuter lint, typecheck et le build Docusaurus
- Déployer sur Cloudflare Pages
- Vérifier le
/llms.txtpublic - Rafraîchir Context7 — ou laisser un suivi visible quand le secret manque ou que le rafraîchissement échoue
Le dépôt conserve aussi .github/workflows/build.yml pour la publication de versions déclenchée
par tag. Créez et poussez un tag correspondant à v* pour déclencher ce flux.
git tag
git tag v0.0.1
git push origin v0.0.1Le déploiement Cloudflare Pages dépend toujours de variables d'environnement au niveau du dépôt :
CLOUDFLARE_API_TOKENCLOUDFLARE_ACCOUNT_IDCONTEXT7_API_KEYpour le rafraîchissement automatique de Context7. S'il manque, le workflow laisse un suivi en attente.
Variable de dépôt optionnelle :
CONTEXT7_LIBRARY_NAME, par défaut sous la forme d'identifiant de bibliothèque Context7/${{ github.repository }}