- Install uv
- Run
make installto create a virtual environment and install the dependencies
- Fork the type-lens repository
- Clone your fork locally with git
- Set up the environment
- Make your changes
- (Optional) Run
make lintto run linters and type checkers, ormake formatto auto-format - Commit your changes to git
- Push the changes to your fork
- Open a pull request. Give the pull request a descriptive title
indicating what it changes. If it has a corresponding open issue, the issue number should be included in the title as
well. For example a pull request that fixes issue
bug: Increased stack size making it impossible to find needle #100could be titledfix(#100): Make needles easier to find by applying fire to haystack
Tip
Pull requests and commits all need to follow the Conventional Commit format
- All code should be fully typed. This is enforced via mypy and pyright.
- All code should be tested. This is enforced via pytest.
- All code should be properly formatted. This is enforced via Ruff.
Run the test suite with:
make testThe documentation is located in the /docs directory and is ReST and
Sphinx. If you're unfamiliar with any of those,
ReStructuredText primer and
Sphinx quickstart are recommended reads.
You can serve the documentation with make docs-serve, or build them with make docs.
- Increment the version in pyproject.toml.
Note
The version should follow semantic versioning and PEP 440.
Draft a new release on GitHub
- Use
vMAJOR.MINOR.PATCH(e.g.v1.2.3) as both the tag and release title - Fill in the release description. You can use the "Generate release notes" function to get a draft for this
- Use
Commit your changes and push to
mainPublish the release
Go to Actions and approve the release workflow
Check that the workflow runs successfully