fix: migrate Qwen Code CLI from TOML to Markdown format (#1589)#1730
fix: migrate Qwen Code CLI from TOML to Markdown format (#1589)#1730mnriem merged 2 commits intogithub:mainfrom
Conversation
019c671 to
90e6436
Compare
There was a problem hiding this comment.
Pull request overview
Migrates Qwen Code CLI support from TOML to Markdown across release packaging, documentation, and tests to match Qwen Code CLI v0.10.0+ expectations.
Changes:
- Generate Qwen command files as
.mdwith$ARGUMENTSin both bash and PowerShell release packaging scripts. - Update
AGENTS.mdto reflect Qwen’s Markdown command format (and remove it from the TOML list). - Add/extend tests to cover Qwen Markdown command directories and preservation of existing Qwen commands.
Reviewed changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated 4 comments.
| File | Description |
|---|---|
tests/test_ai_skills.py |
Adds Qwen Markdown fixtures/tests for skills installation and command preservation. |
AGENTS.md |
Updates Qwen format documentation from TOML → Markdown. |
.github/workflows/scripts/create-release-packages.sh |
Switches Qwen release package command generation to Markdown with $ARGUMENTS. |
.github/workflows/scripts/create-release-packages.ps1 |
Mirrors the bash script change for Qwen in PowerShell packaging. |
Comments suppressed due to low confidence (1)
tests/test_ai_skills.py:412
- These test templates are written without an explicit encoding. Since
install_ai_skills()reads templates as UTF-8, setencoding="utf-8"on thesewrite_text()calls to avoid locale-dependent failures on Windows/CI.
(cmds_dir / "speckit.specify.md").write_text(
"---\ndescription: Create or update the feature specification.\n---\n\n# Specify\n\nBody.\n"
)
(cmds_dir / "speckit.plan.md").write_text(
"---\ndescription: Generate implementation plan.\n---\n\n# Plan\n\nBody.\n"
)
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
mnriem
left a comment
There was a problem hiding this comment.
Please address Copilot feedback where applicable. When not applicable, please explain why. Thanks!
7ce57cb to
f2866b2
Compare
f2866b2 to
5e72806
Compare
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 4 out of 4 changed files in this pull request and generated 2 comments.
Comments suppressed due to low confidence (1)
AGENTS.md:375
- The PR description says “now only Gemini uses TOML”, but this doc (and the release scripts) still list Tabnine as TOML-based. Please reconcile the PR description vs. the actual supported agents/formats (either update the description, or update docs/scripts if Tabnine is no longer TOML).
### TOML Format
Used by: Gemini, Tabnine
```toml
description = "Command description"
prompt = """
Command content with {SCRIPT} and {{args}} placeholders.
"""
</details>
---
💡 <a href="/github/spec-kit/new/main?filename=.github/instructions/*.instructions.md" class="Link--inTextBlock" target="_blank" rel="noopener noreferrer">Add Copilot custom instructions</a> for smarter, more guided reviews. <a href="https://docs.github.com/en/copilot/customizing-copilot/adding-repository-custom-instructions-for-github-copilot" class="Link--inTextBlock" target="_blank" rel="noopener noreferrer">Learn how to get started</a>.
mnriem
left a comment
There was a problem hiding this comment.
Please address Copilot feedback. If not applicable please explain why.
Qwen Code CLI v0.10.0 deprecated TOML format and fully switched to
Markdown as the core format for configuration and interaction files.
- Update create-release-packages.sh: generate .md files with $ARGUMENTS
instead of .toml files with {{args}} for qwen agent
- Update create-release-packages.ps1: same change for PowerShell script
- Update AGENTS.md: reflect Qwen's new Markdown format in docs and
remove Qwen from TOML format section
- Update tests/test_ai_skills.py: add commands_dir_qwen fixture and
tests covering Markdown-format skills installation for Qwen
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
extensions.py CommandRegistrar.AGENT_CONFIGS['qwen'] was still set to
TOML format, causing `specify extension` to write .toml files into
.qwen/commands, conflicting with Qwen Code CLI v0.10.0+ expectations.
- Change qwen format from toml to markdown
- Change qwen args from {{args}} to $ARGUMENTS
- Change qwen extension from .toml to .md
- Add test to assert qwen config is Markdown format
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
5e72806 to
b06f599
Compare
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 6 out of 6 changed files in this pull request and generated no new comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
…recation Merged upstream changes: - fix: clean up command templates (specify, analyze) (github#1810) - fix: migrate Qwen Code CLI from TOML to Markdown format (github#1730) - fix(cli): deprecate explicit command support for agy (github#1808) - Add /selftest.extension core extension to test other extensions (github#1758) - feat(extensions): Quality of life improvements for RFC-aligned catalog (github#1776) Conflict resolution: - README.md: Kept our categorized agent table, added Jules agent - extensions/catalog.json: Added selftest extension, kept our extensions - src/specify_cli/__init__.py: Kept our extension management, added agy deprecation - src/specify_cli/extensions.py: Merged improvements, kept our qwen toml format - tests/test_ai_skills.py: Added upstream's qwen markdown tests
Summary
Background
Qwen Code CLI v0.10.0 deprecated the TOML format and fully switched to Markdown as the core format for configuration and interaction files. The
current spec-kit codebase still retained logic for adapting to Qwen Code CLI's TOML format, leading to compatibility issues with the latest version.
Reference: https://qwenlm.github.io/qwen-code-docs/en/users/features/commands/#4-custom-commands
Changes
1. Release Scripts
.mdfiles with$ARGUMENTSinstead of.tomlfiles with{{args}}2. Documentation
3. Tests
commands_dir_qwenfixture for Markdown-format Qwen commandstest_qwen_md_commands_dir_installs_skillsto verify skills installation from Markdown templatestest_existing_commands_preserved_qwento ensure existing commands are not removedTest plan
specify init --ai qwenwith Qwen Code CLI v0.10.0+Compatibility
specify init --ai qwenFixes #1589