Skip to content

Commit d08ce0e

Browse files
paddymulclaude
andauthored
docs: clean up README, extract CONTRIBUTING.md (#637)
* docs: clean up README, extract CONTRIBUTING.md - Remove stale "buckaroo has moved to" notice - Fix ~10 links from paddymul/buckaroo to buckaroo-data/buckaroo - Add PyPI, CI, and license badges - Fix typos (rwos, Bucakroo, dangling backtick) - Consolidate duplicate autocleaning sections - Modernize quick start (pip install, clean code block) - Promote Polars from "optional" footnote to first-class mention - Move dev setup, Storybook, Playwright, UV, and release instructions to CONTRIBUTING.md (was ~120 lines of README) - Fix broken markdown formatting Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * fix: address Codex review comments on PR #637 - Add missing `cd packages/buckaroo-js-core` before `pnpm build-storybook` - Update release process docs to reflect workflow_dispatch flow (not manual tag-push) - Update CLAUDE.md release section to match Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent 512928e commit d08ce0e

3 files changed

Lines changed: 169 additions & 196 deletions

File tree

CLAUDE.md

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,5 @@ Runs on push to main and PRs. Key jobs: LintPython, TestJS, BuildWheel, TestPyth
5858
## Release Process
5959

6060
1. Update CHANGELOG.md
61-
2. Tag (no 'v' prefix): `git tag 0.12.13`
62-
3. Push tag: `git push origin tag 0.12.13`
63-
4. Release workflow generates notes and publishes to PyPI
61+
2. Trigger the **Release** workflow via GitHub Actions (`workflow_dispatch`), choosing `patch`, `minor`, or `major`
62+
3. The workflow bumps the version in `pyproject.toml`, creates the tag, builds, publishes to PyPI, and creates a GitHub release

CONTRIBUTING.md

Lines changed: 103 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,103 @@
1+
# Contributing to Buckaroo
2+
3+
We love contributions! This guide covers development setup, building, testing, and releasing.
4+
5+
## Development setup
6+
7+
### Prerequisites
8+
- [uv](https://docs.astral.sh/uv/) for Python dependency management
9+
- [pnpm](https://pnpm.io/) for JavaScript dependency management
10+
- Node.js >= 18
11+
- Python >= 3.11
12+
13+
### Python
14+
15+
```bash
16+
git clone https://github.com/buckaroo-data/buckaroo.git
17+
cd buckaroo
18+
uv sync --dev --all-extras
19+
```
20+
21+
### JavaScript
22+
23+
```bash
24+
cd packages/buckaroo-js-core
25+
pnpm install
26+
```
27+
28+
### Full build (JS + Python wheel)
29+
30+
```bash
31+
./scripts/full_build.sh
32+
```
33+
34+
35+
## Running tests
36+
37+
### Python
38+
39+
```bash
40+
uv run pytest tests/unit/ -v
41+
uv run ruff check --fix
42+
```
43+
44+
### JavaScript
45+
46+
```bash
47+
cd packages/buckaroo-js-core
48+
pnpm test
49+
```
50+
51+
### Storybook (component development)
52+
53+
```bash
54+
cd packages/buckaroo-js-core
55+
pnpm storybook
56+
# open http://localhost:6006
57+
```
58+
59+
Build a static Storybook site:
60+
```bash
61+
cd packages/buckaroo-js-core
62+
pnpm build-storybook
63+
```
64+
65+
### Playwright (UI tests against Storybook)
66+
67+
Install browsers:
68+
```bash
69+
cd packages/buckaroo-js-core
70+
pnpm exec playwright install
71+
```
72+
73+
Run tests:
74+
```bash
75+
pnpm test:pw --reporter=line
76+
```
77+
78+
Useful variants:
79+
```bash
80+
pnpm test:pw:headed # visible browser
81+
pnpm test:pw:ui # Playwright UI
82+
pnpm test:pw:report # open HTML report
83+
```
84+
85+
86+
## Adding dependencies
87+
88+
```bash
89+
uv add <package> # main dependency
90+
uv add --group <group> <package> # extras group
91+
```
92+
93+
94+
## Release process
95+
96+
1. Update `CHANGELOG.md`
97+
2. Trigger the **Release** workflow via GitHub Actions (`workflow_dispatch`), choosing `patch`, `minor`, or `major`
98+
3. The workflow bumps the version in `pyproject.toml`, creates the tag, builds, publishes to PyPI, and creates a GitHub release
99+
100+
101+
## Reporting issues
102+
103+
We welcome [issue reports](https://github.com/buckaroo-data/buckaroo/issues). Please choose the proper issue template so we get the necessary information.

0 commit comments

Comments
 (0)