Publishing
Python Package (PyPI)
Section titled “Python Package (PyPI)”Use the all-* Make commands to prepare a release,
then publish:
make all-patch # or all-minor, all-majoruv publishWhat the Commands Do
Section titled “What the Commands Do”Each all-* command automatically:
- Runs
make prep-nodeto ensurenode_ui/node_modules/is up-to-date - Bumps the version (patch, minor, or major)
- Pushes to GitHub and pushes tags
- Creates a GitHub release
- Cleans old builds and builds the package
The built package includes node_modules/ so end
users do not need npm install — they only
need Node.js 16+ installed.
After the build completes, run uv publish to
upload to PyPI.
Rust Binaries (crates.io)
Section titled “Rust Binaries (crates.io)”aichat-search
Section titled “aichat-search”make aichat-search-publishThis command:
- Bumps the version (default: patch; override with
BUMP=minororBUMP=major) - Creates a
rust-v*git tag - Pushes to GitHub (triggers CI for binary releases)
- Publishes to crates.io
After publishing, users can install with:
cargo install aichat-searchOr via Homebrew:
brew install pchalasani/tap/aichat-searchmake lmsh-publishThis command:
- Bumps the patch version
- Publishes to crates.io
After publishing, users can install with:
cargo install lmshSee Also
Section titled “See Also”- Make Commands — full list of all available Make targets
- Testing — verify changes before publishing