Thank you for your interest in contributing to Project Rosetta.
This document defines the contribution workflow for this repository and the governance controls that apply to changes targeting the main branch.
This project follows the Contributor Covenant Code of Conduct. By participating, you agree to follow it.
All changes must be delivered through pull requests (PRs).
Before implementing larger changes, open an issue to describe the problem, expected behavior, and proposed approach.
Create a feature or fix branch from the latest main.
Open a PR to main that includes:
- A clear title and concise summary
- Rationale for the change
- Linked issue (when applicable)
- Documentation updates when behavior or usage changes
Update the PR as needed and resolve all review comments before merge.
The main branch is protected and governed by the Change Control Board (CCB).
- Only members of the CCB are authorized to merge PRs into
main. - Every PR targeting
mainrequires at least one (1) approval from the CCB before it can be merged.
These requirements apply to all contributors and are enforced through repository branch protection settings.
Contributors are expected to:
- Keep changes focused and scoped
- Follow existing project structure and conventions
- Ensure documentation remains accurate
- Verify that proposed changes are review-ready
This repository provides a pre-commit configuration to run quality checks automatically on every commit.
Install pre-commit and set up the hooks once:
pip install pre-commitpre-commit install
From that point, ruff and markdownlint will run automatically on every
git commit. To run manually across all files:
pre-commit run --all-files
The recommended way to run checks locally is via pre-commit:
pre-commit run --all-files— run all checkspre-commit run ruff --all-files— Python lint onlypre-commit run ruff-format --all-files— Python format onlypre-commit run markdownlint --all-files— Markdown lint only
These match exactly what CI enforces before merge.
If you prefer to run tools directly without pre-commit:
ruff format --check .ruff check .npx markdownlint-cli2 "**/*.md"(requires Node.js 20+)
If you are unsure how to proceed with a contribution, open an issue and request guidance from maintainers.