Cadenza : un SDK minimaliste qui maximise l’utilité des applications .NET 10 basées sur des fichiers
(github.com/rkttu)Cadenza est un ensemble de SDK de scripting en fichier unique pour les applications .NET 10+ basées sur des fichiers. Il est conçu pour permettre d’écrire et d’exécuter du code immédiatement, à condition d’avoir simplement installé la dernière version du SDK .NET 10. Pour donner un peu de contexte à celles et ceux qui ne connaissent pas encore le concept, on peut voir cela comme une expérience comparable à celle que uv apporte avec la PEP 723 dans l’écosystème Python.
Avec Cadenza, on peut choisir l’un des cinq grands types de SDK suivants pour le développement.
- Cadenza: scripts console, utilitaires CLI
- Cadenza.Worker: services en arrière-plan, démons
- Cadenza.Web: API web, scripts Minimal API
- Cadenza.Mcp: serveur MCP pour les agents IA de Claude / Cursor / VS Code
- Cadenza.Agent: agent IA local (basé sur MEAI)
Même si plusieurs fonctionnalités de base sont fournies, y compris pour les API web, l’aspect que je souhaite surtout mettre en avant est le développement d’agents. Par exemple, pour créer un agent IA personnalisé, il est possible d’écrire et d’exécuter du code comme ci-dessous, puis de le compiler en exécutable autonome ou en image de conteneur Docker.
ServedModelName = "custom-codex-agent";
SystemPrompt("You are a helpful assistant with read-only filesystem access.");
Tool("read_file", "Read a UTF-8 text file from disk",
(string path) => ReadText(path));
Tool("list_files", "List files matching a glob pattern (e.g., **/*.cs)",
(string pattern) => Glob(pattern).ToArray());
UseOllama("llama3.2");
await Run();
De plus, une fois cet agent IA créé, il suffit de préparer un fichier de configuration séparé comme ci-dessous et de remplacer la variable d’environnement CODEX_HOME pour ouvrir une voie de personnalisation de la configuration de l’agent IA.
model = "cadenza-codex-openrouter"
model_provider = "cadenza"
model_catalog_json = "{catalogPath}"
[model_providers.cadenza]
name = "Cadenza.Agent (OpenRouter-backed)"
base_url = "http://localhost:8080/v1"
wire_api = "responses"
env_key = "CADENZA_API_KEY"
stream_idle_timeout_ms = 300000
Par ailleurs, l’écriture de scripts basés sur Cadenza est immédiatement utilisable avec la C# extension de base pour VS Code (pas Dev Kit), ou avec la C# extension de base pour d’autres éditeurs compatibles VS Code. Aucune licence Visual Studio n’est donc nécessaire.
N’hésitez pas à l’utiliser largement et à me faire part de vos retours !
Aucun commentaire pour le moment.