Add Mistral Vibe as experimental coding agent#16597
Conversation
- Added Mistral Vibe version constant and LLM gateway port (10004) - Created mistral_vibe_engine.go with core engine implementation - Created mistral_vibe_mcp.go for TOML-based MCP configuration - Created mistral_vibe_logs.go for JSON log parsing - Registered Mistral Vibe engine in engine registry - Added comprehensive unit tests - Marked as experimental engine - Installation via curl/uv instead of npm - Uses programmatic mode (-p) for non-interactive execution - Supports max-turns, custom models, and tool allow-listing Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
- Added mistral-vibe to engine enum in main_workflow_schema.json - Updated engine registry tests to expect 4 engines - Fixed test assertions to use testify best practices - Successfully compiled test workflow with mistral-vibe engine - Workflow shows correct installation (curl/uv) and execution steps Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
|
@copilot add a simple smoke-mistral agentic workflow that does the usual smoke workflow stuff using the 'mistral' engine. |
- Created smoke-mistral.md workflow following smoke-codex pattern - Tests GitHub MCP, Serena MCP, Playwright, bash, and build - Uses mistral-vibe engine with experimental flag - Includes safe-outputs for labels, comments, and issue management - Reaction emoji: rocket (🚀) - Compiles successfully with only safe-inputs warning Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Added smoke-mistral workflow in commit bb4fed5. The workflow follows the same pattern as smoke-codex and smoke-claude, testing GitHub MCP, Serena MCP, Playwright, bash tools, and build verification using the mistral-vibe engine. Warning Firewall rules blocked me from connecting to one or more addresses (expand for details)I tried to connect to the following addresses, but was blocked by firewall rules:
If you need me to access, download, or install something from one of these locations, you can either:
|
|
@copilot merge main, recompile |
…ibe-agent # Please enter a commit message to explain why this merge is necessary, # especially if it merges an updated upstream into a topic branch. # # Lines starting with '#' will be ignored, and an empty message aborts # the commit.
- Merged latest changes from origin/main - Recompiled all 153 workflows successfully - Updated smoke-mistral.lock.yml with GH_AW_GROUP_REPORTS flag - All workflows compile without errors Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Completed in commits 0809f39 (merge) and f4dc0b5 (recompile). All 153 workflows recompiled successfully including smoke-mistral.md. Warning Firewall rules blocked me from connecting to one or more addresses (expand for details)I tried to connect to the following addresses, but was blocked by firewall rules:
If you need me to access, download, or install something from one of these locations, you can either:
|
Implementation Plan for Mistral Vibe Coding Agent
pkg/constants/constants.gopkg/workflow/mistral_vibe_engine.gowith core engine implementationMistralVibeEnginestruct embeddingBaseEngineNewMistralVibeEngine()constructor (experimental=true, port=10004)GetRequiredSecretNames()for MISTRAL_API_KEYGetInstallationSteps()using curl install scriptGetExecutionSteps()with -p flag and config.toml generationpkg/workflow/mistral_vibe_mcp.gofor MCP configurationRenderMCPConfig()to generate config.toml formatpkg/workflow/mistral_vibe_logs.gofor log parsingParseLogMetrics()for JSON/streaming outputGetLogParserScriptId()andGetLogFileForParsing()pkg/workflow/agentic_engine.gopkg/workflow/mistral_vibe_engine_test.gomake fmt,make lint,make test-unitAll tasks completed! Mistral Vibe engine is now fully implemented, tested, and integrated into gh-aw with all workflows recompiled.
Original prompt
This section details on the original issue you should resolve
<issue_title>Add Mistral Vibe as coding agent</issue_title>
<issue_description>After talking with Pini Wietchner at Mistral we will take a look at adding support for Mistral Vibe
@pelikhan is tidying up the internal engineering to make sure adding new coding agents is reasonably straight-forward.
I asked Opus to take a look at the coding agent features needed, download Mistral Vibe CLI and analyze what's what according what's needed. Here's what it came up with
Technical Requirements for Coding Agent CLI Integration with gh-aw
Support Comparison Table
--prompt--printexecsubcommand-p(programmatic mode)--prompt "..."exec "..."-p "..."@github/copilot@anthropic-ai/claude-code@openai/codexCOPILOT_GITHUB_TOKENANTHROPIC_API_KEYOPENAI_API_KEYMISTRAL_API_KEY--mcp-config--mcp-config--allow-tool--allowed-tools--enabled-tools²server(tool)mcp__server__tool--debug-file--output json|streaming--log-dir--debug-file--log-level all--verbose--model--model-c model=--max-turns--max-turns--max-price--add-dir--dangerously-skip-permissions--dangerously-bypass...-pauto-approves--accept--disable-slash-commands-pmode--agent--agent NAME⁴--searchcopilot plugin install--continue,--resume--workdir(planned)--workdirLegend: ✅ Full support |⚠️ Partial/limited | ❌ Not supported
Footnotes
¹ Mistral Vibe MCP: MCP servers configured via
~/.vibe/config.toml[[mcp_servers]]section, not CLI flag. Supports stdio, http, streamable-http transports.² Vibe tool patterns:
--enabled-toolssupports exact names, glob patterns (bash*), and regex (re:^pattern$).³ Vibe logging: Session logs stored in
~/.vibe/logs/. JSON output via--output jsononly in programmatic mode.⁴ Vibe agents: References TOML files in
~/.vibe/agents/NAME.toml, not markdown files.Requirements for gh-aw Integration
1. Core CLI Interface
Essential:
--prompt "instruction"or positional argument)--prompt-file /path/to/prompt.txt)npm install -g @mistral/vibe-cli) or provide equivalent installation method2. Authentication
Essential:
MISTRAL_API_KEY)3. MCP (Model Context Protocol) Integration
Highly Recommended:
--mcp-config /path/to/config.json)🔒 GitHub Advanced Security automatically protects Copilot coding agent pull requests. You can protect all pull requests by enabling Advanced Security for your repositories. Learn more about Advanced Security.