mirror of
https://github.com/andwati/telecom-platform.git
synced 2026-10-18 19:12:54 +00:00
130 lines
2.7 KiB
Markdown
130 lines
2.7 KiB
Markdown
# Contributing to TaaS Platform
|
|
|
|
Thank you for your interest in contributing to the TaaS Platform! This document provides guidelines for contributing to the project.
|
|
|
|
## Getting Started
|
|
|
|
1. **Fork the repository**
|
|
2. **Clone your fork:**
|
|
```bash
|
|
git clone https://github.com/YOUR_USERNAME/telecom-platform.git
|
|
cd telecom-platform
|
|
```
|
|
3. **Set up development environment:**
|
|
```bash
|
|
./scripts/dev-setup.sh
|
|
make all
|
|
```
|
|
|
|
## Development Workflow
|
|
|
|
1. **Create a feature branch:**
|
|
```bash
|
|
git checkout -b feature/your-feature-name
|
|
```
|
|
|
|
2. **Make your changes:**
|
|
- Write clear, documented code
|
|
- Follow language-specific style guides
|
|
- Add tests for new functionality
|
|
|
|
3. **Run tests:**
|
|
```bash
|
|
make test
|
|
```
|
|
|
|
4. **Commit your changes:**
|
|
```bash
|
|
git add .
|
|
git commit -m "feat: add new feature"
|
|
```
|
|
|
|
5. **Push to your fork:**
|
|
```bash
|
|
git push origin feature/your-feature-name
|
|
```
|
|
|
|
6. **Create a Pull Request**
|
|
|
|
## Code Style
|
|
|
|
### Go
|
|
- Follow [Effective Go](https://go.dev/doc/effective_go)
|
|
- Use `gofmt` for formatting
|
|
- Run `golangci-lint` before committing
|
|
|
|
### Rust
|
|
- Follow [Rust API Guidelines](https://rust-lang.github.io/api-guidelines/)
|
|
- Use `cargo fmt` for formatting
|
|
- Run `cargo clippy` before committing
|
|
|
|
### TypeScript
|
|
- Follow [Airbnb Style Guide](https://github.com/airbnb/javascript)
|
|
- Use Prettier for formatting
|
|
- Use ESLint for linting
|
|
|
|
## Commit Message Format
|
|
|
|
We use [Conventional Commits](https://www.conventionalcommits.org/):
|
|
|
|
```
|
|
<type>(<scope>): <subject>
|
|
|
|
<body>
|
|
|
|
<footer>
|
|
```
|
|
|
|
**Types:**
|
|
- `feat`: New feature
|
|
- `fix`: Bug fix
|
|
- `docs`: Documentation changes
|
|
- `style`: Code style changes (formatting)
|
|
- `refactor`: Code refactoring
|
|
- `test`: Adding or updating tests
|
|
- `chore`: Maintenance tasks
|
|
|
|
**Examples:**
|
|
```
|
|
feat(api): add eSIM deletion endpoint
|
|
fix(charging): correct credit deduction logic
|
|
docs: update deployment guide
|
|
```
|
|
|
|
## Testing
|
|
|
|
- Write unit tests for all new code
|
|
- Ensure existing tests pass
|
|
- Add integration tests for API endpoints
|
|
- Test edge cases and error conditions
|
|
|
|
## Pull Request Process
|
|
|
|
1. Update documentation if needed
|
|
2. Add tests for your changes
|
|
3. Ensure all tests pass
|
|
4. Update CHANGELOG.md
|
|
5. Request review from maintainers
|
|
6. Address review feedback
|
|
7. Wait for approval and merge
|
|
|
|
## Code Review
|
|
|
|
We review all contributions. Expect:
|
|
- Feedback on code quality
|
|
- Suggestions for improvements
|
|
- Questions about implementation
|
|
- Requests for tests or documentation
|
|
|
|
## Reporting Issues
|
|
|
|
- Use GitHub Issues
|
|
- Provide clear description
|
|
- Include reproduction steps
|
|
- Add relevant logs or screenshots
|
|
- Specify environment details
|
|
|
|
## License
|
|
|
|
By contributing, you agree that your contributions will be licensed under the MIT License.
|