Metadata-Version: 2.4
Name: backcraft-cli
Version: 2.2.0
Summary: CLI client for Backcraft - AI-powered Python project generator
Author: Backcraft Team
License-Expression: MIT
Project-URL: Homepage, https://github.com/julesc31/pyforge-2.0-clean
Project-URL: Repository, https://github.com/julesc31/pyforge-2.0-clean
Keywords: ai,code-generation,python,cli
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: click>=8.0.0
Requires-Dist: requests>=2.28.0
Requires-Dist: rich>=13.0.0
Provides-Extra: dev
Requires-Dist: pytest; extra == "dev"
Requires-Dist: black; extra == "dev"
Requires-Dist: mypy; extra == "dev"
Dynamic: license-file

# 🔥 Backcraft CLI

Client CLI pour Backcraft - Générateur de projets Python alimenté par l'IA.

## Installation

```bash
pip install backcraft-cli
```

Ou depuis les sources:
```bash
git clone https://github.com/julesc31/pyforge-2.0-clean.git
cd pyforge-2.0-clean/cli-client
pip install -e .
```

## Configuration

Lors de la première utilisation, configurez le CLI:

```bash
backcraft configure
```

Le CLI vous demandera:
- **Server URL**: L'adresse du serveur Backcraft (ex: https://backcraft.dev)
- **Backcraft API Key**: Votre clé d'authentification Backcraft (obtenue sur https://backcraft.dev/dashboard après inscription)

⚠️ **Important**: Vous utilisez vos crédits/générations achetés sur BackCraft. Les coûts d'API sont gérés par BackCraft.

## Utilisation

### 💬 Mode conversationnel (recommandé)

Le mode conversationnel vous permet de discuter avec l'IA pour affiner votre projet:

```bash
backcraft chat MonProjet
```

L'IA vous demande d'abord votre idée, puis vous guide avec des questions adaptées.

**🌍 Langues supportées:**
- 🇫🇷 Français
- 🇬🇧 English
- 🇩🇪 Deutsch
- 🇪🇸 Español
- 🇮🇹 Italiano
- 🇵🇹 Português

**🎯 Niveaux techniques:**
- **👶 Débutant** - Questions en langage simple, sans jargon technique
  - Exemple: "Les utilisateurs devront-ils se connecter ?"
  - Exemple: "Allez-vous accepter des paiements ?"
- **🚀 Professionnel** - Questions techniques pour développeurs
  - Exemple: "JWT ou OAuth2 pour l'authentification ?"
  - Exemple: "Redis ou Memcached pour le cache ?"

L'IA adapte ses questions à votre langue et votre niveau technique !

**Exemple de conversation:**

```
🤖 Let's Chat

Project: BiblioAPI

🌍 Step 1/3: Choose your language

  [1] 🇫🇷 Français
  [2] 🇬🇧 English
  [3] 🇩🇪 Deutsch
  [4] 🇪🇸 Español
  [5] 🇮🇹 Italiano
  [6] 🇵🇹 Português

Select language: 1

🎯 Step 2/3: Choose your technical level

  [1] 👶 Beginner - I'm not technical, use simple language
  [2] 🚀 Professional - I know tech, you can use technical terms

Select level: 1

✓ Language: 🇫🇷 Français
✓ Level: 👶 Beginner

🎯 Step 3/3: Parlez-moi de votre projet

Que voulez-vous construire ?: API REST pour gérer une bibliothèque avec des livres et emprunts

🔍 Analyse de votre idée...

✓ Here's what I understood:
📌 Domain: library-management
🎯 Purpose: Manage books and loans with REST API
👥 Users: librarians, readers

💭 Now, let me ask you a few questions...

Question 1/5:
  Les utilisateurs devront-ils se connecter pour accéder à la bibliothèque ?
  💡 This helps determine: système d'authentification

Your answer: oui, les bibliothécaires et lecteurs ont des permissions différentes

Question 2/5:
  Devez-vous suivre la disponibilité des livres et les réservations ?
  💡 This helps determine: gestion de l'inventaire

Your answer: oui, avec des listes d'attente pour les livres populaires
...

✅ Perfect! I have all the information I need.

🎯 Final Understanding
Domain: library-management
Purpose: Complete library management system with auth, inventory, and reservations
Key Entities: Book, User, Loan, Reservation
Features: auth, rbac, inventory, reservations, notifications

Ready to generate? [yes/no]: yes

🚀 Starting generation...
```

### 🚀 Mode rapide

Pour une génération directe sans questions:

```bash
backcraft create MonProjet --idea "Je veux créer une API REST pour gérer une bibliothèque avec des livres et des emprunts"
```

Options:
- `--output` / `-o`: Répertoire de sortie (défaut: répertoire actuel)

### Vérifier le statut d'une génération

```bash
backcraft status <generation-id>
```

### Afficher la configuration actuelle

```bash
backcraft info
```

## Workflow complet

### Mode conversationnel (recommandé)

```bash
# 1. Configuration initiale
backcraft configure

# 2. Créer un projet avec conversation
backcraft chat BiblioAPI --output ./projects

# L'IA vous demande votre idée, puis vous pose des questions
# Répondez naturellement, sans termes techniques

# 3. Installer le projet généré
cd projects
python BiblioAPI-installer.py

# 4. Lancer le projet
cd BiblioAPI
docker-compose up
```

### Mode rapide

```bash
# 1. Configuration initiale
backcraft configure

# 2. Créer un projet directement
backcraft create BiblioAPI \
  --idea "API REST pour gérer une bibliothèque avec authentification JWT, gestion des emprunts et réservations" \
  --output ./projects

# 3. Installer et lancer
cd projects && python BiblioAPI-installer.py
cd BiblioAPI && docker-compose up
```

## Architecture

Le CLI est un **client léger** qui communique avec le serveur Backcraft:

1. Vous installez le CLI sur votre machine
2. Vous vous authentifiez avec votre clé API BackCraft
3. Le CLI envoie vos requêtes au serveur Backcraft
4. Le serveur utilise la clé Anthropic BackCraft pour générer le code
5. Vos générations disponibles sont décomptées automatiquement
6. Le CLI télécharge le projet généré

```
┌─────────────────┐          ┌─────────────────┐          ┌─────────────────┐
│   Votre CLI     │─────────▶│  Serveur        │─────────▶│   Anthropic     │
│   (local)       │          │  Backcraft      │          │   Claude API    │
│                 │          │                 │          │                 │
│ + Clé BackCraft │◀─────────│  Orchestration  │◀─────────│  (avec clé      │
│                 │          │  + Décompte     │          │   BackCraft)    │
└─────────────────┘          └─────────────────┘          └─────────────────┘
```

## Coûts

- ✅ Le CLI est **gratuit**
- 💳 Vous payez uniquement pour les **générations** via les packs BackCraft
- 🎁 **1 génération gratuite** offerte à l'inscription (après vérification email)

Tarifs BackCraft (packs de générations):
- Pack Starter (1 génération): 50€
- Pack Growth (5 générations): 200€ (40€/génération)
- Pack Pro (15 générations): 525€ (35€/génération)
- Pack Enterprise (50 générations): 1500€ (30€/génération)

Les coûts d'API Anthropic sont gérés par BackCraft - vous payez simplement par génération complète.

## Support

- Issues: https://github.com/julesc31/pyforge-2.0-clean/issues
- Documentation: https://docs.backcraft.io

## License

MIT
