Compare commits

...

7 Commits

Author SHA1 Message Date
Serhii 1a4dccc4f7
Merge 9e2595503f into 54e6745a55 2025-11-26 22:53:12 +02:00
Jorge Castillo 54e6745a55
fix: update GitHub Copilot tools names for consistency (#880)
Copilot was triggering warning or errors in the chatmode files due to some changes in tool names.
- findTestFiles is internal tool, cannot be used.
- Other tools have change names.
- Added new tools: todos and runSubAgents.

Co-authored-by: Brian <bmadcode@gmail.com>
2025-11-26 14:49:17 -06:00
Serhii f793cf8fcd
fix: add radix parameter to parseInt() calls (#862)
Add explicit radix=10 to parseInt() calls and NaN validation to prevent
unexpected hex parsing and invalid config values.

Changes:
- Line 52: Add radix and NaN check in input validation
- Line 189-192: Add radix and NaN fallback for config parsing

Fixes potential issues:
- Hex input (0x10) now rejected instead of parsed as 16
- Invalid strings return default value instead of NaN→null

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Brian <bmadcode@gmail.com>
2025-11-26 14:44:12 -06:00
fikri-kompanion 9223e2be21
fix: give kilocode tool access to bmad modes (#961)
Co-authored-by: Ahmad Fikrizaman <ahmadfikrizaman@gmail.com>
Co-authored-by: Brian <bmadcode@gmail.com>
2025-11-26 13:48:16 -06:00
Brian 9e2595503f
Merge branch 'main' into refactor/use-path-basename-consistently 2025-11-19 20:53:58 -06:00
Serhii 28ecbfe9b5
Merge branch 'main' into refactor/use-path-basename-consistently 2025-11-06 21:30:36 +02:00
Serhii 033aa717f4
refactor: use path.basename() consistently for file extensions
Replace .replace('.agent.yaml', '') with path.basename(file, '.agent.yaml')
for consistency and correct handling of edge cases.

Changes:
- buildAllAgents(): line 238
- checkBuildStatus(): line 333
- listAvailableAgents(): line 452

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-05 06:21:16 +02:00
3 changed files with 16 additions and 20 deletions

View File

@ -235,7 +235,7 @@ async function buildAllAgents(projectDir, force = false) {
continue; continue;
} }
const agentName = file.replace('.agent.yaml', ''); const agentName = path.basename(file, '.agent.yaml');
const agentYamlPath = path.join(agentsDir, file); const agentYamlPath = path.join(agentsDir, file);
const outputPath = path.join(agentsDir, `${agentName}.md`); const outputPath = path.join(agentsDir, `${agentName}.md`);
@ -330,7 +330,7 @@ async function checkBuildStatus(projectDir) {
continue; continue;
} }
const agentName = file.replace('.agent.yaml', ''); const agentName = path.basename(file, '.agent.yaml');
const agentYamlPath = path.join(agentsDir, file); const agentYamlPath = path.join(agentsDir, file);
const outputPath = path.join(agentsDir, `${agentName}.md`); const outputPath = path.join(agentsDir, `${agentName}.md`);
@ -449,7 +449,7 @@ async function listAvailableAgents(projectDir) {
for (const file of files) { for (const file of files) {
if (file.endsWith('.agent.yaml')) { if (file.endsWith('.agent.yaml')) {
const agentName = file.replace('.agent.yaml', ''); const agentName = path.basename(file, '.agent.yaml');
console.log(chalk.dim(` - ${agentName} (${module})`)); console.log(chalk.dim(` - ${agentName} (${module})`));
} }
} }

View File

@ -50,7 +50,8 @@ class GitHubCopilotSetup extends BaseIdeSetup {
message: 'Maximum requests per session (1-50)?', message: 'Maximum requests per session (1-50)?',
default: '15', default: '15',
validate: (input) => { validate: (input) => {
const num = parseInt(input); const num = parseInt(input, 10);
if (isNaN(num)) return 'Enter a valid number 1-50';
return (num >= 1 && num <= 50) || 'Enter 1-50'; return (num >= 1 && num <= 50) || 'Enter 1-50';
}, },
}, },
@ -187,9 +188,10 @@ class GitHubCopilotSetup extends BaseIdeSetup {
// Manual configuration - use pre-collected settings // Manual configuration - use pre-collected settings
const manual = options.manualSettings || {}; const manual = options.manualSettings || {};
const maxRequests = parseInt(manual.maxRequests || '15', 10);
bmadSettings = { bmadSettings = {
'chat.agent.enabled': true, 'chat.agent.enabled': true,
'chat.agent.maxRequests': parseInt(manual.maxRequests || 15), 'chat.agent.maxRequests': isNaN(maxRequests) ? 15 : maxRequests,
'github.copilot.chat.agent.runTasks': manual.runTasks === undefined ? true : manual.runTasks, 'github.copilot.chat.agent.runTasks': manual.runTasks === undefined ? true : manual.runTasks,
'chat.mcp.discovery.enabled': manual.mcpDiscovery === undefined ? true : manual.mcpDiscovery, 'chat.mcp.discovery.enabled': manual.mcpDiscovery === undefined ? true : manual.mcpDiscovery,
'github.copilot.chat.agent.autoFix': manual.autoFix === undefined ? true : manual.autoFix, 'github.copilot.chat.agent.autoFix': manual.autoFix === undefined ? true : manual.autoFix,
@ -226,26 +228,17 @@ class GitHubCopilotSetup extends BaseIdeSetup {
// Reference: https://code.visualstudio.com/docs/copilot/reference/copilot-vscode-features#_chat-tools // Reference: https://code.visualstudio.com/docs/copilot/reference/copilot-vscode-features#_chat-tools
const tools = [ const tools = [
'changes', // List of source control changes 'changes', // List of source control changes
'codebase', // Perform code search in workspace 'edit', // Edit files in your workspace including: createFile, createDirectory, editNotebook, newJupyterNotebook and editFiles
'createDirectory', // Create new directory in workspace
'createFile', // Create new file in workspace
'editFiles', // Apply edits to files in workspace
'fetch', // Fetch content from web page 'fetch', // Fetch content from web page
'fileSearch', // Search files using glob patterns
'githubRepo', // Perform code search in GitHub repo 'githubRepo', // Perform code search in GitHub repo
'listDirectory', // List files in a directory
'problems', // Add workspace issues from Problems panel 'problems', // Add workspace issues from Problems panel
'readFile', // Read content of a file in workspace 'runCommands', // Runs commands in the terminal including: getTerminalOutput, terminalSelection, terminalLastCommand and runInTerminal
'runInTerminal', // Run shell command in integrated terminal 'runTasks', // Runs tasks and gets their output for your workspace
'runTask', // Run existing task in workspace
'runTests', // Run unit tests in workspace 'runTests', // Run unit tests in workspace
'runVscodeCommand', // Run VS Code command 'search', // Search and read files in your workspace, including:fileSearch, textSearch, listDirectory, readFile, codebase and searchResults
'search', // Enable file searching in workspace 'runSubagent', // Runs a task within an isolated subagent context. Enables efficient organization of tasks and context window management.
'searchResults', // Get search results from Search view
'terminalLastCommand', // Get last terminal command and output
'terminalSelection', // Get current terminal selection
'testFailure', // Get unit test failure information 'testFailure', // Get unit test failure information
'textSearch', // Find text in files 'todos', // Tool for managing and tracking todo items for task planning
'usages', // Find references and navigate definitions 'usages', // Find references and navigate definitions
]; ];

View File

@ -123,6 +123,9 @@ class KiloSetup extends BaseIdeSetup {
modeEntry += ` groups:\n`; modeEntry += ` groups:\n`;
modeEntry += ` - read\n`; modeEntry += ` - read\n`;
modeEntry += ` - edit\n`; modeEntry += ` - edit\n`;
modeEntry += ` - browser\n`;
modeEntry += ` - command\n`;
modeEntry += ` - mcp\n`;
return modeEntry; return modeEntry;
} }