chore : initial claude-config repo
- global CLAUDE.md (time tracking via MCP lesstime) - workspace CLAUDE.md (dev_malio inventory) - commands : ticket-writer, push-tickets-lesstime, full-project-review, bump-version - MCP install guide (Code + Desktop) + .mcp.json.example - scripts/install.sh + sync.sh
This commit is contained in:
93
global/CLAUDE.md
Normal file
93
global/CLAUDE.md
Normal file
@@ -0,0 +1,93 @@
|
||||
# CLAUDE.md global — Règles pour tous les projets
|
||||
|
||||
## Time Tracking obligatoire
|
||||
|
||||
Claude DOIT créer une time entry dans Lesstime au démarrage de chaque tâche de développement, ou sur demande explicite de l'utilisateur ("lance le chrono", "start timer", "track le temps").
|
||||
|
||||
### Déclencheurs
|
||||
|
||||
1. **Début d'une tâche de dev** : feature, bugfix, refactoring, infra, review
|
||||
2. **Demande explicite** : "lance le chrono", "start timer", "track le temps"
|
||||
3. **Depuis un ticket Lesstime** : lier directement au `taskId` du ticket référencé
|
||||
|
||||
### Méthode — via le MCP `lesstime`
|
||||
|
||||
**Toujours passer par les outils MCP `mcp__lesstime__*`, jamais par curl.**
|
||||
|
||||
1. **Vérifier qu'il n'y a pas de timer actif** :
|
||||
`mcp__lesstime__list-time-entries` avec `userId: 5`, puis chercher une entrée dont `stoppedAt` est `null`.
|
||||
|
||||
2. **Stopper l'éventuel timer actif** avant d'en créer un nouveau :
|
||||
`mcp__lesstime__update-time-entry` avec `id: <activeId>` et `stoppedAt: "<ISO8601 maintenant>"`.
|
||||
|
||||
3. **Créer le timer** :
|
||||
```
|
||||
mcp__lesstime__create-time-entry({
|
||||
userId: 5,
|
||||
startedAt: "<ISO8601 avec timezone, ex 2026-05-13T10:00:00+02:00>",
|
||||
title: "<description courte>",
|
||||
projectId: <projectId>,
|
||||
tagIds: [<tagId>, ...],
|
||||
taskId: <taskId> // optionnel : si lié à un ticket Lesstime
|
||||
})
|
||||
```
|
||||
Retient l'`id` retourné.
|
||||
|
||||
4. **Stopper le timer en fin de tâche** :
|
||||
```
|
||||
mcp__lesstime__update-time-entry({
|
||||
id: <timerId>,
|
||||
stoppedAt: "<ISO8601 maintenant>"
|
||||
})
|
||||
```
|
||||
|
||||
### Paramètres obligatoires
|
||||
|
||||
- **userId** : TOUJOURS `5` (Matthieu)
|
||||
- **startedAt** : ISO 8601 avec timezone (ex: `2026-05-13T14:30:00+02:00`)
|
||||
- **title** : description courte de la tâche en cours
|
||||
- **projectId** : selon le mapping ci-dessous
|
||||
|
||||
### Tags (choisir selon le type de travail)
|
||||
|
||||
| Tag | tagId |
|
||||
|-----|-------|
|
||||
| RDV | 1 |
|
||||
| Frontend | 2 |
|
||||
| Backend | 3 |
|
||||
| UI/UX | 4 |
|
||||
| Infra | 5 |
|
||||
| Maintenance | 6 |
|
||||
| IA | 7 |
|
||||
| Réunion | 8 |
|
||||
| Gestion projet | 9 |
|
||||
| Formation | 10 |
|
||||
|
||||
> En cas de doute, appeler `mcp__lesstime__list-tags` pour la liste à jour.
|
||||
|
||||
### Mapping projets
|
||||
|
||||
| Projet | projectId |
|
||||
|--------|-----------|
|
||||
| Lesstime | 5 |
|
||||
| ERP Liot / Coltura | 6 |
|
||||
| Inventory | 7 |
|
||||
| Ferme | 8 |
|
||||
| Malio UI | 11 |
|
||||
| SIRH | 12 |
|
||||
| Infrastructure | 13 |
|
||||
| Qualiopi | 14 |
|
||||
| ADMIN | 16 |
|
||||
| Maintenance-LIOT | 17 |
|
||||
| Vaultwarden | 18 |
|
||||
|
||||
> En cas de doute, appeler `mcp__lesstime__list-projects`.
|
||||
|
||||
### Règles
|
||||
|
||||
- **Un seul timer actif à la fois** (contrainte DB) — toujours stopper l'actif avant d'en créer un nouveau
|
||||
- **Toujours stopper le timer** en fin de tâche ou sur demande
|
||||
- **Informer l'utilisateur** quand un timer est lancé/stoppé (id, titre, projet, tags)
|
||||
- **Lier au ticket Lesstime** si un ticket est référencé (`taskId`)
|
||||
- **Choisir les tags intelligemment** selon le type de travail
|
||||
- **Fallback curl interdit** sauf si le MCP `lesstime` est indisponible — dans ce cas, signaler le problème à l'utilisateur
|
||||
Reference in New Issue
Block a user