Metadata-Version: 2.1
Name: backcraft-cli
Version: 2.3.2
Summary: CLI client for Backcraft - AI-powered Python project generator
Author: Backcraft Team
License: MIT License
        
        Copyright (c) 2025 Backcraft Team
        
        Permission is hereby granted, free of charge, to any person obtaining a copy
        of this software and associated documentation files (the "Software"), to deal
        in the Software without restriction, including without limitation the rights
        to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
        copies of the Software, and to permit persons to whom the Software is
        furnished to do so, subject to the following conditions:
        
        The above copyright notice and this permission notice shall be included in all
        copies or substantial portions of the Software.
        
        THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
        IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
        FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
        AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
        LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
        OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
        SOFTWARE.
        
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"

# 🔥 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 .
```

## 🎉 Première génération GRATUITE

Aucune inscription nécessaire pour votre première génération ! Lancez directement :

```bash
backcraft create MonProjet --idea "API REST pour gérer une bibliothèque"
```

Après votre première génération gratuite, vous devrez créer un compte sur **http://65.108.59.188:3000** pour obtenir votre clé API Backcraft.

## Commandes disponibles

### 💬 Mode conversationnel (recommandé)

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

```bash
backcraft chat MonProjet
```

L'IA vous guide à travers 3 étapes :
1. **Choix de la langue** (FR, EN, DE, ES, IT, PT)
2. **Niveau technique** (Débutant ou Professionnel)
3. **Questions personnalisées** pour comprendre vos besoins

**🌍 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:**

```
🌍 Choose your language / Choisissez votre langue

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

→ 1

🎯 Étape 2/3 : Choisissez votre niveau technique

  1. 👶 Débutant - Je ne suis pas technique, utilisez un langage simple
  2. 🚀 Professionnel - Je connais la technique, vous pouvez utiliser des termes techniques

→ 1

✓ Langue: 🇫🇷 Français
✓ Niveau: 👶 Débutant

🎯 Étape 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...

✓ Voici ce que j'ai compris :
📌 Domaine: library-management
🎯 Objectif: Gérer livres et emprunts avec API REST
👥 Utilisateurs Cibles: bibliothécaires, lecteurs

💭 Maintenant, laissez-moi vous poser quelques questions...

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

Votre réponse: 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 ?
  💡 Cela permet de déterminer: gestion de l'inventaire

Votre réponse: oui, avec des listes d'attente pour les livres populaires
...

✅ Parfait ! J'ai toutes les informations dont j'ai besoin.

🎯 Compréhension Finale
Domaine: library-management
Objectif: Système complet de gestion de bibliothèque avec auth, inventaire et réservations
Entités Clés: Book, User, Loan, Reservation
Features: auth, rbac, inventory, reservations, notifications

Prêt à générer ? [yes/no]: yes

🚀 Démarrage de la génération...
```

### 🚀 Mode rapide

Pour une génération directe sans questions:

```bash
backcraft create MonProjet --idea "API REST pour gérer une bibliothèque avec auth JWT et emprunts"
```

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

### 👤 Voir votre compte

Affiche votre tier, crédits, limites mensuelles et fonctionnalités :

```bash
backcraft account
```

Exemple de sortie :
```
👤 Account Information
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Email: user@example.com
Name: John Doe
Tier: Pro (monthly)
Credits: 15 💳

Monthly Generations:
  • Used: 5/20
  • Remaining: 15

Features:
  • Docker Validation: ✅
  • Auto Tests: ✅
  • Watermark: ✅ No

Allowed Project Types:
  api, microservice, fullstack

Upgrade at: https://backcraft.dev/pricing
```

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

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

### 🔄 Réessayer une génération échouée

Chaque génération a droit à **1 retry gratuit** :

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

### ⚙️ Voir la configuration

```bash
backcraft info
```

## Workflow complet

### Mode conversationnel (recommandé)

```bash
# 1. Première génération (GRATUITE)
backcraft chat BiblioAPI --output ./projects

# L'IA vous guide avec des questions adaptées à votre langue et niveau

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

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

### Mode rapide

```bash
# 1. 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

# 2. 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 centralisé :

1. Vous installez le CLI sur votre machine
2. Le CLI envoie vos requêtes au serveur Backcraft
3. Le serveur génère le code avec son infrastructure IA
4. Le CLI télécharge le projet généré

```
┌─────────────────┐          ┌─────────────────┐          ┌─────────────────┐
│   Votre CLI     │─────────▶│  Serveur        │─────────▶│   Anthropic     │
│   (local)       │          │  Backcraft      │          │   Claude API    │
│                 │          │                 │          │                 │
│ + Clé Backcraft │◀─────────│  Orchestration  │◀─────────│  (clé serveur)  │
│   (gratuite)    │          │  8 agents IA    │          │                 │
└─────────────────┘          └─────────────────┘          └─────────────────┘
```

## Tarification

Le CLI utilise un **système de packs de générations** :

### 🎉 Tier Gratuit (Free)
- **1 génération gratuite** sans inscription
- Code généré avec watermark
- Tests et Docker validation inclus
- Idéal pour découvrir Backcraft

### 💳 Tiers Payants
Achetez des packs de générations sur **http://65.108.59.188:3000** :

- **Pack Découverte** : 1 génération - 50€
- **Pack Starter** : 5 générations - 200€ (-20%)
- **Pack Pro** : 15 générations - 500€ (-33%)
- **Pack Enterprise** : 30 générations - 900€ (-40%)

**Fonctionnalités incluses** (tiers payants) :
- ✅ Pas de watermark
- ✅ Tests automatiques (Pytest)
- ✅ Validation Docker
- ✅ 1 retry gratuit par génération
- ✅ Code production-ready
- ✅ Support prioritaire

### 💡 Remboursement automatique
Si une génération échoue, vos crédits sont **automatiquement remboursés**.

## Ce qui est généré

Chaque projet inclut :

- **Backend FastAPI** complet (async/await natif)
- **SQLAlchemy 2.0** (modèles + relations)
- **PostgreSQL + Redis** (docker-compose)
- **JWT + RBAC** (authentification production-ready)
- **Tests Pytest** (unitaires + intégration)
- **Docker Compose** complet (app, db, redis)
- **CI/CD GitHub Actions**
- **Kubernetes manifests** (optionnel)
- **Monitoring Prometheus** (optionnel)
- **Documentation API** automatique

## Support

- **Serveur** : http://65.108.59.188:3000
- **Issues** : https://github.com/julesc31/pyforge-2.0-clean/issues
- **Documentation** : https://docs.backcraft.io

## License

MIT
