Ctrl K
ComunidadGuías…

CONTRIBUTING.md

Rama main · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
# 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.