-
Notifications
You must be signed in to change notification settings - Fork 0
Contributing
Contributions are welcome through GitHub issues and pull requests.
Install the tracked privacy hooks once:
git config --local core.hooksPath .githooksThe hooks scan staged paths and content, local Git objects, pending commit metadata, and finalized objects before push. Failures are deliberately redacted. CI repeats the object scan from a full-history checkout.
Run the guard directly with:
python .github/scripts/check_private_paths.pyHooks are a local safeguard, not an access-control boundary. They can be bypassed, and unreachable local objects are not transferred for CI to inspect.
Install the locked environment and run the default suite:
uv sync --locked
uv run pytest -qThe CMake integration matrix creates and builds temporary projects and is excluded from the default run:
uv run pytest -q -m cmake_integrationFor generator or runtime changes, regenerate the checked smoke outputs rather
than editing files under tests/smoke/generated/:
uv run python tests/smoke/tools/generate_checked_outputs.pyThen follow the smoke contributor instructions for the focused build matrix.
Format every touched C++ source or header with clang-format.
The canonical wiki source is docs/wiki/ in the main repository. Edit and
review those Markdown files in a normal pull request. The GitHub Wiki is a
published mirror and should not be treated as an independent source.
The local sync helper can preview or apply the mirror to an existing wiki checkout. It never commits or pushes.
python .github/scripts/sync_wiki.py /path/to/protocyte.wiki
python .github/scripts/sync_wiki.py /path/to/protocyte.wiki --apply
python .github/scripts/sync_wiki.py /path/to/protocyte.wiki --checkThe default invocation is a dry run. --apply mirrors additions, updates, and
stale Markdown removals. Inspect the wiki checkout's exact Git diff before
creating its single documentation commit.
Keep changes focused, include tests for behavioral contracts, and explain generated-output changes. Report security-sensitive issues privately to the maintainers rather than opening a public exploit report.
Repository · Releases · Issues · Apache License 2.0
Canonical source: docs/wiki/