Files
Chris CoutinhoandClaude Opus 4.7 d4a48d4f65 docs: add contributor license agreement
Adds a CLA so future contributions can be relicensed if the project
later offers commercial terms alongside AGPL-3.0. Adapted from the
Apache 2.0 ICLA with Dutch-law modifications: moral rights waiver
under Auteurswet art. 25, GDPR data-processing notice referencing
cla-assistant.io, and Amsterdam jurisdiction.

Signing is administered via the hosted cla-assistant.io service
(configured outside this repo); the Gist referenced there is kept in
sync with CLA.md.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-25 22:03:27 +02:00

86 lines
2.6 KiB
Markdown

# 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
```