Aligner les règles agent sur le modèle entreprise/projet/ops.
Conserve les conventions Inscription sous projet/ et ajoute ops Git/deploy. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
21
.cursor/rules/entreprise/00-checklist-nouveau-projet.mdc
Normal file
21
.cursor/rules/entreprise/00-checklist-nouveau-projet.mdc
Normal file
@ -0,0 +1,21 @@
|
||||
---
|
||||
description: Checklist agent — monter un nouveau projet sur le modèle Progiweb
|
||||
alwaysApply: true
|
||||
---
|
||||
|
||||
# Checklist nouveau projet (agent)
|
||||
|
||||
Quand l'utilisateur demande de reproduire le modèle Reader / Inscription / CRM :
|
||||
|
||||
1. Créer la structure `.cursor/rules/{entreprise,projet,ops}/` (copier `entreprise/` depuis un projet déjà aligné).
|
||||
2. Remplir `ops/20-parametres.mdc` (URLs Gitea, Bitbucket, chemins serveur, webhook, SSH).
|
||||
3. Remplir `ops/20-git-deploy-playbook.mdc` (layout git root : `$HOME` vs `public_html`).
|
||||
4. Remplir `projet/` (stack, conventions, préfixe JIRA).
|
||||
5. Windows : remote Gitea, branche `dev`, `.gitignore` secrets / runtime.
|
||||
6. Versionner `deploy_dev.php` au bon endroit (docroot) **avant** d'activer le webhook.
|
||||
7. Serveur : `~/deploy/deploy_dev.sh` (chemins absolus), git init/fetch sur le bon root, tester `curl` webhook.
|
||||
8. Gitea : webhook push → URL `deploy_dev.php` ; miroir Bitbucket avec sync **à chaque soumission** + intervalle filet (ex. `1h`).
|
||||
9. Test bout en bout : push `dev` → commit visible sur Gitea, serveur, Bitbucket.
|
||||
10. Secrets uniquement dans 1Password (référencer le titre de l'item dans `ops/20-parametres.mdc`).
|
||||
|
||||
Ne pas inventer Bitbucket SSH sur le serveur : le serveur tire depuis Gitea local (`127.0.0.1:3000`) en général.
|
||||
43
.cursor/rules/entreprise/00-git-modele.mdc
Normal file
43
.cursor/rules/entreprise/00-git-modele.mdc
Normal file
@ -0,0 +1,43 @@
|
||||
---
|
||||
description: Progiweb — modèle Git / Gitea / Bitbucket / serveur (entreprise)
|
||||
alwaysApply: true
|
||||
---
|
||||
|
||||
# Modèle Git entreprise (Progiweb)
|
||||
|
||||
Référentiel agent. Détails par projet → `ops/20-parametres.mdc` et `ops/20-git-deploy-playbook.mdc`.
|
||||
|
||||
## Rôles
|
||||
|
||||
| Système | Rôle |
|
||||
|---|---|
|
||||
| **Gitea** (`git.progiweb.ca`) | Source de vérité — push depuis Windows |
|
||||
| **Bitbucket** | Miroir / backup opérationnel hors serveurs |
|
||||
| **Serveur (cPanel)** | Déploiement uniquement — **jamais** de commits sur le serveur |
|
||||
|
||||
## Branches
|
||||
|
||||
- Travail quotidien : **`dev`**
|
||||
- Prod : **`master`** (quand le projet l'utilise ; ne pas inventer le flux prod)
|
||||
- Ne pas pousser `master` sans demande explicite
|
||||
|
||||
## Flux nominal
|
||||
|
||||
```
|
||||
Windows --push--> Gitea(dev) --webhook--> serveur (deploy_dev)
|
||||
|
|
||||
+--miroir push--> Bitbucket(dev)
|
||||
```
|
||||
|
||||
## Déploiement (règles absolues)
|
||||
|
||||
- Script shell hors webroot : typiquement `~/deploy/deploy_dev.sh`
|
||||
- Déclencheur versionné dans le **docroot** : `deploy_dev.php` (sinon `git clean -fd` le détruit)
|
||||
- Le script fait : `git fetch` → `git reset --hard FETCH_HEAD` → `git clean` **ciblé** (jamais un clean aveugle sur tout le home cPanel)
|
||||
- Via PHP/Apache, **`HOME` est souvent absent** → chemins **absolus** dans le `.sh`
|
||||
- Auth Gitea Windows : token (éviter OAuth HTTP « Bad Request »)
|
||||
- Auth miroir Bitbucket : user `x-token-auth` + Repository Access Token (1Password) — pas le mot de passe web
|
||||
|
||||
## Nouveau projet
|
||||
|
||||
Suivre `entreprise/00-checklist-nouveau-projet.mdc` et recopier `entreprise/` + remplir `ops/` + `projet/`.
|
||||
30
.cursor/rules/entreprise/00-workflow.mdc
Normal file
30
.cursor/rules/entreprise/00-workflow.mdc
Normal file
@ -0,0 +1,30 @@
|
||||
---
|
||||
description: Progiweb — workflow agent (entreprise). Toujours s'y référer.
|
||||
alwaysApply: true
|
||||
---
|
||||
|
||||
# Workflow entreprise (Progiweb)
|
||||
|
||||
Référentiel agent — pas une doc humaine. S'appliquer à tous les projets Progiweb montés sur ce modèle.
|
||||
|
||||
## Avant de modifier du code
|
||||
|
||||
- Demander le **numéro JIRA** si l'utilisateur ne l'a pas fourni (préfixe selon le projet, voir `projet/`).
|
||||
- Ne pas bloquer une simple question ou une lecture seule.
|
||||
|
||||
## Portée
|
||||
|
||||
- **Changement minimal** : uniquement ce qui est demandé.
|
||||
- Pas de refactor large, renommage massif ou nettoyage opportuniste sans accord explicite.
|
||||
- Cohérence locale (fichier / module) plutôt que modernisation globale.
|
||||
|
||||
## Incohérences voisines
|
||||
|
||||
1. Signaler brièvement.
|
||||
2. Proposer une correction ciblée.
|
||||
3. Attendre confirmation avant de sortir du périmètre.
|
||||
|
||||
## Fin de tâche
|
||||
|
||||
- Résumer : quoi, où, déploiement / SQL / étapes manuelles restantes.
|
||||
- Ne pas créer de README ou docs hors demande explicite (les règles agent vivent dans `.cursor/rules/`).
|
||||
23
.cursor/rules/ops/20-git-deploy-playbook.mdc
Normal file
23
.cursor/rules/ops/20-git-deploy-playbook.mdc
Normal file
@ -0,0 +1,23 @@
|
||||
---
|
||||
description: MS1 Inscription — playbook Git/deploy (ops)
|
||||
alwaysApply: true
|
||||
---
|
||||
|
||||
# Playbook Git / deploy — MS1 Inscription
|
||||
|
||||
## Layout
|
||||
|
||||
- Le dépôt Git **est** le site (racine web = racine git), modèle historique MS1.
|
||||
- Différent de Reader (git root = `$HOME` avec `ci4app` + `public_html` frères).
|
||||
|
||||
## Deploy
|
||||
|
||||
1. `~/deploy/deploy_dev.sh` : fetch `dev` → reset --hard → clean (adapter les chemins au docroot Inscription).
|
||||
2. `deploy_dev.php` versionné à la racine — obligatoire avant webhook (sinon `git clean` l'efface).
|
||||
3. Chemins absolus dans le `.sh` (PHP sans `HOME`).
|
||||
|
||||
## À vérifier / aligner si besoin
|
||||
|
||||
- Miroir Bitbucket : case « Synchroniser quand les révisions sont soumis » + intervalle `1h`.
|
||||
- Webhook Gitea → URL HTTPS du `deploy_dev.php` d'environnement dev.
|
||||
- Même philosophie entreprise que Reader (voir `entreprise/00-git-modele.mdc`).
|
||||
41
.cursor/rules/ops/20-parametres.mdc
Normal file
41
.cursor/rules/ops/20-parametres.mdc
Normal file
@ -0,0 +1,41 @@
|
||||
---
|
||||
description: MS1 Inscription — paramètres figés (ops)
|
||||
alwaysApply: true
|
||||
---
|
||||
|
||||
# Paramètres — MS1 Inscription
|
||||
|
||||
Secrets → 1Password uniquement.
|
||||
|
||||
## Git / remotes
|
||||
|
||||
| Clé | Valeur |
|
||||
|---|---|
|
||||
| Gitea (Windows) | `http://git.progiweb.ca/stephan/ms1inscription-v5.git` |
|
||||
| Branche travail | `dev` |
|
||||
| Branche prod | `master` |
|
||||
| Bitbucket miroir | `https://bitbucket.org/progiwebinc/ms1inscription-v5.git` |
|
||||
|
||||
## Miroir
|
||||
|
||||
| Clé | Valeur |
|
||||
|---|---|
|
||||
| Modèle | Comme Reader : sync **à chaque soumission** + intervalle filet (ex. `1h`) |
|
||||
| Auth Bitbucket | `x-token-auth` + access token (item 1Password dédié Inscription si distinct) |
|
||||
|
||||
## Déploiement
|
||||
|
||||
| Clé | Valeur |
|
||||
|---|---|
|
||||
| User / home typique | `devinscription` / `/home/devinscription` |
|
||||
| Git root serveur | **Docroot du site** (pas le home entier — layout ≠ Reader) |
|
||||
| Script | `/home/devinscription/deploy/deploy_dev.sh` |
|
||||
| Webhook PHP | `deploy_dev.php` à la **racine du dépôt** (versionné) |
|
||||
| Contenu PHP | `shell_exec('/home/devinscription/deploy/deploy_dev.sh 2>&1')` |
|
||||
|
||||
## SSH / SQLTools
|
||||
|
||||
| Clé | Valeur |
|
||||
|---|---|
|
||||
| Port SSH | **7822** |
|
||||
| Exemple | `.vscode/settings.json.example` |
|
||||
11
.cursor/rules/projet/10-stack.mdc
Normal file
11
.cursor/rules/projet/10-stack.mdc
Normal file
@ -0,0 +1,11 @@
|
||||
---
|
||||
description: MS1 Inscription — stack et préfixe JIRA (projet)
|
||||
alwaysApply: true
|
||||
---
|
||||
|
||||
# Projet MS1 Inscription — stack
|
||||
|
||||
- Stack : PHP legacy (racine / `php/` / `superadm/`) + modules CI4 optionnels (`v3_ci4/`).
|
||||
- Préfixe JIRA : **`MSIN-xxxx`**.
|
||||
- Scripts SQL : `sql/MSIN-xxxx-description-courte.sql`.
|
||||
- Workspace local typique : `C:\dev_v4\ms1inscription4`.
|
||||
Reference in New Issue
Block a user