CONTRIBUTING.md
Rama main · réplica de lectura del repositorio original.
# Contributing to KiloCenter
Thank you for your interest in contributing to KiloCenter. This guide covers how to report issues, propose changes, and submit code.
## Code of Conduct
This project follows the [Contributor Covenant Code of Conduct](CODE_OF_CONDUCT.md). By participating, you agree to uphold its terms.
## Reporting Bugs
Open a bug report using the [Bug Report template](https://github.com/Kiloiot/kilo-service-center/issues/new?template=bug_report.yml) on GitHub Issues. Include reproduction steps, expected vs actual behavior, and relevant logs.
## Suggesting Features
Open a feature request using the [Feature Request template](https://github.com/Kiloiot/kilo-service-center/issues/new?template=feature_request.yml) on GitHub Issues. Describe the use case, not just the solution.
## Security Vulnerabilities
Do not open public issues for security vulnerabilities. See [SECURITY.md](SECURITY.md) for responsible disclosure instructions.
## Development Setup
Refer to the [Getting Started](README.md#getting-started) section in the README and the full documentation at [docs.kiloiot.io](https://docs.kiloiot.io) for environment setup, dependencies, and running the stack locally.
## Submitting Pull Requests
1. Fork the repository and clone your fork.
2. Create a feature branch from `main`:
```bash
git checkout -b feat/your-feature main
```
3. Make your changes, ensuring tests pass and code style checks are clean.
4. Push your branch and open a pull request against `main`.
5. Fill out the pull request template with a clear description of the change.
Keep pull requests focused on a single concern. If your change touches multiple areas, consider splitting it into separate PRs.
## Code Style
### Go
- Format with `gofmt` (enforced by CI).
- Lint with `golangci-lint`. Run `make lint` from the repo root.
### TypeScript (KC-Web)
- Lint with ESLint: `bun run lint` in `KC-Web/`.
- Format with Prettier: `bun run format:check` in `KC-Web/`.
## Commit Messages
Follow the conventional commit format:
```
type(scope): description
```
Types: `feat`, `fix`, `docs`, `chore`, `refactor`, `test`
Examples:
- `feat(bssci): add session resume timeout handling`
- `fix(web): correct base station status display`
- `docs(readme): update deployment instructions`
Keep the subject line under 72 characters. Use the body for additional context when needed.
## Testing
Run tests before submitting a pull request:
```bash
# Go (from repo root)
go test ./...
# Frontend (from KC-Web/)
bun run test
```
CI runs the full test suite on every pull request. PRs with failing tests will not be merged.
## License
KiloCenter is licensed under [AGPL-3.0](LICENSE). By submitting a contribution, you agree that your work will be licensed under the same terms. If your employer holds copyright over your work, ensure you have permission to contribute under this license.