**Etat initial:** - gitea-issues/__pycache__/ was untracked; risk of committing generated Python bytecode. **Motivation du changement:** - Keep repository clean and avoid committing __pycache__. **Résolution:** - Added **/__pycache__/ to .gitignore. **Root cause:** - Python creates __pycache__ when running; no global ignore was set. **Fonctionnalités impactées:** - None. **Code modifié:** - .gitignore **Documentation modifiée:** - None. **Configurations modifiées:** - .gitignore **Fichiers dans déploy modifiés:** - None. **Fichiers dans logs impactés:** - None. **Bases de données et autres sources modifiées:** - None. **Modifications hors projet:** - None. **fichiers dans .cursor/ modifiés:** - None. **fichiers dans .secrets/ modifiés:** - None. **nouvelle sous sous version dans VERSION:** - N/A (no VERSION file in project). **CHANGELOG.md mise à jour (oui/non):** - Non.
ia_dev
Dépôt de pilotage par l’IA pour les projets (règles, agents, scripts de déploiement et de push).
Principe : le projet hôte ne doit avoir aucune dépendance vers ia_dev (aucun script du projet n'appelle ia_dev). Seul ia_dev, en fonction du paramétrage (.ia_project, ai_project_id, projects/<id>/conf.json), sollicite le projet (lecture de la config, appel de deploy/scripts_v2/deploy.sh, etc.).
Usage
- En submodule : ce dépôt est inclus comme sous-module Git dans chaque projet. Les paramètres spécifiques au projet sont dans
projects/<slug>.json. Le projet hôte définit le slug par le fichier.ia_projectà la racine ou par la variable d’environnementIA_PROJECT. - Scripts : à lancer depuis la racine du dépôt du projet (ex.
./ia_dev/deploy/pousse.shou./deploy/pousse.shsideployest un lien versia_dev/deploy).
Voir projects/README.md pour le schéma de configuration et les exemples.
Répertoires d'exécution
Les scripts sont invoqués depuis la racine du dépôt hôte. Ils s'y placent (ou s'y ré-exécutent) avant de continuer.
- deploy/ :
PROJECT_ROOT= git toplevel ; ré-exécution depuis la racine si besoin. Chemin du script résolu (readlink -f/realpath) pour queIA_DEV_ROOTsoit correct même sideployest un symlink versia_dev/deploy. - gitea-issues/ :
ROOT= git toplevel (sinon parent deGITEA_ISSUES_DIR) ;cd "$ROOT"etexport REPO_ROOTpour que les scripts Python utilisent la racine hôte pour.secrets/etlogs/(y compris quand gitea-issues est dansia_dev/gitea-issues).
Scripts centralisés (submodule)
Les scripts suivants sont centralisés dans ia_dev/deploy/. Le projet n'a pas à fournir de wrapper (pour rester sans dépendance vers ia_dev) ; on invoque depuis la racine : ./ia_dev/deploy/bump-version.sh, ./ia_dev/deploy/pousse.sh, etc.
- bump-version.sh : lecture de
projects/<id>/conf.json(version.package_json_paths, version.splash_app_name). Invocation :./ia_dev/deploy/bump-version.sh <version> [message]depuis la racine du dépôt. - deploy-by-script-to.sh : enchaîne change-to-all-branches (ia_dev/deploy), puis checkout/pull/deploy via
deploy/scripts_v2/deploy.shdu projet. Le projet peut avoirdeploy/deploy-by-script-to.sh→exec …/ia_dev/deploy/deploy-by-script-to.sh "$@". - deploy/_lib/ : bibliothèque partagée pour les scripts de déploiement (
colors.sh,env-map.sh,ssh.sh,git-flow.sh). Copie centralisée dans le submodule. Pour quedeploy/scripts_v2/du projet utilise cette version sans dupliquer : depuis la racine du projet,rm -rf deploy/scripts_v2/_libpuisln -s ../../ia_dev/deploy/_lib deploy/scripts_v2/_lib(les scripts fontsource "$SCRIPT_DIR/_lib/…").