- Run tests:
julia --project -e 'using Pkg; Pkg.test()' - Build docs:
quarto render docs - Never edit Project.toml or Manifest.toml manually — use Pkg
- Only use top-level .gitignore file
- 4-space indentation
- Docstrings on all public names
- Use
### Examplesfor inline docs examples - Segment code sections with
#-----------------------------------------------------------------------------# Title
- Preflight: tests must pass and git status must be clean
- If current version has no git tag, release it as-is (don't bump)
- If current version is already tagged, bump based on commit log:
- Major: major rewrites (ask user if major bump is ok)
- Minor: new features, exports, or API additions
- Patch: fixes, docs, refactoring, dependency updates (default)
- Commit message:
bump version for new release: {x} to {y} - Generate release notes from commits since last tag (group by features, fixes, etc.)
- For major/minor bumps, release notes must include "breaking changes" section
- Update CHANGELOG.md with each release (prepend new entry under
# Unreleasedor version heading) - Register via:
gh api repos/{owner}/{repo}/commits/{sha}/comments -f body='@JuliaRegistrator register Release notes: <release notes here>'