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 |
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.
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.
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.
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œurDétail : Ajouter un écran, Ajouter une table, Développer le cœur.
bun daroms icons add Rocket SproutGé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.
bun daroms module listbun daroms module add <slug> [--no-install]bun daroms module remove <slug>Détail : Ajouter un module.
bun daroms shot <route> [--dark] [--capture] [--width 390] [--locale en] [--storage cle=val,...] [--storage-file f.json] [--android] [--port 8099]bun daroms shot --stopRapport 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.
test et e2e
Section intitulée « test et e2e »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.
bun daroms assetsDepuis assets/source/icon.svg (et foreground.svg facultatif) : icon.png (1024), adaptive-icon.png, splash-icon.png (512), favicon.png (48).
bun daroms inspire <url...> [--clear]bun daroms inspireTé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.
bun daroms db new <nom> # migration vide horodatéebun daroms db push # applique les migrations au projet lié, régénère src/types/db.tsbun daroms db types # src/types/db.ts depuis Supabase (hors ligne sans projet lié)bun daroms db reset # supabase db reset (base locale)build, submit, update
Section intitulée « build, submit, update »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.
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-daylancé 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.tsdu cœur, avec leur date de relevé ; un modèle inconnu est signalé et compté 0 $.
sync-ai et catalog
Section intitulée « sync-ai et catalog »sync-ai: copiecore/_aivers.claude/(règles, skills, agents, hooks, contexte) et fusionnesettings.json. Le hookdaroms-syncle fait au début de chaque session.catalog: régénèrepackages/ui/CATALOG.mdet_ai/digest.mddepuis les sources du cœur.
release-core
Section intitulée « release-core »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).