Skip to content

CLI daroms

This content is not available in your language yet.

Dans une app : bun daroms <commande>. Hors app : npx @daromsart/daroms-speed-app <commande> (paquet npm), daroms <commande> après npm install -g @daromsart/daroms-speed-app, ou bun <clone du cœur>/cli/daroms.ts <commande>. bun daroms --help liste les commandes.

Commande Rôle
new crée une app complète
dev serveur Expo et QR
doctor diagnostic complet
g génère écran, feature, table, module
icons ajoute des icônes Lucide à l’app
module active, retire, liste les modules
shot contrôle visuel d’une route
test, e2e tests unitaires, flows Maestro
assets icônes, splash, favicon depuis un SVG
inspire aperçus d’inspiration à regarder avant le design
db migrations et types Supabase
build, submit, update EAS
cost ce que l’app a coûté en tokens et en dollars
sync-ai, catalog couche IA, catalogue
release-core version du cœur
Fenêtre de terminal
npx @daromsart/daroms-speed-app new <slug> [options]
Option Défaut Effet
--name "Nom" slug capitalisé nom affiché
--variant blank blank, list-detail, tracker, ai-chat, social, shop (Variantes)
--local - tables de la variante sur l’appareil (localTable)
--primary, --accent #4F46E5, #F97316 couleurs de brand.ts
--font inter inter ou system
--radius lg none, sm, md, lg, xl, full
--tone pro playful, pro, minimal
--bundle com.daroms.<slug> identifiant iOS et Android
--modules a,b - modules en plus de ceux de la variante
--supabase <ref> - manifest.supabase.projectRef
--dir <dossier> dossier courant où créer l’app
--core <url> dépôt du cœur URL du sous-module (depuis npm : sous-module fixé sur le tag de la version, ou copie si le dépôt est inaccessible)
--copy - copie le cœur (instantané, sans sous-module)
--link - lien symbolique vers le cœur (développement du cœur)
--no-git - ni git init ni commit initial

Étapes : copie du template, variante, substitution des valeurs, git init, cœur (sous-module, copie ou lien), bun install, manifest, modules, registre, tables et écrans de la variante, icônes, types de routes, couche IA, commit initial.

Fenêtre de terminal
bun daroms dev [--dev-client] [--web] [--android] [--ios] [--tunnel] [--clear]

Expo Go par défaut (aperçu immédiat). --dev-client : build de développement déjà installé. --tunnel si le téléphone n’est pas sur le même réseau, --clear vide le cache Metro. Avertit si .env manque ou si payments ou push sont actifs sans --dev-client.

Fenêtre de terminal
bun daroms doctor [--quick]

Node, .env, manifest, cohérence de l’app (écrans, onglets, clés i18n FR = EN), règles, TypeScript, ESLint, expo-doctor. --quick saute les étapes lentes.

Fenêtre de terminal
bun daroms g screen <nom> [--tab] [--icon NomLucide] [--title "Titre"] [--title-en "Title"] [--route chemin] [--force]
bun daroms g feature <nom>
bun daroms g table <table> --fields "titre:text, fait:bool=false" [--feature nom] [--singular nom] [--local]
bun daroms g module <slug> [--description "..."] # dans le dépôt du cœur

Détail : Ajouter un écran, Ajouter une table, Développer le cœur.

Fenêtre de terminal
bun daroms icons add Rocket Sprout

Génère les icônes Lucide demandées dans l’app (@/icons). Le jeu de base (102 icônes) est dans @daroms/ui/icons. Jamais d’autre jeu d’icônes.

Fenêtre de terminal
bun daroms module list
bun daroms module add <slug> [--no-install]
bun daroms module remove <slug>

Détail : Ajouter un module.

Fenêtre de terminal
bun daroms shot <route> [--dark] [--capture] [--width 390] [--locale en] [--storage cle=val,...] [--storage-file f.json] [--android] [--port 8099]
bun daroms shot --stop

