Channels
Dev Assistant
OpenClaw skills & plugins — assistant de développement autonome piloté par WhatsApp
README
# OpenClaw Dev Assistant
> Pilotez Claude Code depuis WhatsApp. Gérez plusieurs projets, générez des specs, lancez du dev, suivez les résultats — depuis votre téléphone.
---
## C'est quoi ?
Un ensemble de **skills et plugins pour [OpenClaw](https://github.com/openclaw/openclaw)** qui transforme l'assistant en un chef de projet technique autonome.
OpenClaw est un assistant IA open-source auto-hébergé (WhatsApp, Telegram, et 15+ autres canaux). Ce repo lui ajoute tout ce qu'il faut pour piloter des projets de développement : lancer [Claude Code CLI](https://github.com/anthropics/claude-code), surveiller les sessions, gérer les repos git, et rapporter les résultats directement sur WhatsApp.
```
Toi (WhatsApp)
↓
OpenClaw Gateway (VPS Hetzner)
↓
Agent coordinateur (Haiku — routing, ~$0.001/message)
↓
Skills : project-manager · dev-runner · git-safety · dev-monitor · spec-writer
↓
Claude Code CLI → /workspaces/tzedakal/
→ /workspaces/familink/
→ /workspaces/gmah/
↓
Résultats sur WhatsApp
```
---
## Fonctionnalités
### Multi-projets dès le départ
Tous tes projets sont importés et accessibles depuis le premier message.
```
/project import https://github.com/toi/tzedakal
/project import https://github.com/toi/familink
/project default tzedakal
```
### Dev piloté par WhatsApp
```
/dev tzedakal "Ajoute les reçus CERFA au module donation"
```
→ Claude Code se lance dans le workspace, les résultats arrivent sur WhatsApp.
```
🔄 #s1 tzedakal — Session lancée
✅ src/components/CerfaReceipt.tsx créé
✅ src/app/api/receipts/route.ts créé
🔄 Tests en cours...
✅ #s1 tzedakal — Terminé en 18min · $1.40
Lancer les tests ? [Oui] [Non]
```
### Specs depuis une idée
```
/spec "Dashboard admin avec graphes de donations en temps réel"
```
→ Génère un cahier des charges complet (user stories, endpoints, schema Prisma, tests), te le soumet pour validation, puis lance le dev si tu approuves.
### Git safety automatique
Avant chaque session : branche checkpoint créée automatiquement. Si Claude Code produit du mauvais code :
```
/dev rollback
```
→ Le repo revient exactement à l'état d'avant la session.
### Suivi des coûts
```
/costs today → 💰 $3.20 — tzedakal $2.10 · familink $1.10
/costs month → 💰 $42.80 ce mois
```
---
## Architecture
### Ce que ce repo contient
| Dossier | Contenu | Rôle |
|---------|---------|------|
| `skills/` | Fichiers `.md` | Instructions pour l'agent OpenClaw |
| `plugins/` | Packages TypeScript compilés | Outils custom enregistrés dans OpenClaw |
| `config/` | Template `config.json5` | Configuration OpenClaw annotée |
| `scripts/` | `install.sh`, `link-skills.sh` | Setup VPS + liaison des skills |
| `docker/` | Dockerfile + compose | Isolation des sessions parallèles (Phase 2) |
### Skills — le mécanisme principal
Les skills sont des fichiers Markdown que l'agent OpenClaw charge comme contexte. Ils lui expliquent comment réagir aux commandes et quels patterns appliquer.
| Skill | Rôle |
|-------|------|
| `SOUL.md` | Identité de l'agent, règles absolues, style de communication |
| `project-manager.md` | Import de repos, switch de projet, status, résolution du projet actif |
| `dev-runner.md` | Lancer Claude Code CLI, monitorer le stdout, forwarder les questions |
| `git-safety.md` | Checkpoint avant chaque session, rollback, conventional commits |
| `dev-monitor.md` | Updates WhatsApp par milestone, alertes, résumé mode nuit |
| `spec-writer.md` | Générer des specs structurées depuis une idée ou un message vocal |
### Plugins TypeScript
| Plugin | Outils exposés | Rôle |
|--------|---------------|------|
| `plugin-project-state` | `project_state_list/read/write` | CRUD du `project-state.json` de chaque projet |
| `plugin-cost-tracker` | `costs_today/month/project` | Token tracking + coûts $ via SQLite |
### Comment Claude Code est piloté
OpenClaw dispose nativement d'un tool `bash` avec support PTY et mode background. C'est lui qui lance Claude Code :
```bash
# Ce que l'agent exécute en interne
bash pty:true workdir:/workspaces/tzedakal background:true timeout:1800
command:"claude 'Ta tâche ici' --dangerously-skip-permissions"
# Monitoring continu
process action:log sessionId:XXX offset:0
# Répondre aux questions de Claude Code
process action:submit sessionId:XXX data:"oui"
```
Pas de plugin bridge complexe — c'est le mécanisme natif d'OpenClaw, documenté dans son skill `coding-agent`.
---
## Installation
### Prérequis
- VPS Ubuntu 24.04 LTS (recommandé : [Hetzner CX41](https://www.hetzner.com/cloud) — 8 vCPU, 16 Go RAM, ~15€/mois)
- Compte [Anthropic](https://console.anthropic.com) avec clé API
- Compte GitHub + accès aux repos de tes projets
### Setup en une commande
```bash
git clone https://github.com/Eliezelg/openclaw-dev-assistant.git
bash openclaw-dev-assistant/scripts/install.sh
```
Ce script installe automatiquement : Node.js 22, pnpm, OpenClaw, Claude Code CLI, GitHub CLI, Caddy, Docker.
### Configuration
```bash
# 1. Copier le template de config
cp openclaw-dev-assistant/config/config.json5.template ~/.openclaw/config.json5
# 2. Remplir les valeurs marquées <À_REMPLIR>
nano ~/.openclaw/config.json5
# → Numéro WhatsApp (format international)
# → Token bot Telegram (fallback)
# → Chemin vers les plugins compilés
# 3. Définir la clé API Anthropic (ajouter dans ~/.bashrc pour la persistance)
export ANTHROPIC_API_KEY="sk-ant-..."
# 4. Authentifier GitHub
gh auth login
```
### Lancer OpenClaw
```bash
openclaw gateway
# → Scanner le QR code WhatsApp affiché dans le terminal
# → Envoyer "bonjour" sur WhatsApp pour tester la connexion
```
---
## Utilisation
### Importer ses projets
```
/project import https://github.com/toi/mon-projet
```
→ Clone le repo, détecte la stack (Next.js, NestJS, Prisma, Vitest...), génère le `project-state.json`.
```
/projects list
```
```
📋 Projets (3) :
✅ tzedakal — Next.js 15 + NestJS + PostgreSQL [défaut]
✅ familink — Next.js 15
✅ gmah — React + Flask
```
### Lancer du dev
```
/dev "Ajoute la pagination sur la liste des utilisateurs"
/dev familink "Fix le bug du bouton de paiement sur mobile"
/dev tzedakal "Génère le rapport CERFA en PDF"
```
### Générer une spec
```
/spec "Système de notifications email pour les dons récurrents"
```
→ Génère user stories, endpoints API, schema Prisma, tests attendus. Tu valides, puis l'agent lance le dev.
### Rollback d'urgence
```
/dev rollback
```
→ Retour à l'état exact d'avant la dernière session (branche checkpoint créée automatiquement).
### Suivi des coûts
```
/costs today → Coûts du jour par projet
/costs month → Coûts du mois
/costs project tzedakal → Historique pour un projet
```
---
## Roadmap
| Phase | Semaines | Objectif | Statut |
|-------|----------|----------|--------|
| **0** | 1-2 | VPS + bridge OpenClaw → Claude Code validé | ⬜ |
| **1** | 3-6 | Multi-projets + dev séquentiel + monitoring WhatsApp | ⬜ |
| **2** | 7-10 | Event bus métier + sessions parallèles (Docker) | ⬜ |
| **3** | 11-14 | Deploy auto (Vercel/Railway) + code review + screenshots | ⬜ |
| **4** | Ongoing | db-manager, doc-generator, env-manager, voice-to-spec... | ⬜ |
La Phase 0 est le Go/No-Go technique : valider que le bridge WhatsApp → OpenClaw → Claude Code fonctionne bout en bout avant d'investir dans le reste.
---
## Stack technique
- **[OpenClaw](https://github.com/openclaw/openclaw)** — Gateway WhatsApp/Telegram + runtime agent IA
- **[Claude Code CLI](https://github.com/anthropics/claude-code)** — Exécution du code dans les workspaces
- **Anthropic Claude** — Haiku (routing) · Sonnet (dev) · Opus (specs/review)
- **Node.js 22** + **pnpm** — Runtime et build des plugins
- **SQLite** (`better-sqlite3`) — Métriques de coûts
- **Docker** — Isolation des sessions parallèles (Phase 2)
- **Caddy** — Reverse proxy HTTPS pour les previews deploy
---
## Licence
MIT — Fork et adapte pour ton propre usage.
channels
Comments
Sign in to leave a comment