Référence des commandes Forge
Catalogue des commandes du CLI forge, par famille.
Chaque commande renvoie vers sa page de référence détaillée (usage, options, exemples).
Trois modes d'invocation équivalents :
forge <commande> # via entry point pip (recommandé)
python -m forge <commande> # via module Python
python forge.py <commande> # script direct (développement)
Aide intégrée : forge --help (et forge --version).
Parcours rapides
Scénarios d'enchaînement des commandes, copiables tels quels.
Créer une application minimale
forge new GestionVentes
cd GestionVentes
forge doctor
forge run
forge new génère le squelette ; forge doctor valide la configuration locale ; forge run démarre le serveur de développement.
Créer une entité et générer un CRUD
forge make:entity Produit
forge entity:validate
forge build:model
forge make:crud Produit
forge routes:list
make:entity crée le JSON de l'entité ; entity:validate vérifie la conformité au schéma ; build:model régénère les modèles Python ; make:crud génère contrôleurs et vues ; routes:list confirme les nouvelles routes.
Vérifier un projet avant commit
forge doctor
forge project:check
forge project:audit
doctor reste tolérant (lecture seule) ; project:check est CI-ready (échec si convention violée) ; project:audit produit un rapport détaillé non destructif.
Gérer les migrations
forge migration:status
forge migration:make
forge migration:apply
forge migration:status
Le status final confirme que toutes les migrations sont appliquées.
Ajouter une page publique
forge make:public-page accueil
forge routes:list
Projet et exécution
| Commande |
Rôle |
Détail |
forge new |
crée un nouveau projet à partir du squelette |
Démarrer |
forge skeleton:upgrade |
ajoute les fichiers du squelette manquants (write-if-new) |
skeleton:upgrade |
forge run |
serveur de développement (HTTPS, autoreload) |
run |
forge update |
met à jour Forge dans le projet |
update |
forge doctor |
diagnostic large, lecture seule |
doctor |
forge project:check |
contrôle strict, prêt pour la CI |
project:check |
forge project:audit |
rapport d'audit détaillé, non destructif |
project:audit |
forge routes:list |
liste les routes déclarées |
(sortie console) |
Entités et modèles
| Commande |
Rôle |
Détail |
forge make:entity |
crée le JSON d'une entité |
make:entity |
forge entity:validate |
valide les contrats JSON d'entités |
entity:validate |
forge entity:doc |
documente entités et relations (Markdown + Mermaid) |
entity:doc |
forge build:model |
génère les modèles Python depuis le JSON |
build:model |
forge sync:entity |
synchronise entité et modèle généré |
modèle |
forge make:relation |
déclare une relation entre entités |
make:relation |
forge check:model |
vérifie la cohérence des modèles |
build:model |
forge sync:relations |
régénère relations.sql |
make:relation |
CRUD et pages publiques
Base de données
| Commande |
Rôle |
Détail |
forge db:config |
amorce les variables d'environnement du backend |
db:config |
forge db:init |
provisionne la base et le compte applicatif |
db:init |
forge db:apply |
applique le schéma des entités (DDL) |
db:apply |
forge migration:status |
état des migrations SQL |
migrations |
forge migration:make |
crée une migration |
migrations |
forge migration:apply |
applique les migrations |
migrations |
forge migration:diff |
génère le SQL depuis une modification d'entité |
migrations |
Choix du moteur (SQLite, MariaDB, PostgreSQL, SQL Server) : Bases de données.
Authentification
| Commande |
Rôle |
Détail |
forge auth:init |
initialise l'authentification |
auth |
forge auth:user:create |
crée un utilisateur |
auth |
forge auth:user:list |
liste les utilisateurs |
auth |
forge auth:doctor |
diagnostic de l'authentification |
auth |
forge auth:status |
état de la configuration auth |
auth |
forge auth:list-sql |
affiche les fichiers SQL d'authentification |
auth |
forge auth:user:show |
affiche les détails d'un compte utilisateur |
auth |
forge auth:user:disable |
désactive un compte utilisateur |
auth |
forge auth:user:enable |
réactive un compte utilisateur |
auth |
forge auth:user:password |
modifie le mot de passe d'un compte |
auth |
forge auth:user:roles |
affiche les rôles d'un utilisateur |
auth |
forge auth:user:role:add |
assigne un rôle à un utilisateur |
auth |
forge auth:user:role:remove |
retire un rôle d'un utilisateur |
auth |
| Commande |
Rôle |
Détail |
forge upload:init |
prépare le stockage des uploads (opt-in files) |
uploads |
forge media:init |
prépare le stockage des médias (alias cœur d'upload:init) |
uploads |
forge images:init |
copie la migration de la table media vers mvc/migrations/ puis forge migration:apply (opt-in images) |
opt-in forge-mvc-images |
forge js:init |
installe HTMX / Alpine.js |
front |
forge i18n:init |
initialise les catalogues d'i18n (opt-in i18n) |
i18n |
forge i18n:check |
vérifie les catalogues d'i18n |
i18n |
Schémas, documentation, agent IA
| Commande |
Rôle |
Détail |
forge schema:doctor |
diagnostique les schémas JSON |
schema:doctor |
forge schema:list |
liste les schémas JSON |
schema:list |
forge docs:pdf |
génère le PDF de la documentation |
docs:pdf |
Guidance agent IA
| Commande |
Rôle |
Détail |
forge agents:init |
crée ou rafraîchit la couche de guidance agent (write-if-new) |
Guidance agent IA |
Déploiement (opt-in)
| Commande |
Rôle |
Détail |
forge deploy:init |
génère les gabarits Nginx / systemd / WSGI |
Déploiement |
forge deploy:check |
vérifie la configuration de déploiement |
Déploiement |
Fixtures (opt-in)
| Commande |
Rôle |
Détail |
forge fixtures:load |
charge les fixtures mvc/fixtures/*.sql (affiche ; --run exécute) |
opt-in forge-mvc-fixtures |
forge fixtures:purge |
vide les tables ciblées par les fixtures (affiche ; --run exécute) |
opt-in forge-mvc-fixtures |
forge fixtures:generate |
génère un .sql depuis une factory (Faker) |
opt-in forge-mvc-fixtures |
forge fixtures:make-factory |
échafaude une factory depuis le contrat d'entité |
opt-in forge-mvc-fixtures |
Gestion des modules optionnels
Forge fournit dans son cœur une famille de commandes pour gérer le cycle de vie des modules optionnels (mécanisme générique, ADR-016).
Les commandes propres à un module (par exemple forge iot:*) sont documentées dans l'espace de ce module (ADR-042), pas ici.
| Commande |
Rôle |
Détail |
forge module:list |
liste les modules déclarés |
modules |
forge module:install |
installe déclarativement un module |
modules |
forge module:files |
installe les fichiers d'un module |
modules |
forge module:routes |
affiche les routes d'un module à coller |
modules |
forge module:remove |
retire un module |
modules |
forge opt-in:install |
affiche la commande pip d'installation d'un opt-in |
install |
forge opt-in:remove |
affiche la commande de désinstallation |
remove |
forge opt-in:enable |
branche un opt-in dans le projet (optins/) |
enable |
forge opt-in:disable |
débranche un opt-in du projet |
disable |
forge opt-in:list |
état projet des opt-ins officiels (lecture seule) |
list |
forge opt-in:installed |
opt-ins réellement installés (pip, lecture seule) |
list |
Catalogue complet des opt-ins : Opt-ins officiels.
Utilitaires
| Commande |
Rôle |
forge --version |
affiche la version de Forge |
forge --help |
affiche l'aide du CLI |