Thanks for your interest in contributing. The fastest path to a merged PR is to open an issue first so we can align on direction before code.
- Browse open issues, especially anything tagged
good first issue. - For non-trivial changes, open an issue describing the problem and your proposed approach. We'll respond within a few business days.
- For questions and design discussion, join us in Discord.
src/layerlens/is the SDK source (clients, resources, CLI).tests/is the test suite (unit, integration, sample E2E).samples/holds runnable code samples organized by topic:core,cicd,cli,mcp,integrations,industry,modalities,claude-code,cowork,copilotkit,openclaw,data.docs/is the source for the GitBook docs site.scripts/holds developer scripts (bootstrap,test,lint,format,test_coverage).pyproject.tomlis the Python project config and tool settings.requirements.lockandrequirements-dev.lockare the pinned dependencies..husky/holds Git hooks that run on commit (lint-staged formats and lints staged Python files).
The project uses Rye to manage Python and dependencies. The bootstrap script sets everything up:
git clone https://github.com/LayerLens/stratix-python.git
cd stratix-python
./scripts/bootstrap
source .venv/bin/activateIf you would rather use plain pip, ensure the Python version in .python-version is active, then:
python -m venv .venv && source .venv/bin/activate
pip install -r requirements-dev.lock
pip install -e ../scripts/test # run the test suite
./scripts/lint # run the linter
./scripts/format # format and auto-fixA pre-commit hook runs ./scripts/format and ./scripts/lint against staged Python files automatically.
Every PR runs these workflows. They must pass before review:
run-tests.yamlis the full test suite.check-format.yamlchecks formatting.check-lint.yamlruns the linter.
Run them locally before pushing.
- One logical change per PR. Smaller PRs merge faster.
- Reference the issue your PR addresses in the description.
- Include a runnable sample under
samples/when adding a new SDK capability. - Update
docs/when changing public API surface. - Add or update tests under
tests/when changing behavior. - Make sure all CI checks are green before requesting review.
This project follows the Code of Conduct. By participating, you agree to abide by it.
Do not file a public issue for security vulnerabilities. See SECURITY.md for the private disclosure process.
By contributing, you agree your contribution is licensed under the Apache License 2.0.