Contribution Guide
Thank you for your interest in contributing to TextGO! This guide will help you understand how to participate in the project.
Ways to Contribute
You can contribute to TextGO in the following ways:
- 🐛 Report Bugs: Discover issues and submit Issues
- 💡 Suggest Features: Share your ideas and feature requests
- 📝 Improve Documentation: Enhance documentation and examples
- 🔧 Fix Issues: Submit Pull Requests to fix bugs
- ✨ Add Features: Develop new features
- 🌍 Help Translate: Help translate the interface and documentation
- 📚 Share Scripts: Share your custom scripts and regular expressions
Submit Issue
Please search existing Issues before submitting to avoid duplicates.
1. Report Bugs
Follow the template below to submit a bug report on GitHub Issues:
markdown
**Describe the bug**
Briefly describe the issue
**To Reproduce**
Provide steps to reproduce
**Environment**
- OS: [e.g., macOS 26]
- Version: [e.g., v1.0.0]
**Screenshots (optional)**
Attach screenshots or recordings2. Feature Suggestions
Follow the template below to submit feature suggestions on GitHub Issues:
markdown
**What feature would you like to add?**
Clearly describe the feature you want
**Why do you need this feature?**
Explain the necessity of the feature
**Additional context (optional)**
Provide any additional informationSubmit Pull Request
1. Prepare Development Environment
Required Tools: Node.js, pnpm, Rust, Git
bash
# After forking the project, clone your repository
git clone https://github.com/YOUR_USERNAME/TextGO.git
cd TextGO
# Install dependencies
pnpm install2. Development and Testing
bash
# Start development server
pnpm tauri dev
# Enable debug logs (macOS/Linux)
RUST_LOG=debug pnpm tauri dev
# Enable debug logs (Windows PowerShell)
$env:RUST_LOG="debug"; pnpm tauri dev
# Build production version
pnpm tauri build3. Create Branch and Develop
bash
# Update and create feature branch
git checkout main
git pull upstream main
git checkout -b feature/my-new-feature # or fix/bug-descriptionCode Standards:
- TypeScript: Follow Prettier and ESLint rules, run
pnpm lintto check - Rust: Use
cargo fmtto format,cargo clippyto check
4. Commit Changes
Use Conventional Commits specification:
bash
git add .
git commit -m "feat: add keyboard shortcut customization"
# or fix/docs/refactor/perf/test/chore etc.5. Submit Pull Request
bash
# Push to your repository
git push origin feature/my-new-featureCreate PR on GitHub, clearly describe the changes and reasons, reference Issue numbers if applicable
Documentation Contribution
Improve Existing Documentation
- Find errors or unclear parts
- Modify in the corresponding
.mdfile - Submit PR
Translate Documentation to Other Languages
- Copy English documentation to new language directory
- Translate content
- Keep structure consistent
- Submit PR