Thanks for taking the time to contribute! This guide applies org-wide to
every repository under the buefy organization. An individual repository
may extend or override these guidelines with its own CONTRIBUTING.md.
- Search existing issues and discussions to avoid duplicates.
- For anything beyond a small fix, open an issue first to discuss the approach before writing code.
- Read the Code of Conduct — participation in this project means agreeing to abide by it.
- Never report a security vulnerability as a public issue — see SECURITY.md.
Repositories in this org are trunk-based: main is always releasable, there
is no long-lived develop branch, and releases are cut automatically by
semantic-release from main on every
merge. This means:
- Fork the repository and create a branch off
main. - Make your change, including tests and documentation updates.
- Run the local checks the repository's CI also runs (lint, typecheck, test, build) before opening a pull request.
- Open a pull request against
mainusing the repository's PR template. - Once merged, semantic-release computes the next version, publishes to npm, and generates release notes automatically — you do not need to bump version numbers or hand-edit a changelog.
All commits must follow Conventional Commits. The commit message (or, for squash-merged PRs, the PR title) is the source of truth semantic-release uses to compute the next version and changelog entry:
| Type | Effect |
|---|---|
fix: |
patch release |
feat: |
minor release |
feat!: / BREAKING CHANGE: footer |
major release |
docs:, chore:, refactor:, perf:, test:, ci: |
no release (unless combined with the above) |
Examples:
fix(dropdown): close on outside click when teleported
feat(datepicker): add `min-date` prop
BREAKING CHANGE: `disabled-dates` no longer accepts a function; use `min-date`/`max-date`.
- Keep PRs focused on a single change; unrelated cleanup belongs in its own PR.
- Fill out the PR template completely, including the type-of-change checklist.
- Add or update tests for any behavior change.
- Update component documentation when public props/events/slots change.
- A CODEOWNERS review is required before merge; CI (lint, typecheck, test, build) must be green.
Downstream component-library repos ship a component-scaffolder Claude Code
agent and a scaffold-component skill (see that repo's starter-kit-derived
.claude/ config) that generate the SFC, unit test, and docs page for a new
component from a short spec — use it as the starting point rather than
copy-pasting an existing component by hand.
See SUPPORT.md for where to ask questions versus where to file bugs.