Skip to content

Latest commit

 

History

History
45 lines (29 loc) · 1.96 KB

File metadata and controls

45 lines (29 loc) · 1.96 KB

Quick start

This project uses just as a task runner, backed by uv.

Consider installing them both like this:

sudo snap install --classic astral-uv
uv tool install rust-just

Then run just from anywhere in the repository for usage.

Adding a new library

Run just init to create a new general library, or just interface init for a new interface library. We recommend following the tutorial to learn how to add your library to the charmlibs monorepo. If you're migrating a library that was published elsewhere, read the how-to guide for migrating an existing library to this repository.

Working on an existing library

Run just check <my package> to run the following tests for your package:

  • just lint <my package> runs linters and static type checkers.
    • just fast-lint will run fast linters for all packages.
    • just format <my package> or just format will try to automatically fix errors.
  • just docs html <my package> builds the docs, only including reference docs for <my package> (for speed).
    • just docs html or just docs will build docs for all packages.
  • just unit <my package> runs unit tests.

functional and integration tests are also executed in CI, and can be executed locally too.

Read more:

Pull requests

Pull request titles must follow conventional commits.

When a PR affects a single library, use the distribution package name without the leading charmlibs- as the conventional commit scope.

For example: feat(pathops): ... or chore(interfaces-tls-certificates): ....