forked from zereight/gitlab-mcp
-
Notifications
You must be signed in to change notification settings - Fork 1
Permalink
Choose a base ref
{{ refName }}
default
Choose a head ref
{{ refName }}
default
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.9.0
Could not load branches
Nothing to show
Loading
Could not load tags
Nothing to show
{{ refName }}
default
Loading
...
head repository: structured-world/gitlab-mcp
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: v6.10.0
Could not load branches
Nothing to show
Loading
Could not load tags
Nothing to show
{{ refName }}
default
Loading
- 2 commits
- 14 files changed
- 2 contributors
Commits on Jan 20, 2026
-
feat(docs): add --export flag to list-tools for TOOLS.md generation (#51
) * feat(docs): add --export flag to list-tools for TOOLS.md generation Add documentation export capability to the list-tools CLI script: - Add --export flag to generate complete TOOLS.md markdown - Add --toc flag for table of contents - Add --no-examples flag to skip example JSON blocks - Add getAllToolDefinitionsUnfiltered() method to registry-manager for getting all tools without env filtering (for documentation) - Apply schema transformation to flatten discriminated unions - Include tier badges for tools with tier requirements - Extract actions from CQRS schemas and display in tables - Group tools by entity category (Core, Work Items, MRs, etc.) - Add version and timestamp to generated header Usage: yarn list-tools --export > docs/TOOLS.md yarn list-tools --export --toc --no-examples Closes #47 * feat(config): add GITLAB_SCHEMA_MODE for schema output format control Add environment variable to control JSON Schema output format: - GITLAB_SCHEMA_MODE=flat (default): Flatten discriminated unions to single object with action enum for AI clients compatibility - GITLAB_SCHEMA_MODE=discriminated: Keep oneOf structure with separate branches per action for clients supporting JSON Schema Changes: - Add GITLAB_SCHEMA_MODE and SchemaMode type to config.ts - Update schema-utils.ts to use config import instead of process.env - Rename getSchemaFormat() to getSchemaMode() for consistency - Update tests to mock GITLAB_SCHEMA_MODE Partial implementation of #49 * fix: address PR review comments for list-tools - Fix regex for space replacement to use global flag (/g) - Extract ACTION_DESCRIPTIONS to constant object - Extract action descriptions dynamically from oneOf branches - Update extractParameters to merge params from all oneOf branches - Update generateExample to use first oneOf branch - Add unit tests for getAllToolDefinitionsUnfiltered - Return original schemas in getAllToolDefinitionsUnfiltered for richer docs * test: add coverage for GITLAB_SCHEMA_MODE and --export mode - Add 6 tests for GITLAB_SCHEMA_MODE parsing in config.test.ts - Add 6 tests for --export mode in list-tools.test.ts - oneOf schema action extraction - parameter merging with action hints - --toc and --no-examples flags - flat schema fallback * docs: update README with GITLAB_SCHEMA_MODE and --export documentation - Rename GITLAB_SCHEMA_FORMAT to GITLAB_SCHEMA_MODE throughout - Add documentation for yarn list-tools --export flag - Document --toc and --no-examples options - Describe export mode output: actions table, parameters, examples, tier badges * feat(cli): add grouped parameters format and semantic-release integration TOOLS.md export improvements: - Group parameters by common (all actions) vs action-specific - Much cleaner human-readable documentation format - Add extractParametersGrouped() for structured parameter extraction Semantic-release integration: - Auto-generate docs/TOOLS.md during release via @semantic-release/exec - Add TOOLS.md to git assets for automatic commit - Remove manual commit step from CI workflow Code organization: - Move list-tools.ts to src/cli/ directory - Move tests to tests/unit/cli/ PR review fixes: - Add bounds checking for --entity/--tool CLI args - Add clarifying comment for ENTITY_TOOLS categories - Remove unused toolName parameter from generateExample - Add fallback for package.json version detection - Fix misleading test description for getAllToolDefinitionsUnfiltered * test(cli): increase list-tools coverage to 91% Add comprehensive tests for list-tools.ts: - Verbose mode with no parameters - Tier info badges (premium/ultimate/free) - Unresolved $ref type handling - Common + action-specific parameters grouping - Action-specific params sorting by required status - Example generation with all parameter naming patterns * refactor(cli): remove dead code from extractParameters Remove unused oneOf handling from extractParameters function. This code was never executed because extractParametersGrouped handles oneOf schemas directly and only calls extractParameters for flat schemas. Reduces code by ~50 lines and improves coverage to 96%. * fix(cli): add error handling for unrecognized flags Warn users about typos (e.g., --exprt instead of --export) with helpful error message pointing to --help. Also: - Remove unused artifact download from semantic-release CI job - Ensure docs directory exists before TOOLS.md generation
Configuration menu - View commit details
-
Copy full SHA for 25f5393 - Browse repository at this point
Copy the full SHA 25f5393View commit details -
Configuration menu - View commit details
-
Copy full SHA for acdb83d - Browse repository at this point
Copy the full SHA acdb83dView commit details
Loading
This comparison is taking too long to generate.
Unfortunately it looks like we can’t render this comparison for you right now. It might be too big, or there might be something weird with your repository.
You can try running this command locally to see the comparison on your machine:
git diff v6.9.0...v6.10.0