We love contributions! This guide covers development setup, building, testing, and releasing.
- uv for Python dependency management
- pnpm for JavaScript dependency management
- Node.js >= 18
- Python >= 3.11
git clone https://github.com/buckaroo-data/buckaroo.git
cd buckaroo
uv sync --dev --all-extrascd packages/buckaroo-js-core
pnpm install./scripts/full_build.shuv run pytest tests/unit/ -v
uv run ruff check --fixcd packages/buckaroo-js-core
pnpm testcd packages/buckaroo-js-core
pnpm storybook
# open http://localhost:6006Build a static Storybook site:
cd packages/buckaroo-js-core
pnpm build-storybookInstall browsers:
cd packages/buckaroo-js-core
pnpm exec playwright installRun tests:
pnpm test:pw --reporter=lineUseful variants:
pnpm test:pw:headed # visible browser
pnpm test:pw:ui # Playwright UI
pnpm test:pw:report # open HTML reportuv add <package> # main dependency
uv add --group <group> <package> # extras group- Update
CHANGELOG.md - Trigger the Release workflow via GitHub Actions (
workflow_dispatch), choosingpatch,minor, ormajor - The workflow bumps the version in
pyproject.toml, creates the tag, builds, publishes to PyPI, and creates a GitHub release
We welcome issue reports. Please choose the proper issue template so we get the necessary information.