# Contributing to casidora

Thank you for taking an interest in casidora. Bug reports, reproducible calculation examples, usability feedback, accessibility observations, and documentation suggestions are welcome.

## Read the license first

casidora is source-available under the [CASIDORA Proprietary Source-Available License](LICENSE.txt), not an open-source license. The license permits source inspection for personal evaluation, learning, and reference; use of an official, unmodified release for personal, non-commercial purposes; and running the included tests to evaluate the software. It does not grant a general right to modify the software, create derivative works or forks, redistribute copies, or submit modified versions.

Accordingly, the normal contribution route is to report an issue or propose an improvement. Do not create or distribute a modified build, fork, patch, or derivative version unless you have first obtained explicit written permission from the copyright holder. GitHub's platform-specific repository features are subject to the limited terms described in Section 4 of [LICENSE.txt](LICENSE.txt).

## Reporting an issue or proposing an improvement

1. Read the [README](README.md) to understand the project's features and known limitations.
2. Search existing issues and discussions to avoid duplicates.
3. Provide a clear description of the problem or proposed improvement.
4. For calculation bugs, include a minimal input expression, expected result, actual result, angle mode, and relevant display settings.
5. For visual issues, include the casidora version, Chrome/Chromium version, operating system, theme, and a screenshot when useful.
6. Remove passwords, personal data, and other sensitive information from reports.

## Evaluation and testing

The project uses Node.js 18 or newer for its included test suite. The permitted evaluation commands are:

```bash
git clone <REPOSITORY-URL>
cd casidora
npm test
```

Replace `<REPOSITORY-URL>` with the actual repository address when it is published. The license permits local copies technically necessary to inspect, install, run, or test the publicly provided source for the limited purposes it describes.

## If written permission is granted

If the copyright holder has expressly authorized a code or documentation contribution in writing, follow the scope and conditions of that permission. Keep the change focused, explain its purpose, provide relevant tests, and identify any new permissions, dependencies, storage, or network behavior. Do not assume that submitting a suggestion or issue grants permission to modify or redistribute the Software.

## Security issues

Please do not publish exploitable vulnerability details in a public issue before the maintainers have had a reasonable opportunity to investigate. Follow [SECURITY.md](SECURITY.md) for reporting guidance.

## Third-party materials

Do not submit third-party code, assets, or documentation unless their terms are known and compatible with the project's distribution requirements and the copyright holder has authorized their inclusion. Keep required notices and attribution intact. See [DESIGN_CREDITS.md](DESIGN_CREDITS.md) for the existing design reference attribution.
