# Release guide — LLMs.txt Suite

## 1) Versioning & tag GitHub

1. Bumper la version :
   - `llms-txt-suite.php` → `Version: x.y.z`
   - `readme.txt` → `Stable tag: x.y.z`

2. Commit :

git add llms-txt-suite.php readme.txt
git commit -m "chore: release x.y.z"

3. Tag + push :

git tag -a vx.y.z -m "Release x.y.z"
git push && git push origin vx.y.z

4. Récupérer l’artifact dans **GitHub › Actions › Build plugin zip** : `llms-txt-suite.zip`.

## 2) Vérification du ZIP
- Doit contenir : `llms-txt-suite.php`, `readme.txt`, `composer.json`, le dossier `src/`, (éventuels `languages/`, `assets/` **PNG uniquement**).
- Ne doit pas contenir : `.github/`, `tests/`, `*.md`, `*.svg`, `node_modules/`, etc. (`.distignore` fait le ménage).

## 3) Publication WordPress.org (SVN)
> À faire une fois le dépôt wp.org **approuvé** (slug : `llms-txt-suite`).

1. **Checkout SVN** :

svn co https://plugins.svn.wordpress.org/llms-txt-suite/
 svn-wp
cd svn-wp
mkdir -p trunk tags assets

2. **Copier le plugin dans `trunk/`**

Dézippe `llms-txt-suite.zip` et copie le contenu **dans `trunk/`** (pas le dossier parent).

3. **Assets wp.org**

Place les PNG dans `assets/` :
- `icon-128x128.png`, `icon-256x256.png`
- `banner-772x250.png`, `banner-1544x500.png`
- `screenshot-1.png` … `screenshot-N.png` (880×660 conseillé)

4. **Commit initial** :

svn add --force .
svn ci -m "Initial commit for x.y.z"

5. **Tagger la version** :

svn cp trunk tags/x.y.z
svn ci -m "Tag x.y.z"

6. **Vérification**

Quelques minutes après, la page du plugin affiche :
- le **readme** (Stable tag = x.y.z)
- les **assets** (icône, bannières, screenshots)
- le **zip téléchargeable** généré par wp.org

## 4) Post-release (facultatif)
- Créer une **GitHub Release** et joindre `llms-txt-suite.zip`.
- Mettre à jour `Tested up to:` si besoin après un test rapide sur la nouvelle version WP.
- Ouvrir/mettre à jour des issues pour la prochaine itération (v0.2).

## 5) Quick checklist (pré-soumission)
- [ ] `Version` (header) = `Stable tag` (readme).
- [ ] `Requires at least`, `Tested up to`, `Requires PHP` corrects.
- [ ] Pas de *notices* PHP en logs.
- [ ] `/llms.txt`, `/llms/llms.json`, `/llms/images.md` & `/llms/images.jsonld` OK.
- [ ] REST OK : `/wp-json/llms-suite/v1/index` & `/v1/images` (ETag/304).
- [ ] `composer lint` (phpcs + phpstan) OK.
- [ ] Assets PNG présents et bien nommés.
- [ ] *No trademark issue*: pas "WordPress" dans le nom, slug = `llms-txt-suite`.
