Skip to content

feat(integrations): add MiniMax Code (mcode) agent integration (#4644) - #4645

Open
philo-x wants to merge 2 commits into
github:mainfrom
philo-x:feat/4644-support-minimax-code
Open

philo-x wants to merge 2 commits into
github:mainfrom
philo-x:feat/4644-support-minimax-code

Conversation

@philo-x

@philo-x philo-x commented Sep 19, 2026

Copy link
Copy Markdown
Contributor

Description

Adds MiniMax Code (an AI coding assistant CLI, binary mcode) as a supported Spec Kit integration under the canonical key mcode.

MiniMax Code discovers project skills natively at .minimax/skills/<skill-name>/SKILL.md (runtime source workspace-minimax, priority 65) and invokes them via its slash shortcut (/speckit-<command>). This wires it up as a SkillsIntegration with its own isolated .minimax/skills layout (multi_install_safe=True).

Headless dispatch uses mcode exec "<prompt>", with optional --model and --output-format json support, verified against mcode exec --help.

Closes #4644

Test selection reasoning

Changed file Affects Test Why
src/specify_cli/integrations/mcode/__init__.py (+ registry wiring) new mcode integration, specify init scaffolding T1 New integration install path; CLI scaffolding change requires at minimum /speckit.specify
src/specify_cli/_invocation_style.py slash-invocation rendering in init next-steps and hook invocations T1 Invocation display feeds every command's guidance
src/specify_cli/commands/init.py specify init next-steps output T1 Init scaffolding change
integrations/catalog.json specify integration search/info discovery T2, T3 Catalog discovery and metadata
docs/reference/integrations.md, issue templates, agent-context-defaults.json docs / issue forms / agent-context extension No slash-command behavior

Required tests

  • T1: /speckit.specify (invoked as /speckit-specify) — new mcode integration install path + init scaffolding + live agent skill execution
  • T2: specify integration search mcode — catalog discovery
  • T3: specify integration info mcode — catalog metadata

Manual test results

Agent: MiniMax Code (mcode 0.4.12 via @minimax-ai/code@latest) | OS/Shell: macOS 15.6 / zsh

Command tested Notes
Setup: specify init ... --integration mcode --non-interactive --script sh PASSmcode executable detected on PATH (no --ignore-agent-tools needed); scaffolded 10 skills under .minimax/skills/speckit-*/SKILL.md; next steps correctly rendered dash-notation slash commands /speckit-constitution, /speckit-specify, /speckit-plan, etc.
Runtime skill discovery: mcode exec "What skills are available in this project?" PASS — MiniMax Code actively scanned .minimax/skills/ and listed all local Spec Kit workflow skills (speckit-specify, speckit-clarify, speckit-plan, speckit-tasks, etc.) as project-local skills.
T1: mcode exec --permission full "/speckit-specify Add health check endpoint with uptime and memory metrics" PASS — Full agent workflow execution verified: MiniMax Code discovered /speckit-specify, ran the feature allocation script, generated specs/001-health-check-endpoint/spec.md, completed checklists/requirements.md, and persisted feature state to .specify/feature.json.
T2: specify integration search mcode PASS — found MiniMax Code (mcode) v1.0.0 with tags cli, skills.
T3: specify integration info mcode PASS — reported MiniMax Code (mcode) v1.0.0, author spec-kit-core, Built-in integration.
Log excerpt: MiniMax Code execution of /speckit-specify (T1)
Specification complete and validated. Here's the summary:

## Completion Report

**Feature**: Health Check Endpoint (feature #001)

- **SPECIFY_FEATURE_DIRECTORY**: specs/001-health-check-endpoint
- **SPEC_FILE**: specs/001-health-check-endpoint/spec.md
- **Checklist**: specs/001-health-check-endpoint/checklists/requirements.md
- Feature context persisted to .specify/feature.json for downstream commands

**What the spec covers**
- 3 prioritized user stories: P1 manual status view (status + uptime + memory), P2 automated monitoring integration (stable machine-readable responses), P3 early warning when memory usage is high
- 8 functional requirements (FR-001–FR-008), each testable
- 5 measurable, technology-agnostic success criteria
- Key entities: Health Status, Uptime, Memory Usage
- Assumptions documenting defaults and out-of-scope items

**Validation results**: All 16 quality checklist items passed on iteration 1. No [NEEDS CLARIFICATION] markers remain.

Automated test results

Ran with .venv/bin/python -m pytest per CONTRIBUTING guidance.

Integration & consistency suites

.venv/bin/python -m pytest \
  tests/integrations/test_integration_mcode.py \
  tests/integrations/test_registry.py \
  tests/test_agent_config_consistency.py -q

Result: 896 passed in 48.11s.

Full test suite

.venv/bin/python -m pytest tests -q

Result: 8,079 passed, 207 skipped, 1 failed.

The single failure, test_ps_variant_prefixed_with_powershell_launcher, is unrelated to this PR and is caused by the absence of pwsh/powershell on macOS.

AI Disclosure

  • I did not use AI assistance for this contribution
  • I did use AI assistance (fill in the disclosure below)

AI disclosure: Prepared with AI assistance. ChatGPT (GPT-5.6 Sol) was used to review the integration design, validate the Spec Kit and MiniMax Code architecture, and identify the relevant integration surfaces. Antigravity (Gemini 3.8 Flash, High, autonomous) was used on behalf of @philo-x for implementation, test authoring, end-to-end mcode workflow verification, and documentation alignment.

…b#4644)

MiniMax Code is an AI coding assistant (binary: mcode). It discovers
project skills from .minimax/skills/<skill-name>/SKILL.md and invokes them
via the /speckit-<command> slash shortcut, so wire it up as a
SkillsIntegration with its own isolated .minimax/ directory
(multi_install_safe=True).

Closes github#4644

Includes registry wiring, invocation-style mapping, init next-steps,
discovery catalog, integrations doc, agent-context default (AGENTS.md),
issue templates, and a dedicated test module.

Assisted-by: Antigravity (model: Gemini 3.8 Flash (High), autonomous)
@philo-x
philo-x requested a review from mnriem as a code owner September 19, 2026 17:28
@mnriem mnriem added the triage-can-wait Verdict: valid and in-scope but deprioritized; held behind the evidence gate label Sep 20, 2026
@mnriem
mnriem requested a balanced review from Copilot September 21, 2026 18:25

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot review overview

🟡 Changes recommended

The unconditional hook invocation behavior lacks coverage for the ai_skills=False path.

Get a fresh assessment by requesting another Copilot review.

Review effort: Balanced
Findings: 1 Low severity

Open (1)
What changed in this PR

Adds MiniMax Code (mcode) as a skills-based CLI integration with catalog, documentation, invocation, and context support.

Changes:

  • Registers and configures .minimax/skills scaffolding and headless dispatch.
  • Adds slash-style invocation and init guidance.
  • Updates discovery metadata, issue templates, documentation, and tests.
File Description
src/​specify_cli/​integrations/​mcode/​__init__.py Implements the integration.
src/​specify_cli/​integrations/​__init__.py Registers mcode.
src/​specify_cli/​commands/​init.py Adds MiniMax next-step guidance.
src/​specify_cli/​_invocation_style.py Adds slash invocation behavior.
integrations/​catalog.json Adds catalog metadata.
extensions/​agent-context/​agent-context-defaults.json Maps mcode to AGENTS.md.
docs/​reference/​integrations.md Documents MiniMax Code.
.github/​ISSUE_TEMPLATE/​feature_request.yml Adds agent option.
.github/​ISSUE_TEMPLATE/​bug_report.yml Adds agent option.
.github/​ISSUE_TEMPLATE/​agent_request.yml Updates supported-agent list.
tests/​integrations/​test_integration_mcode.py Tests integration behavior.
tests/​integrations/​test_registry.py Verifies registration.
tests/​test_agent_config_consistency.py Verifies configuration consistency.

💡 Configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

# Agents that always render /speckit-<name>, regardless of ai_skills.
ALWAYS_SLASH_AGENTS: frozenset[str] = frozenset(
{"devin", "droid", "dsh", "grok", "muse", "qodercli", "trae", "zed"}
{"devin", "droid", "dsh", "grok", "mcode", "muse", "qodercli", "trae", "zed"}
Assisted-by: Codex (model: GPT-6, autonomous)
@philo-x

philo-x commented Sep 22, 2026

Copy link
Copy Markdown
Contributor Author

Follow-up commit 45afe5ac adds mcode to the existing hook-rendering matrix for both ai_skills=True and False, bumps agent-context to 1.0.1 in both its manifest and catalog, and removes the trailing blank line.

Validation: 140 passed, 1 skipped across the slash matrix/Zed, mcode, agent config consistency, and extension version guard contract tests. The extension version guard and git diff --check against the PR base also pass. Ruff was unavailable locally.

Please re-run Copilot review on 45afe5ac. The pending CI workflows are currently awaiting approval.

Posted on behalf of @philo-x by Codex (model: GPT-6, autonomous). This follow-up implementation, validation, and comment were AI-generated; comment fully AI-drafted.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot review overview

🔵 Needs a closer look

The model test uses an invalid CLI model reference, and the new context self-seeding mapping lacks regression coverage.

Review effort: Balanced
Findings: 1 Low severity

Open (1)
Previously missed (2)

In code that hasn't changed since last review

Low severity Cover mcode self-seeding across supported agent-context implementations

extensions/​agent-context/​agent-context-defaults.json:28

The new mcode self-seeding path is not exercised by the agent-context tests: the existing defaults-map tests use only codex/claude. Add mcode to the self-seed parity coverage and assert that the Bash, Python, and PowerShell implementations select AGENTS.md; otherwise a typo in this entry can pass the reported suite while leaving the extension with no target file.

Low severity Use a valid provider/model reference for MiniMax Code

tests/​integrations/​test_integration_mcode.py:54

Use a valid MiniMax Code model reference here. mcode exec --model requires provider/model (or provider/model#variant), so MiniMax-Text-01 would be rejected by the CLI; this test currently proves only string passthrough rather than usable model dispatch.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

triage-can-wait Verdict: valid and in-scope but deprioritized; held behind the evidence gate

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Agent]: Add support for MiniMax Code (mcode)

3 participants