Files
core/docs/DEV.md
T
hykocx 2017f9791b docs: remove zen-setup CLI and simplify installation guide
- Remove `zen-setup` binary from package.json and package-lock.json
- Replace manual setup steps with `npx @zen/start` CLI command
- Simplify INSTALL.md by reducing steps from 6 to 4
- Update DEV.md to reflect removal of zen-setup from CLI scripts
- Fix relative path to `.env.example` in documentation
2026-04-12 17:07:33 -04:00

115 lines
2.5 KiB
Markdown

# DEV
## Standards
On suit ces deux guides :
- [GUIDE.md](./dev/GUIDE.md) : conventions générales de rédaction et de structure
- [REDACTION.md](./dev/REDACTION.md) : règles de style, ton et formatage
---
## Structure du projet
```
src/
├── cli/ # Scripts CLI : zen-db
├── core/ # Briques techniques : database, api, email, storage, cron, pdf, toast, payments
├── features/ # Features utilisateur : auth, admin, provider
├── modules/ # Modules métier : posts, invoice, nuage…
└── shared/ # Composants, lib et styles partagés
```
---
## Publier le package
Le package `@zen/core` est publié sur le registre npm à `https://git.hyko.cx`.
### 1. Configurer l'authentification
Créer un token d'accès dans Gitea (Settings → Applications → Generate Token), puis l'enregistrer localement :
```bash
npm config set //git.hyko.cx/api/packages/zen/npm/:_authToken TOKEN
```
Remplacer `TOKEN` par le token généré.
### 2. Build et publish
```bash
npm publish
```
Le script `prepublishOnly` lance automatiquement le build avant la publication.
---
## Intégrer une Pull Request GitHub
Le dépôt GitHub est un miroir en lecture seule. On intègre manuellement les PRs de la communauté depuis Gitea.
### 1. Récupérer la branche du contributeur
```bash
git fetch https://github.com/<contributeur>/core <branche>
```
Par exemple :
```bash
git fetch https://github.com/jdupont/core fix/auth-token-expiry
```
### 2. Inspecter les changements
```bash
git log FETCH_HEAD --oneline
git diff main...FETCH_HEAD
```
### 3a. Appliquer avec cherry-pick (recommandé pour un ou quelques commits)
```bash
git cherry-pick <hash-du-commit>
```
Pour plusieurs commits consécutifs :
```bash
git cherry-pick <hash-début>^..<hash-fin>
```
### 3b. Appliquer avec merge (pour une branche entière)
```bash
git checkout -b integration/<description>
git merge FETCH_HEAD
# résoudre les conflits si nécessaire
git checkout main
git merge integration/<description>
git branch -d integration/<description>
```
### 4. Pousser vers Gitea
```bash
git push origin main
```
Le miroir GitHub se met à jour automatiquement. Fermer ensuite la PR sur GitHub en indiquant le hash du commit en commentaire.
---
## Bump de version
Modifier `"version"` dans `package.json` en suivant [semver](https://semver.org/) :
| Type | Version |
|------|---------|
| `fix` | PATCH `1.x.X` |
| `feat` | MINOR `1.X.0` |
| Breaking change | MAJOR `X.0.0` |
---