Ctrl K
ComunidadGuías…

CONTRIBUTING.md

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

Archivo original ↗Preguntar a KiBot
# Contributing to Eco-Guard

First off, thank you for considering contributing.

## Development Setup

```bash
git clone https://github.com/swadhinbiswas/Ecoguard.git
cd Ecoguard
uv sync --group dev
```

## Development Workflow

1. Fork the repository and create a branch from `main`
2. Install dependencies with `uv sync --group dev`
3. Make your changes with appropriate tests
4. Run `make check` to verify lint, format, type checking, and tests all pass
5. Submit a pull request

## Before Submitting

- All new features must include tests
- Code must pass `ruff format --check` and `ruff check`
- Type annotations are required for all public functions
- Database schema changes must include an Alembic migration
- Frontend changes must be tested in the Vue SPA build

## Pull Request Process

1. Update the README if your change adds a feature or changes behavior
2. Add yourself to the contributors list if desired
3. The PR will be merged once it receives approval and CI passes
4. Maintainers may request changes before merging

## Code Style

We use [Ruff](https://docs.astral.sh/ruff/) for linting and formatting. Configuration is in `pyproject.toml`.

```bash
make format   # Auto-format all code
make lint     # Check for issues
make check    # Full CI check (lint + typecheck + tests)
```

## Project Structure

See the [README.md](README.md#project-structure) for a complete directory layout.

## Questions?

Open a GitHub Discussion or email the maintainers.