Aller au contenu
Développement medium

Claude Code CLI : créer le projet fil rouge lab-claude

5 min de lecture

Logo Claude Code - création du projet fil rouge lab-claude

Après l’installation de Claude Code CLI, l’étape la plus utile est de créer un dépôt d’entraînement unique. Ce guide vous fait construire lab-claude, un projet volontairement petit avec FastAPI, uv, Ruff et pytest. L’objectif est d’avoir une base stable pour toute la série: mêmes fichiers, mêmes commandes de validation, mêmes réflexes de cadrage. Vous n’apprenez pas FastAPI en profondeur ici. Vous mettez en place un terrain de pratique reproductible.

  • Créer l’arborescence minimale du dépôt lab-claude
  • Initialiser un projet Python avec uv
  • Ajouter un endpoint /health testable
  • Vérifier rapidement uv run ruff check . et uv run pytest -q
  • Utiliser ce dépôt comme fil rouge dans les guides suivants

Pourquoi un dépôt d’entraînement unique accélère l’apprentissage

Section intitulée « Pourquoi un dépôt d’entraînement unique accélère l’apprentissage »

Ce guide intervient juste après l’installation de la CLI. Il répond à un problème pédagogique simple: si vous changez de dépôt en cours de parcours, vous perdez du temps et de la clarté.

Situations concrètes où ce fil rouge vous aide:

  • Vous débutez et vous voulez un support stable à chaque exercice
  • Vous voulez comparer vos progrès d’un guide à l’autre sans changer de contexte
  • Vous voulez valider rapidement chaque modification avec les mêmes commandes
  • Claude Code CLI installé et opérationnel
  • Python 3.12+ disponible
  • uv installé
  • Un terminal local
lab-claude/
├── README.md
├── pyproject.toml
├── app/
│ └── main.py
├── tests/
│ └── test_health.py
└── .gitignore
  1. Créez le dossier de travail

    Fenêtre de terminal
    mkdir -p ~/Projets/lab-claude
    cd ~/Projets/lab-claude
    git init
  2. Vérifiez que vous êtes au bon endroit

    Fenêtre de terminal
    pwd

Créez le projet en mode simple et préparez la structure applicative.

Fenêtre de terminal
uv init --python 3.12
mkdir -p app tests

Créez un .gitignore minimal:

Fenêtre de terminal
cat > .gitignore << 'EOF'
.venv/
__pycache__/
.pytest_cache/
.ruff_cache/
EOF

Installez les dépendances d’exécution et de validation.

Fenêtre de terminal
uv add fastapi
uv add --dev pytest ruff

Créez app/main.py.

from fastapi import FastAPI
app = FastAPI()
@app.get("/health")
def health() -> dict[str, str]:
return {"status": "ok"}

Créez tests/test_health.py.

from fastapi.testclient import TestClient
from app.main import app
client = TestClient(app)
def test_health() -> None:
response = client.get("/health")
assert response.status_code == 200
assert response.json() == {"status": "ok"}

Lancez les deux commandes qui serviront de référence dans toute la série.

Fenêtre de terminal
uv run ruff check .
uv run pytest -q

Résultat attendu:

  • Ruff ne remonte pas d’erreur
  • pytest passe au vert

Étape 6 : lancer une première session Claude sur ce dépôt

Section intitulée « Étape 6 : lancer une première session Claude sur ce dépôt »

Vous pouvez maintenant démarrer une session Claude en restant sur ce fil rouge.

Fenêtre de terminal
cd ~/Projets/lab-claude
claude

Premier prompt conseillé:

Lis app/main.py et tests/test_health.py.
Résume en 6 points maximum la structure du projet.
Ne modifie aucun fichier.
SymptômeCause probableCorrection
uv: command not founduv non installéInstaller uv, puis relancer les commandes
ModuleNotFoundError au testDépendances incomplètesRejouer uv add fastapi et uv add --dev pytest ruff
Ruff remonte une erreurFichier mal indenté ou import inutileCorriger le fichier puis relancer uv run ruff check .
pytest échoue sur /healthRoute ou assertion incorrecteVérifier app/main.py et tests/test_health.py
  • Un fil rouge unique simplifie fortement l’apprentissage de Claude Code
  • lab-claude doit rester petit, lisible et rapidement testable
  • Le duo ruff + pytest est votre garde-fou de base
  • Vous poserez rapidement un CLAUDE.md à la racine pour ne plus redire les conventions à chaque session
  • Vous pouvez maintenant garder le même dépôt dans toute la phase débutant

Ce site vous est utile ?

Sachez que moins de 1% des lecteurs soutiennent ce site.

Je maintiens +700 guides gratuits, sans pub ni tracing. Aujourd'hui, ce site ne couvre même pas mes frais d'hébergement, d'électricité, de matériel, de logiciels, mais surtout de cafés.

Un soutien régulier, même symbolique, m'aide à garder ces ressources gratuites et à continuer de produire des guides de qualité. Merci pour votre appui.

Abonnez-vous et suivez mon actualité DevSecOps sur LinkedIn