Rapport texte (erreurs, exceptions, débordements) puis capture si utile ou si --capture. Le serveur web est réutilisé tant que manifest et marque ne changent pas. Détail : Vérifier.

Fenêtre de terminal
bun daroms test [motif]
bun daroms e2e [flow] [--go] [--driver]

test : jest-expo. e2e : Maestro sur l’appareil connecté ; --go charge l’app dans Expo Go ; --driver pré-lance le pilote Android.

Fenêtre de terminal
bun daroms assets

Depuis assets/source/icon.svg (et foreground.svg facultatif) : icon.png (1024), adaptive-icon.png, splash-icon.png (512), favicon.png (48).

Fenêtre de terminal
bun daroms inspire <url...> [--clear]
bun daroms inspire

Télécharge dans .daroms/inspiration/ (non versionné) l’image de chaque URL : image directe, ou page dont il prend l’aperçu (og:image). Claude regarde ensuite ces fichiers pendant /daroms-inspire. 12 adresses au plus, 8 Mo au plus par image, formats png, jpg, webp et gif ; index.json garde la source de chaque fichier. Sans argument : liste les aperçus ; --clear vide le dossier d’abord.

La commande s’annonce comme daroms-inspire et ne contourne rien : une page qui refuse la lecture automatique (Dribbble et Behance le font souvent) est signalée puis sautée ; garder alors le lien et l’extrait de la recherche.

Fenêtre de terminal
bun daroms db new <nom> # migration vide horodatée
bun daroms db push # applique les migrations au projet lié, régénère src/types/db.ts
bun daroms db types # src/types/db.ts depuis Supabase (hors ligne sans projet lié)
bun daroms db reset # supabase db reset (base locale)
Fenêtre de terminal
bun daroms build [preview|production|development] [--platform ios|android|all]
bun daroms submit [--platform ios|android|all]
bun daroms update [canal] --message "..."

Détail : Publier.

Fenêtre de terminal
bun daroms cost [--print] [--out fichier]

Lit les transcripts de Claude Code (~/.claude/projects, ou $CLAUDE_CONFIG_DIR/projects) et chiffre chaque réponse de Claude au tarif de l’API Anthropic : entrée, sortie, cache lu, cache écrit (5 min et 1 h), mode rapide, recherches web. Écrit app.cost.md : total, coût par étape (/daroms-idea, /daroms-brand, /daroms-screen…), par modèle et par session, et ce qu’il faut retenir (étape la plus chère, effet du cache, part des sous-agents). --print affiche sans écrire.

  • Une session compte pour l’app où elle a passé la majorité de son temps : /daroms-day lancé depuis une autre app compte pour la nouvelle.
  • Les sous-agents (designer, store…) sont inclus et rattachés à l’étape en cours.
  • Avec un abonnement Claude Pro ou Max, ces montants ne sont pas facturés ainsi : ils mesurent l’usage, à comparer d’une app à l’autre.
  • Claude Code efface ses transcripts après 30 jours (cleanupPeriodDays) : /daroms-day écrit le rapport en fin de journée et le versionne.
  • Tarifs dans cli/lib/pricing.ts du cœur, avec leur date de relevé ; un modèle inconnu est signalé et compté 0 $.
  • sync-ai : copie core/_ai vers .claude/ (règles, skills, agents, hooks, contexte) et fusionne settings.json. Le hook daroms-sync le fait au début de chaque session.
  • catalog : régénère packages/ui/CATALOG.md et _ai/digest.md depuis les sources du cœur.
Fenêtre de terminal
bun daroms release-core <patch|minor|major> [--dry]

Dans le dépôt du cœur : nouvelle version dans VERSION et tous les package.json, section de CHANGELOG.md depuis les commits conventionnels, commit et tag. L’arbre git doit être propre ; --dry affiche le résultat sans rien écrire. git push --follow-tags déclenche ensuite la publication npm (Développer le cœur).