Aller au contenu

sprezzature-cli-gui

Interface en ligne de commande (CLI) → interface graphique (GUI)

Emballe un outil en ligne de commande dans une GUI en JavaScript (JS) standard + Tailwind, d'une seule page : lit le parseur d'arguments, émet des formulaires et des champs fichier, et fabrique la ligne de commande exacte.

Produit

  • Un seul fichier HTML autonome qui emballe votre CLI : le balisage, la configuration Tailwind et le script qui fabrique la ligne de commande, tous en ligne
  • Sous-commandes et options mappées en formulaires, contrôles segmentés, champs fichier
  • La ligne de commande exacte, assemblée dans le navigateur du visiteur et jamais exécutée là. Copiez-la, ou câblez-la sur un invoke Tauri, un point d’entrée FastAPI, un shell
  • Pour une enveloppe sur mesure, la spec agent va plus loin que la commande unique : le câblage sur l’hôte, et un panneau de journaux en flux pour les commandes qui durent
  • Importe et parcourt l’objet analyseur lui-même pour argparse, Click et Typer — une application Typer est convertie par typer puis lue comme du Click, puisque c’est déjà ce qu’elle est
  • Pour clap, commander et cobra : --from-help exécute le --help de l’outil et en lit le texte. Marche sur n’importe quelle commande, et avec moins de finesse, parce qu’un texte d’aide en dit moins qu’un analyseur
  • Un groupe Click porte le nom de la fonction décorée, qui n’est presque jamais la commande installée. Faute de le préciser, la page fabriquerait une ligne de commande qui n’existe pas

Audite

  • sprezzature-cli-gui-audit relit l’analyseur et la page ensemble : chaque sous-commande et chaque option atteignables, aucun champ qui fabrique une option refusée par l’analyseur, aucun choix perdu en silence, et une ligne de commande amorcée avec le nom sous lequel l’outil est installé. Code de sortie 1 au moindre constat, donc il bloque une construction
  • Suit les conventions de sprezzature-ui : installez sprezzature-ui à côté pour les variables de design (design tokens) complètes
  • Conseils de durcissement pour livrer l'enveloppe (wrapper) en toute sûreté

Dites l'une de ces phrases

La skill se déclenche sur une formulation de ce type, sans commande à mémoriser.

emballe ce CLI dans une GUI argparse en GUI click en UI web GUI pour mon script Python Typer / clap / cobra en GUI frontend pour un CLI panneau de logs en flux

Bibliothèque de références

Les connaissances sur lesquelles la skill s'appuie : à lire directement dans le repo.

Questions fréquentes

Comment installer sprezzature-cli-gui ?

Lancez pip install sprezzature-cli-gui (Python 3.10 ou plus récent) : une seule installation apporte les lecteurs argparse, Click et Typer, le lecteur --from-help, l'audit, l'API HTTP et le serveur MCP, sans option à choisir. Pour la skill, pip install sprezzature puis sprezzature-skills --install, ou sprezzature-skills --install --agent opencode pour OpenCode.

Quels parseurs de ligne de commande sprezzature-cli-gui sait-il lire ?

sprezzature-cli-gui importe et parcourt directement les parseurs argparse, Click et Typer : chaque sous-commande, option et choix vient du parseur lui-même. Un outil écrit dans un autre langage, comme cobra en Go ou clap en Rust, passe par --from-help, qui lance le --help de l'outil et en lit le texte, avec moins de fidélité.

Que contient l'interface graphique produite par sprezzature-cli-gui ?

sprezzature-cli-gui écrit une seule page HTML autonome, en JavaScript simple et Tailwind : une section dépliable par sous-commande et un champ par option (case à cocher, liste, nombre ou texte). Le bouton « Build command » assemble la ligne de commande exacte dans le navigateur ; la page ne l'exécute jamais, à vous de la copier ou de la brancher sur un invoke Tauri ou un serveur.

sprezzature-cli-gui envoie-t-il mon code dans le cloud ou a-t-il besoin d'un modèle d'IA ?

Non : sprezzature-cli-gui n'emploie ni modèle ni Ollama, et sa ligne de commande importe votre CLI sur votre propre machine ; l'API HTTP et le serveur MCP n'acceptent que l'arbre du parseur, jamais un module à importer. Le seul accès réseau est celui de la page produite : elle charge Tailwind depuis cdn.tailwindcss.com pour le style, et ses champs marchent sans style hors ligne.

Peut-on utiliser sprezzature-cli-gui sans Claude Code ?

Oui : sprezzature-cli-gui est une bibliothèque Python (walk, render_html, audit), une ligne de commande comme sprezzature-cli-gui my_pkg.cli:build_parser --out gui.html, une API HTTP avec image Docker, et un serveur MCP, sprezzature-cli-gui-mcp, pour tout client MCP. La skill pour agent n'est qu'une de ces portes d'entrée.

Quelle différence entre sprezzature-cli-gui et Gooey, Streamlit ou Gradio ?

Gooey lit lui aussi votre parseur, mais il exécute la commande dans une fenêtre de bureau wxPython, alors que sprezzature-cli-gui produit un fichier HTML statique qui construit la ligne de commande sans rien exécuter. Streamlit et Gradio ne lisent aucun parseur : vous écrivez chaque widget vous-même, ce qui se justifie quand l'interface est le produit et non une façade posée sur une commande existante.

Peut-on lancer sprezzature-cli-gui en CI ?

Oui : sprezzature-cli-gui-audit mytool.cli:build_parser gui.html relit ensemble le parseur et la page et sort avec le code 1 quand la page a pris du retard sur la CLI, par exemple une option sans champ, un champ pour une option que le parseur refuse, un choix perdu ou un mauvais nom de programme. Ajoutez --format json pour un rapport lisible par une machine.

sprezzature-cli-gui est-il gratuit ?

Oui. sprezzature-cli-gui est open source sous licence BSD 3-Clause, sans compte, sans clé d'API ni offre payante, et son code est sur GitHub.