À propos du projet
CLI Printing Press est un générateur qui produit des outils en ligne de commande et des serveurs MCP pour des API ou sites web arbitraires, avec un fort accent sur l'utilisabilité par des agents IA. Il est écrit en Go et distribué sous forme de binaire plus un ensemble de compétences d'agent (commandes slash) qui pilotent le binaire.
Ce qu'il fait
- Lit la documentation officielle des API, étudie les CLIs et serveurs MCP communautaires populaires, et peut également rétro-ingénierer des API non documentées en capturant le trafic navigateur.
- Accepte une spécification OpenAPI, une URL de site web ou un fichier HAR en entrée.
- Produit deux binaires par API : une CLI basée sur Cobra (`<api>-pp-cli`) et un serveur MCP (`<api>-pp-mcp`), partageant le même client, stockage et code d'authentification.
- Génère des documents de recherche, des preuves de vérification et un score de qualité accompagnant le code.
Points de conception clés
- Couche de données locale d'abord : tables SQLite spécifiques au domaine, recherche plein texte FTS5, synchronisation incrémentale avec suivi de curseur, et commande `sql` pour requêtes directes. Les commandes comme `sync`, `search` et `sql` fonctionnent hors ligne.
- Commandes composées : une fois les données locales, des commandes telles que `stale`, `health`, `bottleneck` et `reconcile` peuvent joindre des ressources et analyser l'historique.
- Sortie native pour agents : tableaux lisibles par l'humain dans un terminal, JSON automatique lorsqu'il est redirigé, `--compact` pour réduire les jetons de sortie, codes de sortie typés (0/2/3/4/5/7), `--dry-run`, `--select`, `--csv`, `--stdin` et autres drapeaux sur chaque commande.
- Double interface : la CLI cible les agents basés sur shell, tandis que le serveur MCP cible les intégrations IDE telles que Claude Desktop et Cursor.
- Vérification : tableau de bord, dogfooding, preuve de comportement et tests de fumée d'API en direct optionnels sont utilisés pour détecter les chemins hallucinés, les drapeaux morts et les incohérences d'authentification.
Flux de travail
- L'installation se fait via un script shell qui exécute `go install` pour le générateur et installe les compétences via le CLI npm `skills`. Claude Code est la cible par défaut et la mieux testée ; Codex est pris en charge avec un drapeau `--agent codex`.
- Dans une session d'agent, `/printing-press <app-name>` démarre une exécution de génération. Des commandes supplémentaires incluent `/printing-press-reprint`, `/printing-press-polish`, `/printing-press-publish` et `/printing-press-amend`.
- Le pipeline passe par des phases : résolution/réutilisation, brief de recherche, porte d'absorption de l'écosystème, porte de reniflage navigateur, génération, construction du GOAT, vérification d'expédition et test de fumée en direct optionnel. Un pipeline géré plus long de 9 phases est documenté pour les utilisateurs qui souhaitent arrêter, reprendre ou réexécuter des étapes individuelles.
- La sortie est organisée sous `~/printing-press/` avec des répertoires séparés pour les exécutions actives, les CLIs publiés et les manuscrits archivés.
Concepts notables
- "Non-Obvious Insight" (NOI) : une reformulation en une phrase de ce pour quoi une API est vraiment utile, utilisée comme base créative pour les commandes générées.
- "Absorb and transcend" : cataloguer les fonctionnalités des outils existants et serveurs MCP, les faire correspondre, puis ajouter des capacités composées rendues possibles par les données locales.
- Une "échelle de créativité" allant de simples wrappers d'endpoints à des commandes d'insight comportemental.
Exigences et mises en garde
- Nécessite Go 1.26.6 ou plus récent, Node/npm pour `npx`, et un agent prenant en charge les compétences (Claude Code testé).
- Le README fait des affirmations de performance et de qualité (par exemple, économies de jetons et vitesse) qui sont des assertions du projet lui-même plutôt que des benchmarks vérifiés indépendamment.
- Le dépôt ne contient plus de catalogue de sources ; les CLIs publiés sont maintenus dans un dépôt de bibliothèque séparé.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.