···3535- Always run `make test` before committing — all tests must pass.
3636- Hand-test affected CLI commands (`./bin/vit.js <command>`) to verify behavior beyond what tests cover.
37373838+## Releasing
3939+4040+Every commit that changes files in `bin/` or `src/` — the packaged CLI code — **must** be followed by a release and publish to npm:
4141+4242+```bash
4343+make ship # bump patch version, tag, push, publish to npm
4444+make ship BUMP=minor # for new commands or features
4545+make ship BUMP=major # for breaking changes
4646+```
4747+4848+**This is non-negotiable.** If your commit touches `bin/` or `src/`, run `make ship` before you're done. Use `patch` (default) for fixes and small improvements, `minor` for new commands or features, `major` for breaking changes.
4949+5050+`make ship` runs tests, bumps the version in `package.json`, creates a git commit and tag (`vX.Y.Z`), pushes to origin, and publishes to npm — all in one step.
5151+5252+Individual targets if needed:
5353+- `make release` — test, bump, commit, tag, push (no npm publish)
5454+- `make publish` — npm publish only (assumes version is already bumped)
5555+3856## Hosting
39574058The `docs/` directory is published to [v-it.org](https://v-it.org) via GitHub Pages. Pushing to main auto-deploys.
+10-1
Makefile
···11-.PHONY: install link test test-node clean
11+BUMP ?= patch
22+33+.PHONY: install link test test-node clean release publish ship
2435install:
46 bun install
···1618clean:
1719 rm -rf node_modules/
18202121+release: test
2222+ npm version $(BUMP)
2323+ git push
2424+ git push --tags
2525+1926publish:
2027 npm publish
2828+2929+ship: release publish