Ctrl K
ComunidadGuías…

CONTRIBUTING.md

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

Archivo original ↗Preguntar a KiBot
# Contributing to IceGuard

Thanks for your interest in improving IceGuard! 🎉 Whether it's a bug report, a feature idea,
docs, or code — contributions are very welcome.

By participating, you agree to abide by our [Code of Conduct](CODE_OF_CONDUCT.md).

## Ways to contribute

- **Report bugs** — open an issue with steps to reproduce, expected vs actual behaviour, logs.
- **Suggest features** — open a feature request describing the use case.
- **Pick a `good first issue`** — great entry points for new contributors.
- **Improve docs** — README, code comments.
- **Send a PR** — fixes, features, tests.

## Dev setup

Requirements: Docker + Docker Compose, JDK 21 & Maven, Node 18+.

```bash
docker compose up -d                                   # infra (MinIO, Postgres, catalogs)
cd backend  && mvn quarkus:dev -Dquarkus.profile=docker # API on :8080 (Swagger /q/swagger-ui)
cd frontend && npm install && npm run dev               # UI on :5173
./scripts/seed-catalog.sh                               # demo catalogs/tables
```

See the README for architecture details and known limitations.

## Before opening a PR

Please make sure your change builds and type-checks:

```bash
# Backend
cd backend && mvn -q -DskipTests package

# Frontend
cd frontend && npx tsc --noEmit && npm run lint
```

- Add tests when you fix a bug or add behaviour (backend: JUnit/RestAssured; frontend: type-safe components).
- Keep changes focused; one logical change per PR.
- Match the surrounding code style (no project-wide reformatting in a feature PR).
- Update docs (`README.md`) when you change behaviour or config.
- **Never commit secrets.** Use `.env` (git-ignored); credentials must not appear in code, compose files or history.

## Commit & PR conventions

- Write clear commit messages (a [Conventional Commits](https://www.conventionalcommits.org/) style
  such as `feat:`, `fix:`, `docs:`, `refactor:` is appreciated but not required).
- Fill in the PR template; link the issue it closes (`Closes #123`).
- CI (build + type-check) must pass. Maintainers review on a best-effort basis.

## Project structure

```
backend/   Quarkus API — api/ (REST), service/, executor/, model/, repository/, dto/
frontend/  React SPA — src/pages/, src/components/, src/api/client.ts, src/types/
scripts/   seed + helpers
```

## Reporting security issues

Please **do not** open a public issue for security vulnerabilities. Instead, contact the maintainers
privately (see the repository's security policy / contact). Treat catalog credentials and the Postgres
database as sensitive.

## License

By contributing, you agree that your contributions will be licensed under the
[Apache License 2.0](LICENSE).