Thank you for your interest in contributing to Kushai! This document provides guidelines and instructions for contributing.
By participating in this project, you agree to abide by our Code of Conduct.
If you find a bug, please report it by creating an issue on GitHub. Please include:
- A clear, descriptive title
- Steps to reproduce the issue
- Expected behavior
- Actual behavior
- Any relevant logs or screenshots
- Your environment (OS, Node.js version, etc.)
We welcome feature suggestions! Please create an issue on GitHub with:
- A clear, descriptive title
- A detailed description of the proposed feature
- Any relevant examples or mockups
- The problem the feature would solve
- Fork the repository
- Create a new branch (
git checkout -b feature/your-feature-name) - Make your changes
- Run tests (
npm test) - Commit your changes using conventional commits
- Push to your branch (
git push origin feature/your-feature-name) - Open a Pull Request
- Follow the conventional commits specification
- Include tests for new features or bug fixes
- Update documentation as needed
- Ensure all tests pass
- Keep pull requests focused on a single concern
- Node.js 18+
- MongoDB 5.0+
-
Clone the repository: ```bash git clone https://github.com/kushai/kushai.git cd kushai ```
-
Install dependencies: ```bash npm install ```
-
Set up environment variables: ```bash cp .env.example .env
```
-
Start development servers: ```bash npm run dev ```
api/- Express backend API serversdk/- TypeScript SDK for Kushaicli/- Command-line interfacecommon/- Shared utilities and typesweb/- Landing page and user dashboarddocs/- Documentation sitetest/- Integration testssdk-samples/- SDK usage examples
```bash
npm test
npm test --workspace=@kushai/sdk ```
- Use TypeScript for all code
- Follow the ESLint and Prettier configurations
- Write meaningful commit messages following conventional commits
- Document all public APIs with JSDoc comments
By contributing to Kushai, you agree that your contributions will be licensed under the project's MIT License.