create-iros-app
v1.0.6
Published
Crée un projet Next.js à partir du boilerplate Iros.
Downloads
719
Maintainers
Readme
create-iros-app
Crée un projet Next.js à partir du boilerplate Iros : architecture par features, authentification et base de données déjà branchées.
bun create iros-app mon-projet
npm create iros-app@latest mon-projet
pnpm create iros-app mon-projetPuis :
cd mon-projet
bun run dev # http://localhost:3017Le projet démarre avec une landing publique, un tunnel d'inscription/connexion fonctionnel et un espace protégé de démonstration — sans aucune configuration préalable.
Ce que la commande fait pour vous
- Télécharge le template depuis un tag figé du dépôt Iros.
- Renseigne
package.json(nom dérivé du dossier, version remise à0.1.0). - Personnalise
src/config/site.config.tsavec le nom affiché et la description saisis. - Génère
.envdepuis.env.example, avec unBETTER_AUTH_SECRETtiré aléatoirement et des URL alignées sur le port réel. - Crée le dossier
data/—better-sqlite3n'ouvre pas un fichier dans un dossier absent. - Installe les dépendances, puis applique les migrations Drizzle.
- Initialise un dépôt Git avec un premier commit.
Trois questions sont posées au passage : le nom du projet (si absent de la ligne de commande), le nom affiché dans l'interface, et la description.
Options
| Option | Effet |
| ---------------- | ---------------------------------------------------------------------- |
| --yes, -y | Ne pose aucune question et retient les valeurs par défaut |
| --no-install | N'installe rien et ne migre pas ; les commandes à lancer sont rappelées |
| --no-git | Ne crée pas de dépôt Git |
| --pm <nom> | Force le gestionnaire : bun, npm, pnpm ou yarn |
Sans --pm, le gestionnaire est déduit de la commande d'invocation
(npm_config_user_agent). Le boilerplate épingle [email protected] via
packageManager : s'en écarter produit un arbre de dépendances différent.
bun create iros-app mon-projet --no-install --no-gitMode non interactif
prompts exige un terminal : sur une entrée redirigée, il s'interrompt sans
rien créer. --yes est donc le seul mode utilisable en CI, dans un
conteneur ou depuis un script.
bun create iros-app mon-projet --yesLe nom affiché est alors dérivé du dossier (mon-projet → « Mon Projet ») et la
description prend sa valeur par défaut. Sans dossier nommé, mon-app est
retenu.
Prérequis
| Outil | Version | Rôle |
| ------- | -------- | ----------------------------------------------------------- |
| Node.js | ≥ 20 | Exécution de la CLI et de Next.js 16 |
| Bun | ≥ 1.3.14 | Gestionnaire de paquets du projet généré |
| Git | — | Commit initial ; inutile avec --no-git |
better-sqlite3 est un module natif. Un binaire précompilé couvre la plupart
des plateformes ; si la compilation se déclenche, il faut une chaîne C++ —
Visual Studio Build Tools (charge « Développement Desktop en C++ ») sur
Windows, xcode-select --install sur macOS.
Le boilerplate
| Domaine | Choix | | ---------------- | ---------------------------------------- | | Framework | Next.js 16 (App Router, Turbopack) | | UI | React 19, Tailwind CSS 4 | | Langage | TypeScript strict | | Authentification | Better Auth (e-mail, Google, GitHub) | | Base de données | Drizzle ORM + SQLite | | État local | Zustand | | Formulaires | React Hook Form + Zod + next-safe-form | | Qualité | Biome |
cacheComponents, typedRoutes et le React Compiler sont activés. Le thème
sombre repose sur une échelle de couleurs inversée : les composants n'écrivent
aucune variante dark:.
Documentation complète : installation · conventions
Choisir une autre source de template
IROS_TEMPLATE remplace le tag par défaut — utile pour essayer une branche de
travail ou une version antérieure :
IROS_TEMPLATE=github:4develhoper/iros#main node index.mjs mon-projetLes fournisseurs Git (github:, gitlab:, bitbucket:, sourcehut:) et les
URL de tarball sont acceptés ; un chemin local ne l'est pas.
Développement
git clone https://github.com/4develhoper/create-iros-app
cd create-iros-app
npm install
node index.mjs /tmp/essai-iros # exécution directe
npm pack --dry-run # contenu réel de l'archive publiéeLicence
MIT
