UNPKG

@aashari/mcp-server-atlassian-bitbucket

Version:

Node.js/TypeScript MCP server for Atlassian Bitbucket. Enables AI systems (LLMs) to interact with workspaces, repositories, and pull requests via tools (list, get, comment, search). Connects AI directly to version control workflows through the standard MC

48 lines (47 loc) 2.38 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const logger_util_js_1 = require("../utils/logger.util.js"); const error_util_js_1 = require("../utils/error.util.js"); const atlassian_repositories_content_controller_js_1 = require("../controllers/atlassian.repositories.content.controller.js"); /** * CLI module for Bitbucket repository operations. * Provides the clone command. Other operations (list repos, branches, etc.) * are available via the generic 'get' command. */ // Create a contextualized logger for this file const cliLogger = logger_util_js_1.Logger.forContext('cli/atlassian.repositories.cli.ts'); // Log CLI initialization cliLogger.debug('Bitbucket repositories CLI module initialized'); /** * Register Bitbucket repositories CLI commands with the Commander program * * @param program - The Commander program instance to register commands with */ function register(program) { const methodLogger = logger_util_js_1.Logger.forContext('cli/atlassian.repositories.cli.ts', 'register'); methodLogger.debug('Registering Bitbucket Repositories CLI commands...'); program .command('clone') .description('Clone a Bitbucket repository to your local filesystem using SSH (preferred) or HTTPS.') .requiredOption('-r, --repo-slug <slug>', 'Repository slug to clone.') .requiredOption('-t, --target-path <path>', 'Directory path where the repository will be cloned (absolute path recommended).') .option('-w, --workspace-slug <slug>', 'Workspace slug containing the repository. Uses default workspace if not provided.') .action(async (options) => { const actionLogger = cliLogger.forMethod('clone'); try { actionLogger.debug('Processing clone command options:', options); const result = await (0, atlassian_repositories_content_controller_js_1.handleCloneRepository)({ workspaceSlug: options.workspaceSlug, repoSlug: options.repoSlug, targetPath: options.targetPath, }); console.log(result.content); } catch (error) { actionLogger.error('Clone operation failed:', error); (0, error_util_js_1.handleCliError)(error); } }); methodLogger.debug('CLI commands registered successfully'); } exports.default = { register };