[agent:surfer] init template AI-ready : WORKFLOW, AGENTS, AI_CONTEXT, Sphinx, scripts
Some checks failed
Build Sphinx docs / build (push) Has been cancelled
Some checks failed
Build Sphinx docs / build (push) Has been cancelled
This commit is contained in:
24
.gitea/AGENTS.md
Normal file
24
.gitea/AGENTS.md
Normal file
@@ -0,0 +1,24 @@
|
||||
# AGENTS — Identités et permissions
|
||||
|
||||
## Comptes Gitea actifs
|
||||
|
||||
| Username | Rôle | Périmètre |
|
||||
|---|---|---|
|
||||
| `floppyrj45` | Admin / Owner | Tous les repos, valide les PR sur `main` |
|
||||
| `agent-surfer` | Agent principal OpenClaw | Tous les repos du Labo |
|
||||
| `agent-watcher` | Gitea watcher / CI | Lecture + commentaires issues |
|
||||
| `agent-claude-cli` | Claude Code CLI local | Repos assignés par Flag |
|
||||
| `agent-codex` | Codex / OpenCode | Repos assignés par Flag |
|
||||
|
||||
## Créer un nouveau compte agent
|
||||
|
||||
```bash
|
||||
./scripts/gitea-agent-setup.sh <nom-agent>
|
||||
```
|
||||
|
||||
Le script crée le compte Gitea, génère un token, et l'ajoute à `~/.agent-gitea-tokens`.
|
||||
|
||||
## Règle de moindre privilège
|
||||
|
||||
Un agent ne touche qu'aux repos explicitement listés dans `AI_CONTEXT.md` de chaque projet.
|
||||
Il ne lit pas, ne fork pas, ne clone pas les repos hors de son périmètre.
|
||||
54
.gitea/WORKFLOW.md
Normal file
54
.gitea/WORKFLOW.md
Normal file
@@ -0,0 +1,54 @@
|
||||
# WORKFLOW — Règles Git multi-agent
|
||||
|
||||
## Branches
|
||||
|
||||
| Branche | Usage | Qui push |
|
||||
|---|---|---|
|
||||
| `main` | Production stable | Flag uniquement (via PR) |
|
||||
| `develop` | Intégration continue | Agents via PR |
|
||||
| `feat/<agent>/<desc>` | Nouvelle fonctionnalité | Agent concerné |
|
||||
| `fix/<agent>/<desc>` | Correction de bug | Agent concerné |
|
||||
| `chore/<agent>/<desc>` | Maintenance, docs, config | Agent concerné |
|
||||
|
||||
**Jamais de push direct sur `main` ou `develop`.** Toujours via Pull Request.
|
||||
|
||||
## Format de commit
|
||||
|
||||
```
|
||||
[agent:<nom>] <verbe> <description courte>
|
||||
```
|
||||
|
||||
Exemples :
|
||||
- `[agent:surfer] ajout endpoint /mission pour dashboard`
|
||||
- `[agent:claude-cli] fix calcul distance waypoints`
|
||||
- `[flag] merge feat/surfer/telemetry-endpoint`
|
||||
|
||||
Le nom d'agent doit correspondre à un compte Gitea listé dans `AGENTS.md`.
|
||||
|
||||
## Pull Requests
|
||||
|
||||
- Titre : `[agent:<nom>] <description>`
|
||||
- Body : utiliser le template `.gitea/pull_request_template.md`
|
||||
- Reviewer : `floppyrj45` (Flag) pour toute PR vers `main`
|
||||
- PR vers `develop` : peut être mergée par un autre agent si les checks passent
|
||||
|
||||
## Issues
|
||||
|
||||
- Ouvrir une issue avant tout travail non trivial
|
||||
- Assigner l'agent qui prend en charge
|
||||
- Labels : `bug`, `feat`, `chore`, `blocked`, `agent:<nom>`
|
||||
|
||||
## Protection de branche
|
||||
|
||||
- `main` : PR obligatoire, 1 approbation humaine minimum
|
||||
- `develop` : PR obligatoire, checks CI requis
|
||||
|
||||
## Identité Git locale (agents)
|
||||
|
||||
Chaque agent configure :
|
||||
```bash
|
||||
git config user.name "agent-<nom>"
|
||||
git config user.email "agent-<nom>@labo.local"
|
||||
```
|
||||
|
||||
Token d'authentification : voir `~/.agent-gitea-tokens` sur `.82`, ou demander via `gitea-agent-setup.sh`.
|
||||
25
.gitea/pull_request_template.md
Normal file
25
.gitea/pull_request_template.md
Normal file
@@ -0,0 +1,25 @@
|
||||
## Résumé
|
||||
|
||||
<!-- Une phrase sur ce que cette PR fait -->
|
||||
|
||||
## Type de changement
|
||||
|
||||
- [ ] `feat` — nouvelle fonctionnalité
|
||||
- [ ] `fix` — correction de bug
|
||||
- [ ] `chore` — maintenance / docs / config
|
||||
- [ ] `refactor` — refactoring sans changement de comportement
|
||||
|
||||
## Agent / Auteur
|
||||
|
||||
`agent:` <!-- ex: surfer, claude-cli, flag -->
|
||||
|
||||
## Checklist
|
||||
|
||||
- [ ] Code testé localement
|
||||
- [ ] Docs mises à jour si besoin (`docs/`)
|
||||
- [ ] Pas de secret en clair dans le diff
|
||||
- [ ] Commit messages au format `[agent:<nom>] verbe description`
|
||||
|
||||
## Contexte
|
||||
|
||||
<!-- Lien vers l'issue, la tâche, ou le livrable concerné -->
|
||||
23
.gitea/workflows/docs.yml
Normal file
23
.gitea/workflows/docs.yml
Normal file
@@ -0,0 +1,23 @@
|
||||
name: Build Sphinx docs
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [main, develop]
|
||||
paths: ['docs/**']
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: actions/setup-python@v5
|
||||
with:
|
||||
python-version: '3.11'
|
||||
- run: pip install sphinx sphinx-rtd-theme myst-parser
|
||||
- run: make -C docs html
|
||||
- name: Deploy docs
|
||||
run: |
|
||||
rsync -avz --delete docs/_build/html/ \
|
||||
floppyrj45@192.168.0.82:/srv/www/${REPO_NAME}-docs/
|
||||
env:
|
||||
REPO_NAME: ${{ github.event.repository.name }}
|
||||
Reference in New Issue
Block a user