From e86a9fbb6e655ba20ea8234873c14ad2585a2067 Mon Sep 17 00:00:00 2001 From: Nicolas Cantu Date: Fri, 3 Apr 2026 19:05:28 +0200 Subject: [PATCH] refactor: rename gitea-issues to git-issues and symlink projects to monorepo - Rename directory and scripts env GIT_ISSUES_DIR; secrets path .secrets/git-issues - Rename agent git-issues-process; update docs GIT_ISSUES_SCRIPTS_AGENTS.md - Symlink projects/enso, smart_ide, builazoo to ../../projects/ when used inside smart_ide - Update project conf paths for git-issues tokens and imap bridge --- .smartIde/agents/agent-loop.md | 38 ++--- .smartIde/agents/code.md | 2 +- .smartIde/agents/docupdate.md | 12 +- .smartIde/agents/evol.md | 4 +- .smartIde/agents/fix-search.md | 2 +- .smartIde/agents/fix.md | 4 +- ...ssues-process.md => git-issues-process.md} | 40 ++--- .smartIde/rules/cloture-evolution.mdc | 2 +- .smartIde/rules/rules.mdc | 2 +- .../agent-loop-chat-iterations.sh | 20 +-- .../agent-loop-lock-acquire.sh | 14 +- .../agent-loop-lock-release.sh | 16 +- .../agent-loop-n-cycles.sh | 28 +-- .../agent-loop-retrieval-once.sh | 20 +-- .../agent-loop-stop-requested.sh | 14 +- .../agent-loop-stop.sh | 16 +- git-issues/agent-loop-treatment.sh | 52 ++++++ git-issues/agent-loop.env.example | 19 +++ {gitea-issues => git-issues}/agent-loop.sh | 38 ++--- {gitea-issues => git-issues}/comment-issue.sh | 4 +- .../create-branch-for-issue.sh | 4 +- {gitea-issues => git-issues}/get-issue.sh | 4 +- .../imap-bridge.env.example | 4 +- {gitea-issues => git-issues}/lib.sh | 30 ++-- .../list-open-issues.sh | 4 +- .../list-pending-spooler.sh | 12 +- .../mail-create-issue-from-email.py | 14 +- git-issues/mail-create-issue-from-email.sh | 14 ++ .../mail-get-thread.py | 12 +- .../mail-get-thread.sh | 12 +- .../mail-list-unread.py | 14 +- .../mail-list-unread.sh | 10 +- .../mail-mark-read.py | 10 +- git-issues/mail-mark-read.sh | 14 ++ .../mail-send-reply.py | 14 +- git-issues/mail-send-reply.sh | 14 ++ .../mail-thread-log.py | 8 +- git-issues/mail-thread-log.sh | 19 +++ {gitea-issues => git-issues}/mail-to-issue.py | 18 +- git-issues/mail-to-issue.sh | 18 ++ {gitea-issues => git-issues}/mail_common.py | 12 +- .../print-issue-prompt.sh | 6 +- .../project_config.py | 12 +- .../tickets-fetch-inbox.py | 2 +- .../tickets-fetch-inbox.sh | 14 +- {gitea-issues => git-issues}/wiki-api-test.sh | 8 +- {gitea-issues => git-issues}/wiki-get-page.sh | 6 +- .../wiki-migrate-docs.sh | 8 +- {gitea-issues => git-issues}/wiki-put-page.sh | 6 +- .../write-response-spooler.py | 2 +- git-issues/write-response-spooler.sh | 14 ++ gitea-issues/agent-loop-treatment.sh | 52 ------ gitea-issues/agent-loop.env.example | 19 --- gitea-issues/mail-create-issue-from-email.sh | 14 -- gitea-issues/mail-mark-read.sh | 14 -- gitea-issues/mail-send-reply.sh | 14 -- gitea-issues/mail-thread-log.sh | 19 --- gitea-issues/mail-to-issue.sh | 18 -- gitea-issues/write-response-spooler.sh | 14 -- projects/algo/conf.json | 4 +- projects/builazoo | 1 + projects/enso | 1 + projects/enso/conf.json | 99 ----------- projects/ia_dev/conf.json | 4 +- .../docs/GITEA_ISSUES_SCRIPTS_AGENTS.md | 160 ------------------ projects/ia_dev/docs/README.md | 2 +- projects/ia_dev/docs/TICKETS_SPOOL_FORMAT.md | 2 +- projects/lecoffreio/conf.json | 4 +- ...34128.af28dfa2.nicolas.cantu_pm.me.pending | 2 +- projects/lecoffreio/docs/Code-Standards.md | 2 +- projects/lecoffreio/docs/README.md | 2 +- projects/smart_ide | 1 + projects/smart_ide/conf.json | 52 ------ tree.txt | 4 +- 74 files changed, 441 insertions(+), 749 deletions(-) rename .smartIde/agents/{gitea-issues-process.md => git-issues-process.md} (71%) rename {gitea-issues => git-issues}/agent-loop-chat-iterations.sh (76%) rename {gitea-issues => git-issues}/agent-loop-lock-acquire.sh (70%) rename {gitea-issues => git-issues}/agent-loop-lock-release.sh (58%) rename {gitea-issues => git-issues}/agent-loop-n-cycles.sh (50%) rename {gitea-issues => git-issues}/agent-loop-retrieval-once.sh (71%) rename {gitea-issues => git-issues}/agent-loop-stop-requested.sh (51%) rename {gitea-issues => git-issues}/agent-loop-stop.sh (58%) create mode 100755 git-issues/agent-loop-treatment.sh create mode 100644 git-issues/agent-loop.env.example rename {gitea-issues => git-issues}/agent-loop.sh (61%) rename {gitea-issues => git-issues}/comment-issue.sh (91%) rename {gitea-issues => git-issues}/create-branch-for-issue.sh (89%) rename {gitea-issues => git-issues}/get-issue.sh (88%) rename {gitea-issues => git-issues}/imap-bridge.env.example (89%) rename {gitea-issues => git-issues}/lib.sh (79%) rename {gitea-issues => git-issues}/list-open-issues.sh (87%) rename {gitea-issues => git-issues}/list-pending-spooler.sh (70%) rename {gitea-issues => git-issues}/mail-create-issue-from-email.py (84%) create mode 100755 git-issues/mail-create-issue-from-email.sh rename {gitea-issues => git-issues}/mail-get-thread.py (93%) rename {gitea-issues => git-issues}/mail-get-thread.sh (53%) rename {gitea-issues => git-issues}/mail-list-unread.py (83%) rename {gitea-issues => git-issues}/mail-list-unread.sh (58%) rename {gitea-issues => git-issues}/mail-mark-read.py (72%) create mode 100755 git-issues/mail-mark-read.sh rename {gitea-issues => git-issues}/mail-send-reply.py (80%) create mode 100755 git-issues/mail-send-reply.sh rename {gitea-issues => git-issues}/mail-thread-log.py (98%) create mode 100755 git-issues/mail-thread-log.sh rename {gitea-issues => git-issues}/mail-to-issue.py (83%) create mode 100755 git-issues/mail-to-issue.sh rename {gitea-issues => git-issues}/mail_common.py (91%) rename {gitea-issues => git-issues}/print-issue-prompt.sh (78%) rename {gitea-issues => git-issues}/project_config.py (95%) rename {gitea-issues => git-issues}/tickets-fetch-inbox.py (99%) rename {gitea-issues => git-issues}/tickets-fetch-inbox.sh (57%) rename {gitea-issues => git-issues}/wiki-api-test.sh (90%) rename {gitea-issues => git-issues}/wiki-get-page.sh (81%) rename {gitea-issues => git-issues}/wiki-migrate-docs.sh (93%) rename {gitea-issues => git-issues}/wiki-put-page.sh (88%) rename {gitea-issues => git-issues}/write-response-spooler.py (94%) create mode 100755 git-issues/write-response-spooler.sh delete mode 100755 gitea-issues/agent-loop-treatment.sh delete mode 100644 gitea-issues/agent-loop.env.example delete mode 100755 gitea-issues/mail-create-issue-from-email.sh delete mode 100755 gitea-issues/mail-mark-read.sh delete mode 100755 gitea-issues/mail-send-reply.sh delete mode 100755 gitea-issues/mail-thread-log.sh delete mode 100755 gitea-issues/mail-to-issue.sh delete mode 100755 gitea-issues/write-response-spooler.sh create mode 120000 projects/builazoo create mode 120000 projects/enso delete mode 100644 projects/enso/conf.json delete mode 100644 projects/ia_dev/docs/GITEA_ISSUES_SCRIPTS_AGENTS.md create mode 120000 projects/smart_ide delete mode 100644 projects/smart_ide/conf.json diff --git a/.smartIde/agents/agent-loop.md b/.smartIde/agents/agent-loop.md index 497c655..34909fc 100644 --- a/.smartIde/agents/agent-loop.md +++ b/.smartIde/agents/agent-loop.md @@ -1,6 +1,6 @@ --- name: agent-loop -description: Orchestre la boucle de récupération des mails et le traitement par gitea-issues-process. Paramètre /agent-loop = nombre de boucles (1 min chacune), pas des secondes. Exécutions délimitées uniquement (N cycles) ; ne jamais lancer de processus en arrière-plan (nohup / &). +description: Orchestre la boucle de récupération des mails et le traitement par git-issues-process. Paramètre /agent-loop = nombre de boucles (1 min chacune), pas des secondes. Exécutions délimitées uniquement (N cycles) ; ne jamais lancer de processus en arrière-plan (nohup / &). model: inherit is_background: false --- @@ -35,19 +35,19 @@ En tant qu'agent, avant de solliciter l'ia, regarde ce que tu peux scripter (imp **Horodatage** : au début et à la fin d'exécution, afficher date/heure, projet (id), branche, répertoire de travail du dépôt concerné. -Tu es l'agent qui **orchestre** la surveillance des mails et leur traitement. Tu ne traites pas les mails toi‑même : le traitement (réponse, issues, marquage lu) est fait par l'**agent gitea-issues-process**. Tu lances les scripts et/ou les sous-agents selon la demande. +Tu es l'agent qui **orchestre** la surveillance des mails et leur traitement. Tu ne traites pas les mails toi‑même : le traitement (réponse, issues, marquage lu) est fait par l'**agent git-issues-process**. Tu lances les scripts et/ou les sous-agents selon la demande. **Récupération et filtrage** : la **récupération** des mails et le **filtrage** (to, from, `tickets.authorized_emails`, date) sont assurés par le **script** `tickets-fetch-inbox.sh` (qui appelle le Python associé). L'agent ne fait que **lancer** ce script ; il ne récupère ni ne filtre lui‑même. Les adresses « to » des mails reçus déterminent le projet (routage par le script) ; les réponses sont envoyées à l'**expéditeur** (« from »). Aucune adresse n'est fixée en dur. **Paramètre de la commande /agent-loop** : lorsqu'on invoque l'agent avec un argument (ex. `/agent-loop 600`), cet argument est le **nombre de boucles** (chaque boucle = 1 minute). Ce n'est **pas** un intervalle en secondes. Ex. `/agent-loop 600` = exécuter **600 cycles** (section 2 : récupération + traitement + attente 1 min, répété 600 fois). Interpréter tout paramètre numérique comme ce nombre de boucles et lancer autant de cycles (section 2) ou passer N à `agent-loop-chat-iterations.sh [N]` (section 3). -**Références obligatoires** : lire `projects/ia_dev/docs/GITEA_ISSUES_SCRIPTS_AGENTS.md` (contexte d'exécution). Usage standalone : tous les scripts sont invoqués depuis la **racine de ia_dev** : `./gitea-issues/