Nicolas Cantu 48ade72e60 gitignore: ignore __pycache__ directories
**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.
2026-03-12 22:37:42 +01:00

ia_dev

Dépôt de pilotage par lIA 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 denvironnement IA_PROJECT.
  • Scripts : à lancer depuis la racine du dépôt du projet (ex. ./ia_dev/deploy/pousse.sh ou ./deploy/pousse.sh si deploy est un lien vers ia_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 que IA_DEV_ROOT soit correct même si deploy est un symlink vers ia_dev/deploy.
  • gitea-issues/ : ROOT = git toplevel (sinon parent de GITEA_ISSUES_DIR) ; cd "$ROOT" et export REPO_ROOT pour que les scripts Python utilisent la racine hôte pour .secrets/ et logs/ (y compris quand gitea-issues est dans ia_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.sh du projet. Le projet peut avoir deploy/deploy-by-script-to.shexec …/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 que deploy/scripts_v2/ du projet utilise cette version sans dupliquer : depuis la racine du projet, rm -rf deploy/scripts_v2/_lib puis ln -s ../../ia_dev/deploy/_lib deploy/scripts_v2/_lib (les scripts font source "$SCRIPT_DIR/_lib/…").
Description
No description provided
Readme 3.7 MiB
Languages
Shell 58%
Python 38.4%
JavaScript 3.6%