Contributing¶
Setup¶
Prerequisites: uv, pnpm.
# build the frontend + install the python workspace (includes all packages/*)
just sync
To run the CLI, use uv run, for example:
uv run minisky server
uv run minisky run --scenario packages/minisky/scenarios/kl204.scn
Development¶
Code quality:
# format the repo
just fmt
# static checks: ruff, pyright, generated command-schema, frontend.
just check
Testing:
# unit + integration
just test
# python only
just test-unit
# rest api (opt-in)
just test-api
Zensical/mkdocstrings documentation:
# preview
just docs-serve
# build site
just docs-build
Releasing¶
Minisky follows semantic versioning. The core is currently in alpha (v0.0.x). Plugin versions need not follow core versioning in lockstep.
- Update the package version in the
pyproject.toml. - Add a section in
CHANGELOG.mdto use as the GitHub release notes (optional, but highly recommended):
## `<package>` v<version>
Release notes go here.
- On the
mainbranch, push a<package>/<version>tag, for example:
git tag minisky/0.0.2
git push origin minisky/0.0.2
- GitHub Actions should then parse the changelog, publish to PyPI and create the GitHub release.