Contributing
Commit format
This repository uses Conventional Commits. Every commit message must start with a type prefix:
| Prefix | What it does |
|---|---|
feat: | New feature → bumps minor version |
fix: | Bug fix → bumps patch version |
docs: | Documentation only — no version bump |
perf: | Performance improvement → bumps patch |
refactor: | Code refactor — no version bump |
ci: | CI/CD changes — no version bump |
feat!: or BREAKING CHANGE: footer | Breaking change → bumps major version |
Examples:
feat: add resetField to FormInstance
fix(core): isEmpty now detects empty FileList
docs: add persistence guide
feat!: rename validator to validate (BREAKING CHANGE)How releases work
Releases are automated via release-please. When commits are pushed to main:
release-pleaseparses the commit history and opens a "Release PR" that bumpspackages/alias/package.jsonand generatesCHANGELOG.mdentries.- When the release PR is merged,
release-pleasecreates avX.Y.Ztag automatically. - The
vX.Y.Ztag triggers.github/workflows/publish.yml, which runs tests, builds, and publishes@neutro/formto npm.
You do NOT need to push tags manually.
Running tests
bash
pnpm install
pnpm testBuilding docs
bash
pnpm docs:dev