Skip to content

Latest commit

 

History

History
74 lines (55 loc) · 3.29 KB

File metadata and controls

74 lines (55 loc) · 3.29 KB

Contribution guide

Setting up the environment

  1. Install uv
  2. Run make install to create a virtual environment and install the dependencies

Code contributions

Workflow

  1. Fork the type-lens repository
  2. Clone your fork locally with git
  3. Set up the environment
  4. Make your changes
  5. (Optional) Run make lint to run linters and type checkers, or make format to auto-format
  6. Commit your changes to git
  7. Push the changes to your fork
  8. 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 #100 could be titled fix(#100): Make needles easier to find by applying fire to haystack

Tip

Pull requests and commits all need to follow the Conventional Commit format

Guidelines for writing code

  • 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.

Writing and running tests

Run the test suite with:

make test

Project documentation

The 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.

Running the docs locally

You can serve the documentation with make docs-serve, or build them with make docs.

Creating a new release

  1. Increment the version in pyproject.toml.

    Note

    The version should follow semantic versioning and PEP 440.

  2. 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
  3. Commit your changes and push to main

  4. Publish the release

  5. Go to Actions and approve the release workflow

  6. Check that the workflow runs successfully