-
-
Notifications
You must be signed in to change notification settings - Fork 5.2k
add Qoder code agent support #2017
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -202,6 +202,16 @@ platforms: | |
| template_type: default | ||
| skill_format: true | ||
|
|
||
| qoder: | ||
| name: "Qoder" | ||
| preferred: false | ||
| category: ide | ||
| description: "Qoder AI coding assistant" | ||
| installer: | ||
| target_dir: .qoder/skills | ||
| template_type: default | ||
| skill_format: true | ||
|
Comment on lines
+211
to
+213
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. No overwrite guard for user-customized files. With no explicit 🤖 Prompt for AI Agents |
||
|
|
||
|
Comment on lines
+205
to
+214
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🛠️ Refactor suggestion | 🟠 Major Config is being accepted without schema checks; this entry can silently regress.
🤖 Prompt for AI Agents🧩 Analysis chain🏁 Script executed: #!/bin/bash
# Read-only reconnaissance for existing coverage around platform-codes and qoder.
rg -n -C2 '\bqoder\b|platform-codes\.yaml|loadPlatformCodes|installer' -g '!**/node_modules/**'Repository: bmad-code-org/BMAD-METHOD Length of output: 50382 🏁 Script executed: #!/bin/bash
# Focus search on qoder platform
rg -n 'qoder' test/ tools/cli/installers/lib/ide/platform-codes.yamlRepository: bmad-code-org/BMAD-METHOD Length of output: 215 🏁 Script executed: #!/bin/bash
# View the qoder entry in platform-codes.yaml
sed -n '205,214p' tools/cli/installers/lib/ide/platform-codes.yaml
# Also look at a similar platform test pattern (e.g., pi which is nearby)
grep -A 15 "test.*pi.*installer" test/test-installation-components.js | head -20Repository: bmad-code-org/BMAD-METHOD Length of output: 281 🏁 Script executed: #!/bin/bash
# View the pi test pattern (lines around 1564-1572 from earlier output)
sed -n '1564,1580p' test/test-installation-components.jsRepository: bmad-code-org/BMAD-METHOD Length of output: 843 🏁 Script executed: #!/bin/bash
# Verify qoder is NOT tested - check test function count and structure
grep -c "describe\|test\|it(" test/test-installation-components.js | head -1
# Check if there's a pattern like "qoder" anywhere in tests
grep -i "qoder" test/test-installation-components.js || echo "No qoder test found"
# Get count of platform config tests
rg "platformCodes[0-9]+\.platforms\." test/test-installation-components.js | wc -lRepository: bmad-code-org/BMAD-METHOD Length of output: 94 🏁 Script executed: #!/bin/bash
# Verify loadPlatformCodes can parse qoder correctly
# Check platform-codes.js to understand how it loads
sed -n '13,32p' tools/cli/installers/lib/ide/platform-codes.js
# Count total platforms in platform-codes.yaml
rg "^ [a-z-]+:" tools/cli/installers/lib/ide/platform-codes.yaml | wc -lRepository: bmad-code-org/BMAD-METHOD Length of output: 696 🏁 Script executed: #!/bin/bash
# Verify qoder can be loaded and parsed correctly by simulating what loadPlatformCodes does
node <<'EOF'
const yaml = require('yaml');
const fs = require('fs');
const path = require('path');
const configPath = path.join(process.cwd(), 'tools/cli/installers/lib/ide/platform-codes.yaml');
const content = fs.readFileSync(configPath, 'utf8');
const config = yaml.parse(content);
const qoder = config.platforms.qoder;
if (qoder) {
console.log('✓ qoder platform is discoverable');
console.log(' name:', qoder.name);
console.log(' preferred:', qoder.preferred);
console.log(' category:', qoder.category);
console.log(' installer.target_dir:', qoder.installer?.target_dir);
console.log(' installer.template_type:', qoder.installer?.template_type);
console.log(' installer.skill_format:', qoder.installer?.skill_format);
} else {
console.log('✗ qoder platform not found');
}
EOFRepository: bmad-code-org/BMAD-METHOD Length of output: 903 🏁 Script executed: #!/bin/bash
# Use Python to parse YAML and verify qoder configuration
python3 <<'EOF'
import yaml
import sys
with open('tools/cli/installers/lib/ide/platform-codes.yaml', 'r') as f:
config = yaml.safe_load(f)
qoder = config.get('platforms', {}).get('qoder')
if qoder:
print('✓ qoder platform is discoverable and parses correctly')
print(f' name: {qoder.get("name")}')
print(f' preferred: {qoder.get("preferred")}')
print(f' category: {qoder.get("category")}')
installer = qoder.get('installer', {})
print(f' installer.target_dir: {installer.get("target_dir")}')
print(f' installer.template_type: {installer.get("template_type")}')
print(f' installer.skill_format: {installer.get("skill_format")}')
else:
print('✗ qoder platform not found')
sys.exit(1)
EOFRepository: bmad-code-org/BMAD-METHOD Length of output: 275 Add automated test for qoder platform configuration loading. The 🤖 Prompt for AI Agents |
||
| qwen: | ||
| name: "QwenCoder" | ||
| preferred: false | ||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Add
legacy_targetsnow, not later.Line 210 introduces a fresh installer block, but no migration cleanup paths are defined. Reinstalls can leave stale artifacts in prior locations and cause duplicate behavior.
Proposed patch
qoder: name: "Qoder" preferred: false category: ide description: "Qoder AI coding assistant" installer: + legacy_targets: + - .qoder/commands + - .qoder/command target_dir: .qoder/skills template_type: default skill_format: true🤖 Prompt for AI Agents