Contributing
We welcome contributions to ProBeya. This guide explains how to get started, our development workflow, and how to submit your changes.
Getting Started
- Fork the repository on GitHub.
- Clone your fork locally:
git clone https://github.com/YOUR_USERNAME/obeya.gitcd obeya
- Set up the development environment following the Local Setup guide.
- Create a branch for your changes:
git checkout -b feat/your-feature-name
Branch Naming
Use the following prefixes:
| Prefix | Purpose |
|---|---|
feat/ | New features |
fix/ | Bug fixes |
docs/ | Documentation changes |
refactor/ | Code refactoring without behavior changes |
test/ | Adding or updating tests |
chore/ | Build system, CI, dependency updates |
Commit Messages
We follow the Conventional Commits specification:
type(scope): description
[optional body]
[optional footer]
Examples:
feat(boards): add timeline view with dependency arrows
fix(auth): handle expired session tokens gracefully
docs(api): add examples to items API reference
refactor(db): extract query builders into utility module
test(forms): add integration tests for form submission
Development Workflow
- Make your changes in your feature branch.
- Write tests for new functionality (see Testing).
- Run the linter and formatter:
pnpm lintpnpm format
- Run tests:
pnpm test
- Commit your changes following the commit message convention.
- Push your branch to your fork:
git push origin feat/your-feature-name
- Open a Pull Request on the main repository.
Pull Request Guidelines
- Title should follow the same format as commit messages.
- Description should explain what the PR does and why, not just how.
- Link related issues using
Closes #123orFixes #456in the description. - Include screenshots for UI changes.
- Keep PRs focused — one logical change per PR.
- Ensure CI passes — all checks must be green before merge.
Code Review
All PRs require at least one approval from a maintainer. Reviewers will look for:
- Correctness and completeness.
- Test coverage.
- Code style and consistency.
- Performance implications.
- Security considerations.
Reporting Issues
Use GitHub Issues to report bugs or request features:
- Bug reports should include: steps to reproduce, expected behavior, actual behavior, and environment details.
- Feature requests should include: use case, proposed solution, and any alternatives considered.
Code of Conduct
We are committed to providing a welcoming and inclusive experience for everyone. Please read and follow our Code of Conduct (available in the repository root) when participating in the project.
License
By contributing to ProBeya, you agree that your contributions will be licensed under the same license as the project (AGPL-3.0).