Contribution Workflow
This is the developer-facing workflow for contributing to VibeXP. For a lighter, end-user-oriented overview, see Contributing.
Branch off main
Section titled “Branch off main”Create a focused topic branch from main:
git switch -c feat/team-switcher mainKeep each PR focused on a single change. Smaller PRs are reviewed faster and are easier to revert if something goes wrong. Add or update tests where it makes sense.
Conventional Commits
Section titled “Conventional Commits”VibeXP uses Conventional Commits for commit messages and PR titles. Use a scope that names the affected component:
feat(frontend): add team switcher to the sidebarfix(backend): return 404 instead of 500 for missing artifactsdocs(backend): document the MCP setup flowrefactor(frontend): extract artifact diff viewer into a hookchore(backend): bump pgvector to the latest patchCommon types: feat, fix, docs, chore, refactor, test, ci, perf.
Common scopes: backend, frontend (plus narrower scopes where useful).
Open a pull request
Section titled “Open a pull request”- Run the relevant lint / test / build targets locally first (see below) so CI passes on the first try.
- Push your branch and open a PR using the template.
- Fill in What and Why, and link related issues with
Closes #123(orPart of #123for partial work). - Wait for CI to pass — it runs the same
maketargets you ran locally.
Run the checks locally first
Section titled “Run the checks locally first”# Backendmake backend-testmake backend-lintmake backend-check
# Frontendmake frontend-testmake frontend-lintmake frontend-type-checkmake frontend-buildFor the full picture of what runs on every commit and in CI, see Pre-commit & CI.
Licensing
Section titled “Licensing”VibeXP is open-core under AGPL-3.0-or-later. When you add files, follow the license of the directory they live in.
Security disclosures
Section titled “Security disclosures”Please do not report security vulnerabilities through public GitHub issues.
Follow the private disclosure process in the repository’s
SECURITY.md.
Code of Conduct
Section titled “Code of Conduct”This project adheres to the
Contributor Covenant. By participating,
you are expected to uphold it — see the repository’s
CODE_OF_CONDUCT.md.