← Back to Plugins
Channels

Dev Assistant

Eliezelg By Eliezelg 👁 63 views ▲ 0 votes

OpenClaw skills & plugins — assistant de développement autonome piloté par WhatsApp

GitHub

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

Loading comments...