# Contributing

Thank you for contributing to `w2m`.


# Before opening an issue

- Search the existing issues and documentation.
- Remove credentials, personal information, and sensitive data.
- Use the issue form that best matches the request.
- Include a minimal reproduction and complete relevant output with bug reports.

Report security vulnerabilities and Code of Conduct concerns privately instead of opening a public issue.


# Prepare a change

1.  Fork or clone the repository.
2.  Create a focused branch from `main`.
3.  Make one coherent change and avoid unrelated formatting.
4.  Add focused tests when behavior changes.
5.  Update user-facing documentation when needed.

Install the development and documentation dependencies:

``` bash
uv sync --locked --group dev --group docs
```

Run the tests and build the package:

``` bash
uv run pytest
uv build --no-sources
```

Build the documentation when it changes:

``` bash
uv run --group docs great-docs build
```

If a command cannot be run, explain why in the pull request.


# Open a pull request

- Describe the problem and the chosen solution.
- Link the relevant issue when one exists.
- List the validation performed.
- Identify breaking changes, incomplete coverage, or other risks.
- Include screenshots for visible interface changes.

Reviewers may request revisions before merging. Automated checks complement review of behavior, documentation, and project-specific constraints.


# Conduct and licensing

Follow the project's [Code of Conduct](https://github.com/sdhutchins/when2meet-cli/blob/main/CODE_OF_CONDUCT.md). Contributions are licensed under the [MIT License](LICENSE).
