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 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¶
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¶
Le status final confirme que toutes les migrations sont appliquées.
Ajouter une page publique¶
Projet et exécution¶
| Commande | Rôle | Détail |
|---|---|---|
forge new |
crée un nouveau projet à partir du squelette | Démarrer |
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 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¶
| Commande | Rôle | Détail |
|---|---|---|
forge make:crud |
CRUD complet (contrôleur, vues, routes) | make:crud |
forge make:pivot-crud |
CRUD pour table pivot enrichie (opt-in pivot) | catalogue opt-ins |
forge make:public-page |
page publique simple | pages publiques |
forge make:public-list |
liste paginée | liste publique |
forge make:public-show |
fiche de détail | fiche publique |
forge make:public-form |
formulaire | formulaire public |
forge make:public-contact |
page de contact | contact public |
Base de données¶
| Commande | Rôle | Détail |
|---|---|---|
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 |
Médias et front¶
| 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 (opt-in images) | uploads |
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 |
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 des opt-ins officiels (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 |