Contributing¶
Thank you for your interest in contributing to fabric-dw-mcp-cli!
Dev Setup¶
Recommended: open the repo in GitHub Codespaces or VS Code with the Remote-Containers extension — the devcontainer handles all of steps 1–2 automatically.
- Install dependencies
-
Install just (optional, for convenient local checks)
-
Authenticate with Azure (required for integration tests)
Branch Flow¶
- Branch off
mainfor every change. - Use descriptive branch names, e.g.
feat/add-table-commandorfix/connection-timeout. - Open a pull request back to
main. - PR titles must follow Conventional Commits — they become the squash-merge commit message.
- All PRs are squash-merged.
Conventional Commits¶
PR titles (and therefore merge commits) must use one of these types:
| Type | When to use |
|---|---|
feat |
New user-facing feature |
fix |
Bug fix |
chore |
Maintenance, tooling, dependency updates |
docs |
Documentation only |
refactor |
Code change with no feature or fix |
test |
Adding or updating tests |
ci |
CI/CD pipeline changes |
perf |
Performance improvement |
revert |
Revert a previous commit |
Example: feat: add DROP TABLE command
Breaking changes must append ! after the type, e.g. feat!: rename CLI entrypoint.
These prefixes are also used by the release-drafter workflow: every PR merged to main updates a running GitHub release draft, categorised by type (feat → Features, fix → Fixes, docs → Documentation, ci/chore → CI / Tooling). When a version tag is pushed, the draft becomes the published release.
Running Checks Locally¶
Run all gates with just before pushing:
Or run individual checks manually:
Lint¶
Type checking¶
Unit tests¶
Integration tests¶
Requires a valid az login session and a reachable Fabric workspace.
Code of Conduct¶
By participating in this project you agree to abide by the Code of Conduct.