local-leetcode-trainer
Version:
A complete local LeetCode practice environment with multi-language support - use your IDE, collaborate with AI, submit with confidence
73 lines (53 loc) โข 1.75 kB
Markdown
# Contributing to Local LeetCode Trainer
Thank you for your interest in contributing! This project aims to provide the best offline LeetCode practice experience.
## ๐ Ways to Contribute
### ๐ Bug Reports
- Use GitHub Issues to report bugs
- Include steps to reproduce
- Mention your OS and language version
### โจ Feature Requests
- Suggest new languages to support
- Propose new problem categories
- Request workflow improvements
### ๐ง Code Contributions
- Fork the repository
- Create a feature branch
- Make your changes
- Test thoroughly
- Submit a pull request
## ๐ ๏ธ Development Setup
```bash
git clone https://github.com/karote00/local-leetcode-trainer
cd local-leetcode-trainer
yarn install
```
## ๐ Adding New Languages
To add support for a new language:
1. **Update `scripts/config.js`**:
- Add language configuration to `LANGUAGE_CONFIGS`
- Include file extension, test command, and templates
2. **Update test runner**:
- Add language-specific test execution in `scripts/test-runner.js`
3. **Test thoroughly**:
- Test problem generation
- Test execution
- Test language switching
## ๐งช Testing
Before submitting:
- Test all core commands
- Test language switching
- Verify templates generate correctly
- Check that archived problems remain accessible
## ๐ Code Style
- Use clear, descriptive variable names
- Add comments for complex logic
- Follow existing patterns in the codebase
- Keep functions focused and small
## ๐ฏ Problem Database
When adding new problems:
- Include accurate difficulty ratings
- Add relevant company tags
- Provide clear descriptions
- Include proper LeetCode links
## ๐ Questions?
Feel free to open an issue for any questions about contributing!