Thank you for your interest in contributing! This document provides guidelines and instructions for contributing to the CleevioX Toolkit.
- Node.js >= 24.0.0
- Bun >= 1.3.6
- Git
-
Fork the repository
-
Clone your fork:
git clone https://github.com/YOUR_USERNAME/cleeviox-toolkit.git cd cleeviox-toolkit -
Install dependencies:
bun install
-
Create a new branch:
git checkout -b feature/your-feature-name
bun run build# Run linter
bun run lint
# Fix linting issues
bun run lint:fixbun run ts# Check formatting
bun run format
# Fix formatting
bun run format:fixThis project uses Conventional Commits. Please format your commit messages accordingly:
<type>(<scope>): <description>
[optional body]
[optional footer]
| Type | Description |
|---|---|
feat |
A new feature |
fix |
A bug fix |
docs |
Documentation changes |
style |
Code style changes (formatting, semicolons, etc.) |
refactor |
Code refactoring without feature changes |
perf |
Performance improvements |
test |
Adding or updating tests |
chore |
Maintenance tasks, dependencies, etc. |
ci |
CI/CD configuration changes |
feat(biome): add support for Vue.js configuration
fix(tsconfig): correct module resolution for ESM
docs(readme): update installation instructions
chore(deps): bump typescript to 5.9.3-
Ensure all checks pass locally:
bun run build && bun run lint && bun run ts
-
Update documentation if needed
-
Add a changeset if your change affects published packages:
bun changeset
-
Push your branch and open a pull request
-
Fill out the PR template with a clear description of your changes
-
Wait for review and address any feedback
-
Create a new directory under
packages/:mkdir packages/your-package
-
Add a
package.jsonwith the required fields:{ "name": "@cleeviox/your-package", "version": "0.0.0", "type": "module", "repository": { "type": "git", "url": "https://github.com/cleevio/cleeviox-toolkit", "directory": "packages/your-package" } } -
Add a
biome.jsoncextending the base configuration:{ "$schema": "https://biomejs.dev/schemas/2.0.0/schema.json", "extends": ["../biome/base.jsonc"] } -
Add a
README.mdwith the logo and documentation -
Run
bun installto link the new package
- Use TypeScript for all source files
- Follow the Biome configuration for linting and formatting
- Write clear, descriptive variable and function names
- Add JSDoc comments for public APIs
The main branch is protected with the following rules:
- Pull request required (no direct pushes)
- At least 1 approval from a code owner
- Stale approvals dismissed on new commits
- All conversations must be resolved
- All status checks must pass:
CI / buildCI / checkCI / typecheckCI / commitlintCI / manypkg
- Branch must be up to date with
main - Linear history required (squash or rebase)
- Always create a feature branch - you cannot push directly to
main - Your PR needs at least one approval before merging
- If you push new commits after approval, re-approval is required
- All CI checks must pass - run
bun run build && bun run check && bun run tslocally first - Resolve all review comments before merging
- Keep your branch up to date with
mainto avoid merge conflicts
If you have questions or need help, feel free to open an issue on GitHub.