Skip to main content
Cet article s’appuie sur une exploration du code source. Il s’agit d’un package en tout début de développement, dont le tag v0.1 vient d’être posé (à la date de mai 2026).

Qu’est-ce que Laravel Chisel ?

Laravel Chisel est un package qui fournit des primitives pour construire des scripts post-installation destinés à supprimer les fonctionnalités inutiles d’un starter kit Laravel. Un starter kit embarque beaucoup de fonctionnalités prêtes à l’emploi, mais selon le projet, certaines d’entre elles peuvent être inutiles. Chisel résout ce problème en proposant, après l’installation, un mécanisme interactif permettant de « ne conserver que les fonctionnalités nécessaires ».

Pourquoi c’est utile

Les starter kits Laravel regroupent beaucoup de fonctionnalités, mais aucun projet n’a besoin de toutes les avoir. Par exemple :
  • Projets qui n’ont pas besoin de vérification par e-mail
  • Projets qui n’utilisent pas l’authentification par passkey
  • Configurations où certains composants Livewire sont superflus
Jusqu’ici, il fallait supprimer manuellement ces fonctionnalités ; avec Chisel, la personnalisation se fait via des prompts interactifs au moment de l’installation.

Définition du script chisel.php

Un starter kit qui utilise Chisel place un fichier chisel.php à la racine du projet. Ce fichier définit « quelles fonctionnalités sont optionnelles ».

Méthodes de définition du script

Collecte interactive des réponses

collectAnswers() retourne un collecteur de réponses. Toutes les méthodes sont fluent et peuvent être appelées dans n’importe quel ordre. En environnement non interactif, les valeurs par défaut sont utilisées automatiquement. Une commande Artisan externe affiche les prompts à l’aide de Laravel Prompts et transmet les réponses à Chisel.

Mutations de fichiers

file($path) cible un fichier unique et files(...$paths) plusieurs fichiers.

Édition basée sur l’AST PHP

php($path) fournit une édition basée sur l’AST PHP. Les modifications sont sauvegardées automatiquement lorsque l’objet est libéré. Les bases de l’AST PHP (arbre syntaxique abstrait) et l’utilisation de nikic/php-parser sont expliquées ici.

Marqueurs de section

Encadrez le code optionnel avec une paire de commentaires.
Dans les fichiers JSX, utilisez des commentaires en bloc avec des accolades ({}).
  • removeSectionMarkers('passkeys') — supprime les marqueurs, conserve le code
  • removeSection('passkeys') — supprime à la fois les marqueurs et le code
Le préfixe chisel- est ajouté automatiquement.

Support npm

La méthode npm() détecte automatiquement npm, yarn, pnpm et bun.

État actuel du développement

  • Dépôt GitHub : laravel/chisel
  • Release : v0.1 (publié en mai 2026)
  • Historique : rendu public après trois mois de développement privé
Chisel n’est pas un package que l’utilisateur final installe directement dans son application Laravel : c’est une bibliothèque utilisée en interne par les starter kits. À terme, on peut s’attendre à ce que les starter kits officiels Laravel proposent des scripts post-installation basés sur Chisel.

Dépôt laravel/chisel

Le code source et la référence d’API la plus récente sont ici.

Documentation officielle des starter kits Laravel

Pour l’utilisation des starter kits eux-mêmes, consultez la documentation officielle.
Dernière modification le 13 juillet 2026