133 lines
4.1 KiB
Markdown
133 lines
4.1 KiB
Markdown
|
|
# Contributing to 3D Flight Simulator
|
||
|
|
|
||
|
|
Thank you for considering contributing to the 3D Flight Simulator project! We welcome contributions from everyone, whether you're fixing bugs, adding new features, improving documentation, or suggesting enhancements.
|
||
|
|
|
||
|
|
## 🤝 How to Contribute
|
||
|
|
|
||
|
|
### 1. Reporting Issues
|
||
|
|
|
||
|
|
Before creating a new issue, please check if it has already been reported:
|
||
|
|
- Search the [issue tracker](https://gitea@repos.retroweb.dev:ai-zone/wings88/issues)
|
||
|
|
- If you find a related issue, add a comment with additional information
|
||
|
|
|
||
|
|
When reporting a new issue, please include:
|
||
|
|
- A clear description of the problem
|
||
|
|
- Steps to reproduce the issue
|
||
|
|
- Your browser and operating system
|
||
|
|
- Any relevant screenshots or error messages
|
||
|
|
|
||
|
|
### 2. Suggesting Features
|
||
|
|
|
||
|
|
We welcome feature requests! Please:
|
||
|
|
- Describe the feature in detail
|
||
|
|
- Explain why it would be useful
|
||
|
|
- Provide any relevant examples or mockups
|
||
|
|
|
||
|
|
### 3. Code Contributions
|
||
|
|
|
||
|
|
#### Setting Up the Project
|
||
|
|
|
||
|
|
1. Fork the repository on GitHub
|
||
|
|
2. Clone your fork locally:
|
||
|
|
```bash
|
||
|
|
git clone https://gitea@repos.retroweb.dev:ai-zone/wings88.git
|
||
|
|
cd wings88
|
||
|
|
```
|
||
|
|
3. Set up the development environment:
|
||
|
|
```bash
|
||
|
|
npm install
|
||
|
|
```
|
||
|
|
|
||
|
|
#### Making Changes
|
||
|
|
|
||
|
|
1. Create a new branch for your feature or bug fix:
|
||
|
|
```bash
|
||
|
|
git checkout -b your-branch-name
|
||
|
|
```
|
||
|
|
2. Make your changes to the code
|
||
|
|
3. Test your changes thoroughly
|
||
|
|
4. Update documentation if needed
|
||
|
|
5. Commit your changes with a meaningful message:
|
||
|
|
```bash
|
||
|
|
git commit -m "feat: add new feature description"
|
||
|
|
```
|
||
|
|
|
||
|
|
#### Submitting a Pull Request
|
||
|
|
|
||
|
|
1. Push your branch to your fork:
|
||
|
|
```bash
|
||
|
|
git push origin your-branch-name
|
||
|
|
```
|
||
|
|
2. Open a pull request on the main repository
|
||
|
|
3. Fill out the pull request template with:
|
||
|
|
- Description of your changes
|
||
|
|
- Related issues (if any)
|
||
|
|
- Screenshots (if applicable)
|
||
|
|
- Testing instructions
|
||
|
|
|
||
|
|
### 4. Documentation Contributions
|
||
|
|
|
||
|
|
Improving documentation is just as valuable as code contributions! Please:
|
||
|
|
- Fix typos or unclear explanations
|
||
|
|
- Add missing information
|
||
|
|
- Improve code examples
|
||
|
|
- Update API documentation
|
||
|
|
|
||
|
|
### 5. Testing
|
||
|
|
|
||
|
|
We appreciate contributions that improve test coverage:
|
||
|
|
- Add unit tests for new features
|
||
|
|
- Add integration tests for critical paths
|
||
|
|
- Fix failing tests
|
||
|
|
|
||
|
|
## 📜 Code of Conduct
|
||
|
|
|
||
|
|
Please note that this project is released with a [Contributor Code of Conduct](CODE_OF_CONDUCT.md). By contributing to this project, you agree to abide by its terms.
|
||
|
|
|
||
|
|
## 📋 Development Guidelines
|
||
|
|
|
||
|
|
### Coding Standards
|
||
|
|
|
||
|
|
- Follow the existing code style
|
||
|
|
- Write self-documenting code with meaningful variable names
|
||
|
|
- Keep functions small and focused
|
||
|
|
- Add comments for complex logic
|
||
|
|
- Write unit tests for new functionality
|
||
|
|
|
||
|
|
### Commit Messages
|
||
|
|
|
||
|
|
Please follow the [Conventional Commits](https://www.conventionalcommits.org/) specification:
|
||
|
|
- `feat:` for new features
|
||
|
|
- `fix:` for bug fixes
|
||
|
|
- `docs:` for documentation changes
|
||
|
|
- `style:` for code style changes
|
||
|
|
- `refactor:` for code refactoring
|
||
|
|
- `test:` for test-related changes
|
||
|
|
- `chore:` for maintenance tasks
|
||
|
|
|
||
|
|
### Branching Strategy
|
||
|
|
|
||
|
|
- `main` - Production-ready code (protected branch)
|
||
|
|
- `dev` - Development branch for new features
|
||
|
|
- Feature branches - Named after the feature being developed (e.g., `feat/landscape-generation`)
|
||
|
|
- Bugfix branches - Named after the bug being fixed (e.g., `fix/crash-on-load`)
|
||
|
|
|
||
|
|
## 📞 Communication
|
||
|
|
|
||
|
|
For questions or discussions, please:
|
||
|
|
- Use the [GitHub Discussions](https://gitea@repos.retroweb.dev:ai-zone/wings88/discussions) feature
|
||
|
|
- Open an issue for specific questions about the codebase
|
||
|
|
- Join our community chat (if available)
|
||
|
|
|
||
|
|
## 🎯 Current Priorities
|
||
|
|
|
||
|
|
Check the [project board](https://gitea@repos.retroweb.dev:ai-zone/wings88/projects) for current priorities and ongoing work.
|
||
|
|
|
||
|
|
## 📝 Additional Resources
|
||
|
|
|
||
|
|
- [Three.js Documentation](https://threejs.org/docs/)
|
||
|
|
- [Web Audio API Documentation](https://developer.mozilla.org/en-US/docs/Web/API/Web_Audio_API)
|
||
|
|
- [Canvas API Documentation](https://developer.mozilla.org/en-US/docs/Web/API/Canvas_API)
|
||
|
|
|
||
|
|
Thank you for contributing to the 3D Flight Simulator project! Your efforts help make this project better for everyone.
|