Conventions Studio (Standard TinyCorn Studio)
Applicable à tous les dépôts/outils du studio, de l'initialisation à la maintenance.
Langue
- Communication avec l'utilisateur : vietnamien.
- Code, identifiants, messages de commit, noms de branches : anglais.
- README, CHANGELOG, notes de version : vietnamien.
Structure minimale du dépôt
<repo>/
├── README.md # obligatoire
├── CHANGELOG.md # obligatoire (Keep a Changelog)
├── LICENSE # généralement MIT
└── .gitignore # obligatoire
Le README.md doit contenir les sections suivantes
- Introduction (1–2 phrases, ce que fait l'outil, pour qui)
- Prérequis système
- Build / Exécution
- Fonctionnalités principales (par groupe)
- Raccourcis (si interface utilisateur)
- Architecture / Structure des répertoires
- Configuration (UserDefaults, variables d'environnement, fichier de configuration...)
- Limitations connues
- Historique des versions (résumé, détails dans CHANGELOG)
- Téléchargement (lien vers la dernière GitHub Release — ne pas inclure les fichiers d'installation dans le dépôt)
Git
.gitignoreminimal :.build/,dist/,node_modules/,.DS_Store, répertoires de ressources générées automatiquement lors du build.- Ne pas commiter : fichiers d'installation (DMG/ZIP), sorties de build, secrets/tokens.
- Messages de commit : une ligne, impératif, en anglais, description complète de la fonctionnalité/correction. Exemple :
Add folder view to Changes tab. - Commiter par fonctionnalité complète ; ne commiter que lorsque l'utilisateur le demande ou qu'une fonctionnalité est terminée et approuvée.
- Branches :
maintoujours en état publiable ; les fonctionnalités sont développées sur des branches séparées, fusionnées avec--ff-onlyune fois terminées. - Version : SemVer, déclarée à un seul endroit (par ex.
VERSIONdansmake-app.sh), pas dispersée dans plusieurs fichiers.
Documentation
- README + CHANGELOG mis à jour en même temps que la fonctionnalité (pas après).
- Chaque version comporte : un tag annoté
vX.Y.Z+ une GitHub Release avec des notes de version en vietnamien (voir la compétencerelease-flow). - Les décisions de conception complexes sont notées directement dans le code ou dans le README, section « Architecture ».
Qualité
- Avant de signaler une tâche comme terminée : builder/tester à nouveau, vérifier avec des données réelles ou dans un bac à sable (sandbox).
- Interface utilisateur : prévisualiser avant d'appliquer (voir la compétence
ui-preview-first). - Ne pas tester d'écriture/commit sur les données réelles de l'utilisateur — utiliser une copie dans un bac à sable.
- Une fois les tests terminés, nettoyer le bac à sable/les fichiers temporaires, ne pas laisser de déchets dans le dépôt.
Checklist pour un nouveau dépôt
-
git init+.gitignorestandard - README selon la structure ci-dessus
- CHANGELOG avec une entrée
[0.1.0] - LICENSE (MIT)
- Script de build (make-app.sh ou équivalent) + DMG/installateur
- Dépôt distant GitHub + push de
main - Première version avec fichier d'installation
- La compétence
release-flowest connue pour les versions suivantes