Found a bug? Please help us by submitting a bug report!
Before submitting a bug report:
- Check if the bug hasn't been already reported in GitHub Issues
- Update to the latest version to see if the issue persists
Writing a good bug report:
- Use a clear and descriptive title
- Describe the exact steps to reproduce the problem
- Include screenshots or screen recordings if possible
- Share your system information (OS, Node version, etc.)
- Explain what you expected to happen vs what actually happened
Have an idea to make KuttAI better? We'd love to hear it!
Enhancement guidelines:
- Use a clear and descriptive title
- Provide a detailed description of the proposed enhancement
- Explain why this enhancement would be useful to most KuttAI users
- Include mockups, diagrams, or examples if applicable
Ready to write code? Here's how to get started:
New to open source? Here are some beginner-friendly issues:
Click the "Fork" button in the top right corner of the repository page.
git clone https://github.com/your-username/kuttai.git
cd kuttaigit remote add upstream https://github.com/cyberkutti-iedc/kuttai.gitgit checkout -b feature/your-feature-name
# or
git checkout -b fix/issue-descriptionnpm installFollow our coding standards and make your changes.
# Run the test suite
npm test
# Test your changes manually
npm startWe follow Conventional Commits specification:
git commit -m "feat: add new command for study planning"
git commit -m "fix: resolve memory leak in model loading"
git commit -m "docs: update installation instructions"git push origin feature/your-feature-nameGo to your fork on GitHub and click "New Pull Request".
We use ESLint and Prettier for code formatting:
# Check code style
npm run lint
# Automatically fix style issues
npm run lint:fix- Readability: Write code that's easy to understand
- Modularity: Keep functions small and focused
- Documentation: Comment complex logic and add JSDoc for functions
- Testing: Write tests for new functionality
For UI components, follow these guidelines:
- Use the established color scheme (
src/utils/uiHelper.js) - Maintain consistent spacing and layout
- Ensure accessibility considerations
- Test on multiple terminal emulators
- Place tests in the
__tests__directory - Use descriptive test names
- Mock external dependencies
- Cover edge cases and error conditions
# Run all tests
npm test
# Run tests with coverage
npm run test:coverage
# Run specific test file
npm test -- __tests__/model-loader.test.js- Use JSDoc comments for all functions and classes
- Document parameters, return values, and exceptions
- Include examples for complex functions
/**
* Loads the AI model with specified options
* @param {Object} options - Model loading options
* @param {string} options.modelPath - Path to the model file
* @param {number} options.contextSize - Context size for the model
* @returns {Promise<Model>} Loaded model instance
* @throws {Error} If model fails to load
*/
async function loadModel(options) {
// function implementation
}- Update README.md for user-facing changes
- Add examples for new features
- Keep installation instructions current
kuttai/
├── src/ # Source code
│ ├── core/ # Core functionality
│ ├── models/ # AI model handling
│ └── index.js # Main entry point
├── __tests__/ # Test files
├── docs/ # Documentation
├── public/ # Static assets
- Automated Checks: GitHub Actions will run tests and linting
- Maintainer Review: A maintainer will review your PR within 48 hours
- Feedback: You may receive requests for changes
- Approval: Once approved, your PR will be merged
Contributors are recognized in:
- GitHub Contributors list
- Release notes
- Project documentation
- Check existing GitHub Issues
- Read the developer documentation
Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.
Your contributions are greatly appreciated. Thank you for helping make KuttAI better!
