Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: structured-world/gitlab-mcp
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v6.28.0
Choose a base ref
...
head repository: structured-world/gitlab-mcp
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: v6.29.0
Choose a head ref
  • 2 commits
  • 29 files changed
  • 2 contributors

Commits on Jan 22, 2026

  1. feat(cli): add install and docker subcommands (#122)

    * feat(cli): add install and docker subcommands (#100)
    
    Add MCP client installation and Docker management commands:
    
    Install subcommand (gitlab-mcp install):
    - Auto-detect 7 MCP clients: Claude Desktop, Claude Code, Cursor,
      VS Code Copilot, Windsurf, Cline, Roo Code
    - Interactive wizard for client selection
    - Automatic backup before config modification
    - Support for --all, --show, --force flags
    - Client-specific flags: --claude-desktop, --cursor, etc.
    
    Docker subcommand (gitlab-mcp docker):
    - status: Show container and instances status
    - init: Interactive Docker configuration setup
    - start/stop/restart: Container lifecycle management
    - upgrade: Pull latest image and restart
    - logs: View container logs with -f/--follow support
    - add-instance/remove-instance: GitLab instance management
    - Generate docker-compose.yml with OAuth support
    - Multi-instance configuration via instances.yaml
    
    * fix(cli): remove OAuth client_id from status output
    
    - Remove sensitive OAuth client_id logging (CodeQL security alert)
    - Add tests for docker command handlers (showStatus, dockerStart, etc.)
    - Add tests for docker utils (isDockerInstalled, getContainerInfo, etc.)
    
    * fix(cli): add input validation and extract shared path utility
    
    - Add containerName validation in docker-utils to prevent command injection
    - Replace process.exit() with return/throw in install-command and docker-command
    - Check mcp remove command result in installers before proceeding with add
    - Extract expandPath to src/cli/utils/path-utils.ts shared module
    - Add tests for detector, installers, and path-utils modules
    
    * test(cli): add tests for installer functions and docker error handling
    
    Add comprehensive tests for:
    - All client installers (vscode-copilot, windsurf, cline, roo-code)
    - Config path unavailable error paths
    - Container status parsing (paused, restarting, created, dead)
    - Docker compose v1 fallback
    - Error handling in runComposeCommand
    - Instance update functionality
    
    * test(cli): add tests for install and docker command handlers
    
    Add tests for runInstallCommand and runInstallWizard functions
    with mocked @clack/prompts for interactive CLI flows.
    
    Add tests for initDocker and dockerAddInstance functions
    covering Docker status checks, OAuth configuration, and
    container management flows.
    polaz authored Jan 22, 2026
    Configuration menu
    Copy the full SHA
    36d38d0 View commit details
    Browse the repository at this point in the history
  2. chore(release): 6.29.0 [skip ci]

    ## [6.29.0](v6.28.0...v6.29.0) (2026-01-22)
    
    ### Features
    
    * **cli:** add install and docker subcommands ([#122](#122)) ([36d38d0](36d38d0)), closes [#100](#100)
    semantic-release-bot committed Jan 22, 2026
    Configuration menu
    Copy the full SHA
    29a8b0d View commit details
    Browse the repository at this point in the history
Loading