Smart Actions
Smart Actions est une fonctionnalité puissante qui vous permet de créer des workflows d'automatisation personnalisés via des fichiers de configuration JSON/YML. En plaçant des définitions d'actions dans le dossier .supercode/actions/ (dans la racine du projet ou le répertoire personnel), vous pouvez créer des intégrations sophistiquées qui modifient les prompts, interagissent avec des services externes et personnalisent le comportement de l'IA de manière à correspondre parfaitement à votre workflow de développement.

Une action est une opération universelle qui peut être déclenchée de plusieurs manières: par interaction directe de l'utilisateur en cliquant sur des boutons dans divers menus (comme vous'le lirez ci-dessous), via des déclencheurs comme les commandes vocales, ou configurée comme actions automatiques dans des situations spécifiques. En utilisant les actions, vous pouvez modifier votre demande actuelle, le prompt système, le modèle sélectionné et le mode agent choisi de nombreuses façons différentes.
Ces modifications peuvent aller d'opérations très simples comme l'ajout de texte à votre demande actuelle ou l'ajout d'informations au prompt système, à des pipelines complexes où votre prompt est envoyé à votre propre serveur pour un traitement personnalisé avant d'être renvoyé à Cursor. Les Actions représentent un sous-système incroyablement puissant de Supercode qui vous permet de presque complètement réécrire la façon dont l'agent IA traite vos demandes.
Avec les actions, vous pouvez créer n'importe quoi, des commodités simples comme un joli bouton avec un prompt et un modèle prédéfinis qui exécutent une demande spécifique, à d'énormes workflows multicouches impliquant l'exécution séquentielle de plusieurs demandes par différents modèles. Les possibilités sont pratiquement illimitées.
Créer des Actions Personnalisées
Les actions sont définies dans des fichiers JSON/YML dans le répertoire .supercode/actions/. Chaque fichier JSON/YML sert de collection d'actions connexes, où vous pouvez regrouper des actions similaires ou thématiquement connectées. Dans chaque fichier, la structure est un objet où les clés représentent un nom d'action unique et les valeurs définissent la configuration de l'action. Les actions peuvent effectuer plusieurs types d'opérations, des modifications de prompt simples aux intégrations complexes avec des services externes et à la sélection dynamique de modèles.
Configuration d'Action de Base
Voici un exemple simple montrant la structure de base des actions:
{
"Security Review": {
"icon": "🔒",
"menu": "buttons",
"mode": "SC:Architect",
"systemPrompt": "You are a security expert. Focus on input validation, authentication, and potential attack vectors.",
"prompt": "$prompt \n\n Implement it with a focus on security."
},
"Performance Analysis": {
"icon": "⚡",
"menu": ["prompts", "buttons"],
"prompt": "Analyze the code for performance bottlenecks and suggest optimizations.",
"model": "o3",
"run": true
}
}Types de Menu
- "prompts": Apparaît dans le menu des Prompts Utilisateur aux côtés des prompts personnalisés
- "enhancers": Disponible dans le menu déroulant des Améliorateurs Personnalisés pour les workflows d'amélioration de prompts
- "buttons": S'affiche sous forme d'icônes emoji dans la barre d'outils de l'IDE Cursor pour un accès rapide
Vous pouvez spécifier plusieurs types de menu en utilisant un tableau: ["prompts", "buttons"]
Updaters: Modification Dynamique des Valeurs
Les Smart Actions supportent de puissants "updaters" qui peuvent modifier dynamiquement les prompts, les prompts système, les modèles et les modes. Les updaters peuvent utiliser des variables comme $prompt, $model et $mode pour référencer les valeurs actuelles et les transformer.
Types d'Updaters
- Simple: Remplacer par une valeur de chaîne statique (par défaut lors de l'utilisation de chaînes simples)
- URL: Envoyer les valeurs actuelles à un serveur web et utiliser la réponse comme nouvelle valeur
- Command: Exécuter une commande shell avec les valeurs actuelles et utiliser stdout comme nouvelle valeur
- AI: Utiliser l'IA pour transformer les valeurs actuelles en fonction d'un prompt système
{
"Add Project Context": {
"icon": "🌐",
"menu": "enhancers",
"prompt": {
"url": "https://your-server.com/api/enhance"
}
},
"Security Focus": {
"icon": "🔐",
"menu": "enhancers",
"prompt": {
"ai": "Add security considerations and best practices to this prompt: $prompt"
}
}
}Utiliser des Variables dans les Updaters
Les updaters peuvent référencer le contexte actuel en utilisant des variables avec le signe dollar. Ces variables vous permettent de créer des transformations dynamiques qui fonctionnent avec l'état actuel:
Variables Disponibles
$prompt- Le texte du prompt actuel$model- Le modèle IA actuellement sélectionné$mode- Le mode actuel (le cas échéant)$systemPrompt- Le prompt système actuel
{
"Add Debug Logging": {
"icon": "🐛",
"menu": "prompts",
"prompt": "Add comprehensive debug logging to this code. Original request: $prompt",
"systemPrompt": "Focus on adding meaningful log statements that help with debugging. Current model: $model"
},
"Convert to TypeScript": {
"icon": "🔷",
"menu": "buttons",
"prompt": {
"ai": "Convert the following code to TypeScript with proper type definitions: $prompt"
},
"model": "claude-3-5-sonnet"
}
}Exemples d'Updaters Avancés
Voici des exemples plus sophistiqués utilisant différents types d'updaters:
{
"Context-Aware Assistant": {
"icon": "🤖",
"menu": "prompts",
"systemPrompt": {
"ai": "Create a system prompt optimized for the current model ($model) and mode ($mode)"
},
"prompt": "Help me with: $prompt"
},
"Test External": {
"menu": "buttons",
"icon": "🚀",
"prompt": {
"url": "https://api.supercode.sh/prompt-echo"
},
"systemPrompt": "You must start your response with 'Hello, world!'",
"run": true
}
}Commandes Vocales et Intégration IDE
Les actions peuvent également s'intégrer avec des commandes vocales et des opérations IDE:
{
"Run Tests": {
"voiceCommand": ["run tests", "execute tests", "test project"],
"ideCommand": {
"name": "workbench.action.tasks.runTask",
"args": ["npm: test"]
}
},
"Quick Fix": {
"icon": "⚡",
"menu": "prompts",
"prompt": "Fix any obvious errors in the selected code",
"run": true
}
}Exemple d'Action Complète
Voici un exemple complet qui démontre plusieurs fonctionnalités des Smart Actions:
{
"Full-Stack Code Review": {
"icon": "🔍",
"menu": ["prompts", "buttons"],
"model": {
"ai": "Select the best model for code review based on current context: $model"
},
"systemPrompt": {
"ai": "Create a comprehensive system prompt for code review that considers the current project context and selected model ($model)"
},
"prompt": {
"url": "https://your-company.com/api/enhance-review-prompt"
},
"voiceCommand": ["review code", "full stack review"],
"actions": ["security_scan", "performance_check"]
}
}Workflows: Exécution Séquentielle d'Actions
L'une des fonctionnalités les plus puissantes des Smart Actions est la capacité de créer des Workflows via une exécution automatique séquentielle. Lorsqu'une action inclut "run": true ou "instantRun": true, le prompt actuel (y compris toutes les modifications imbriquées) est automatiquement envoyé à l'Agent Cursor pour exécution immédiatement après la fin de l'action.
Exécution Automatique
Lorsque vous créez un Workflow composé de plusieurs Actions, chacune avec "run": true, Supercode déclenchera automatiquement la prochaine demande après la fin réussie de la précédente. Cela crée des workflows de développement automatisés incroyablement puissants.
Par exemple, vous pouvez utiliser un mode architectural avec un modèle de réflexion approfondie dans une Action pour concevoir l'implémentation de fonctionnalités, puis avoir une autre Action effectuer l'implémentation avec un modèle plus simple. Une Action de Workflow peut alors appeler séquentiellement la première Action pour concevoir la solution, et automatiquement basculer vers la deuxième Action pour l'implémentation sans nécessiter votre intervention manuelle.
{
"Architecture Design": {
"icon": "🏗️",
"mode": "SC:Architect",
"model": "o3",
"prompt": "Design the architecture and implementation plan for: $prompt",
"systemPrompt": "Focus on system design, component relationships, and implementation strategy.",
"run": true
},
"Implementation": {
"icon": "⚙️",
"model": "claude-4-sonnet",
"prompt": "Implement the feature based on the architectural design: $prompt",
"systemPrompt": "Focus on clean, maintainable code implementation.",
"run": true
},
"Full Feature Workflow": {
"icon": "🚀",
"menu": ["prompts", "buttons"],
"actions": ["Architecture Design", "Implementation"],
"voiceCommand": ["build feature", "full workflow"]
}
}Workflows Imbriqués
En utilisant ce mécanisme, vous pouvez créer des Workflows imbriqués qui permettent à l'Agent Cursor d'effectuer des séquences complexes d'opérations sur des dizaines de minutes. Chaque étape du workflow peut utiliser différents modèles, modes et prompts système optimisés pour des tâches spécifiques, créant des pipelines d'automatisation sophistiqués qui s'adaptent à votre processus de développement.
{
"Code Review & Fix": {
"model": "claude-4-opus",
"prompt": "Review this code for issues: $prompt",
"systemPrompt": "Identify bugs, security issues, and improvement opportunities.",
"run": true
},
"Apply Fixes": {
"model": "claude-4-sonnet",
"prompt": "Apply the suggested fixes from the review: $prompt",
"run": true
},
"Generate Tests": {
"model": "claude-4-sonnet",
"prompt": "Create comprehensive tests for the fixed code: $prompt",
"run": true
},
"Complete Code Pipeline": {
"icon": "🔄",
"menu": ["buttons"],
"actions": ["Code Review & Fix", "Apply Fixes", "Generate Tests"],
"voiceCommand": ["run pipeline", "complete workflow"]
}
}Avantages et Cas d'Usage
Les Smart Actions débloquent de puissantes possibilités d'automatisation:
- Créer des assistants IA spécifiques au domaine pour différentes parties de votre application
- Intégrer avec des outils et bases de connaissances spécifiques à l'entreprise via des appels API et RAG
- Automatiser des workflows de développement complexes en plusieurs étapes
Avec les Smart Actions, Supercode devient une plateforme pour créer des workflows de développement sophistiqués alimentés par l'IA qui s'adaptent à vos exigences uniques et s'intègrent parfaitement avec vos outils et processus existants.

