# Contributing to Nextcloud MCP Server Thank you for your interest in contributing! This project is licensed under AGPL-3.0 and welcomes contributions from the community. ## Contributor License Agreement (CLA) > **DRAFT — NOT YET IN EFFECT.** The CLA process described below is a planned > change. Until the [CLA](./CLA.md) is finalized and the CLA Assistant workflow > is enabled on this repository, no signature is required. To keep the project's licensing flexible — including the ability to offer commercial licensing alongside AGPL-3.0 in the future — we ask all contributors to sign our [Contributor License Agreement](./CLA.md). The CLA gives the project maintainer the rights needed to relicense or dual-license the project while letting you retain copyright in your contributions. **How signing works:** 1. Open a pull request as you normally would. 2. The CLA Assistant bot ([cla-assistant.io](https://cla-assistant.io)) will comment on your PR with a link inviting you to sign. 3. Click the link, review the agreement, and sign in with your GitHub account to record your signature. 4. Your signature is recorded once per GitHub account. Subsequent PRs are covered automatically. If you contribute on behalf of an employer, please confirm with your employer that you are permitted to contribute under the CLA. For larger organizations, a separate Corporate CLA may be required — open an issue if this applies to you. ## Version Management This project uses [commitizen](https://commitizen-tools.github.io/commitizen/) for version management following PEP 440 (`major_version_zero = true`, 0.x.x for pre-1.0). > **Note:** The Helm chart has been moved to [cbcoutinho/helm-charts](https://github.com/cbcoutinho/helm-charts). The Astrolabe Nextcloud app has been moved to [cbcoutinho/astrolabe](https://github.com/cbcoutinho/astrolabe). ### Commit Message Format Use [conventional commits](https://www.conventionalcommits.org/): ```bash feat: add new feature feat(mcp): add calendar sync API fix: resolve authentication bug docs: update README ``` ### Release Workflow #### 1. Make Changes with Conventional Commits ```bash git commit -m "feat: add calendar sync" ``` #### 2. Bump Version ```bash ./scripts/bump-mcp.sh # → Creates tag: v0.54.0 # → Updates: pyproject.toml ``` #### 3. Push Tags ```bash git push --follow-tags ``` ### Manual Version Bumps For specific increments: ```bash # Patch bump (0.53.0 → 0.53.1) uv run cz bump --increment PATCH # Minor bump (0.53.0 → 0.54.0) uv run cz bump --increment MINOR # Major bump (0.53.0 → 1.0.0) uv run cz bump --increment MAJOR ```