Contrib and Codebase Guide#
General Setup and Information#
To get setup run
To understand our linting and mypy type checking have a look at our pre-commit actions. You can set up your enviornment accordingly. For help interpreting this if you need it, call upon our friend Mr. ChatGPT or one of his colleagues.
Our pre-commit process
This is how we run checks on demand.
This is how we run our tests.
pytest -n 30 jac
pytest jac-splice-orc
pytest jac-cloud
pytest jac-mtllm
jac test jac/examples/littleX/littleX.test.jac
Run docs site locally#
This is how we run the docs
This is how we kill the docs if it dies for some reason
Build VSCode Extention#
cd jac/support/vscode_ext/jac
npm install
npm install -g @vscode/vsce
vsce package
# code --install-extension jaclang-*.vsix
cursor --install-extension jaclang-*.vsix
cd -
Release Flow (for the empowered)#
- Version bump jac, jac-cloud, mtllm
- Remember to version bump requirement of jaclang in jac-cloud and mtllm
- Update release notes (unreleased becomes released)
- Push to main
- Go to GitHub, run
Release jaclang to PYPI
action manually - After success
- Run
Release jac-cloud to PYPI
action manually - Run
Release jac-mtllm to PYPI
action manually - If All success, W for you!!