We warmly welcome your contributions! This guide will help you understand how to effectively contribute to the Chaterm project.
- 🐛 Report Bugs - Help us identify and fix issues
- 💬 Discuss Code - Participate in technical discussions
- 🔧 Submit Fixes - Fix bugs and improve existing features
- ✨ Propose Features - Suggest new features
- 📖 Improve Documentation - Enhance documentation and guides
- 🧪 Add Tests - Improve test coverage
We use GitHub to host code, track issues and feature requests, and accept Pull Requests.
- Fork this repository to your personal account
- Create your development branch from the
mainbranch - Develop in your forked repository
- Submit a Pull Request to the
mainbranch of the original repository when done - Mention the fixed Issue in the PR description (if applicable)
- After approval from at least one maintainer, the PR will be merged
-
Clone the repository:
# Fork the repository on GitHub, then clone your fork git clone https://github.com/YOUR_USERNAME/Chaterm.git cd Chaterm
-
Install necessary development tools:
- Install Node.js (recommended to use the latest LTS version)
-
Install Electron:
npm i electron -D
-
Install project dependencies:
node scripts/patch-package-lock.js npm install
-
Start the development server:
npm run dev
Chaterm/
├── src/
│ ├── main/ # Electron main process
│ ├── preload/ # Preload scripts
│ └── renderer/ # Vue.js frontend
├── scripts/ # Build and development scripts
├── resources/ # Application resources (icons, etc.)
├── tests/ # Test files
└── docs/ # Documentation
- ESLint: JavaScript/TypeScript code checking
- Prettier: Code formatting
- TypeScript: Strong typing recommended
# Format code
npm run format
# Check for code issues
npm run lint
# Build verification
npm run buildUse conventional commit format:
feat: add new feature
fix: fix bug in component
docs: update README
refactor: improve code structure
test: add unit tests
- 📝 Documentation: Check existing documentation first
- 💬 Discussions: Use GitHub Discussions to ask questions
- 🐛 Issues: Report bugs through issues with detailed information
- 💡 Ideas: Propose feature suggestions through issues
If you have any questions about contributing, please create an issue using the "question" label.
By contributing to Chaterm, you agree that your contributions will be licensed under the same terms as the project.