Contributing¶
Welcome! This page is a quick orientation for contributors. The full and authoritative guidelines live in the repository's CONTRIBUTING.md; please skim it before opening a pull request.
Quick start¶
uv creates .venv and installs the framework, the dev tooling, and the docs site dependencies. Prefix commands with uv run to use that environment, for example uv run pytest -q or uv run mkdocs serve.
Where to make changes¶
| Want to change... | Look here |
|---|---|
| Framework code | src/wybthon/ |
| Demo apps | Standalone repos under the wybthon organization, e.g. demo-template |
| Documentation site | docs/ |
| Tests | tests/ |
| Lint / format / typing config | pyproject.toml |
Coding standards¶
- Source code targets Python 3.14 with type hints throughout.
- Docstrings use the Google style documented in the docs style guide. The Ruff
pydocstyleruleset enforces this. - Format with
uv run ruff format .and lint withuv run ruff check .before pushing. - Run
uv run mypyanduv run pytest -qto verify types and tests. CI requires 80% coverage. ./scripts/check.shruns everything CI's unit job runs, in the same order.
Updating documentation¶
- Author new pages under
docs/and add them tomkdocs.yml. - Build the site locally with
mkdocs serve(ormkdocs build --strictto fail on warnings the way CI does). - Cross-reference Python symbols with
[label][wybthon.symbol]syntax; see the style guide for details.
Filing a pull request¶
- Open an issue first for non-trivial changes so we can align on the approach.
- Keep PRs focused: one logical change per PR makes review easier.
- Add or update tests when changing behavior.
- Update the relevant docs page(s) so the framework stays self-explanatory.
Next steps¶
- Skim the docs style guide before writing prose.
- Browse open issues at
github.com/wybthon/wybthon/issuesfor ways to help.