Aller au contenu

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 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