Thank you for your interest in contributing to RoleX!
- Bun >= 1.3.0
- Node.js >= 22.0.0 (for some tooling)
# Clone the repository
git clone https://github.com/Deepractice/RoleX.git
cd RoleX
# Install dependencies
bun install
# Build all packages
bun run buildgit checkout -b feature/your-feature-name- Write tests first (TDD approach)
- Follow the existing code style
- Use CommonX utilities (see CLAUDE.md)
- Update documentation as needed
# Format code
bun run format
# Lint code
bun run lint
# Type check
bun run typecheck
# Run tests
bun run test
bun run test:bddWe use Conventional Commits:
git add .
git commit -m "feat: add new feature"Commit types:
feat: New featurefix: Bug fixdocs: Documentation changesstyle: Code style changes (formatting, etc.)refactor: Code refactoringtest: Adding or updating testschore: Maintenance tasks
Before submitting a PR, create a changeset:
bunx changesetSelect the packages that changed and the version bump type (patch/minor/major).
git push origin feature/your-feature-nameThen create a Pull Request on GitHub.
- Use TypeScript strict mode
- Use ESM modules
- Use
commonxjsutilities - Follow existing patterns
- Add tests for new features
- Keep commits atomic and well-described
# Run all unit tests
bun run test
# Run specific test
bun test packages/core/tests/unit/role.test.ts# Run all BDD tests
bun run test:bdd
# Run with specific tag
cd bdd && bun run test:tags "@role"Feel free to open an issue or discussion on GitHub!