--- title: "Contributing" description: "How to contribute code, documentation, tests, and community support to Semantica." icon: "code-pull-request" --- Contributions of all kinds are welcome: code, documentation, tests, and community support. Every contribution is recognized in release notes and the GitHub contributors list. ## Quick Start ```bash # Fork the repo on GitHub, then: git clone https://github.com/your-username/semantica.git cd semantica pip install -e ".[dev]" pytest ``` New to the project? Start with [`good-first-issue`](https://github.com/semantica-agi/semantica/labels/good-first-issue) labeled tickets: they're scoped to be completable in a few hours without deep codebase knowledge. ## Ways to Contribute Fix bugs, implement features, optimize performance, or add new ingestors, parsers, and exporters using the plugin registry. Fix typos, improve clarity, add missing examples, write tutorials, or keep the API reference accurate as modules evolve. Add test coverage for untested modules or edge cases, reproduce reported bugs with minimal repros, or improve cross-platform reliability. Answer questions in GitHub Issues and Discussions, review pull requests with constructive feedback, or share Semantica in blog posts and talks. ## Development Setup ```bash git clone https://github.com/your-username/semantica.git cd semantica pip install -e ".[dev]" ``` **Code style tools:** ```bash pytest # full test suite black semantica/ tests/ # auto-format isort semantica/ tests/ # sort imports flake8 semantica/ # lint ``` Style conventions: **Black** for formatting, **isort** for imports, **flake8** for linting. All three run in CI. ## Reporting Issues **Bug reports** should include: - What happened vs. what you expected - Minimal steps to reproduce - Your environment: Python version, OS, Semantica version (`python -c "import semantica; print(semantica.__version__)"`) **Feature requests** should include: - Your concrete use case - What you'd like Semantica to do - Why it benefits a broad set of users, not just your specific workflow ## Pull Request Checklist Before submitting a PR, confirm: Tests pass locally: `pytest` New features include documentation with working code examples Code follows project style: Black, isort, flake8 Commit messages are clear and describe the *why*, not just the *what* No unresolved merge conflicts ## Code of Conduct All contributors are expected to follow the [Contributor Covenant Code of Conduct](https://github.com/semantica-agi/semantica/blob/main/CODE_OF_CONDUCT.md). Be respectful, patient, and constructive: especially toward newcomers. Report violations by opening an issue with the `[CoC]` prefix. ## Help - [GitHub Issues](https://github.com/semantica-agi/semantica/issues) - [GitHub Discussions](https://github.com/semantica-agi/semantica/discussions) - [Discord](https://discord.gg/sV34vps5hH) Community guidelines and values. How decisions are made and the project is run.