Ctrl K
ComunidadGuías…

CONTRIBUTING.md

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

Archivo original ↗Preguntar a KiBot
# Contributing to Koji

Thanks for your interest in contributing to Koji. This guide will help you get started.

## Development Setup

```bash
# Clone the repo
git clone https://github.com/getkoji/koji.git
cd koji

# Install dependencies
pip install -e ".[dev]"

# Start a local cluster
koji start

# Run tests
koji test
```

## How to Contribute

### Reporting Bugs

Open a [GitHub Issue](https://github.com/getkoji/koji/issues/new) with:
- What you expected to happen
- What actually happened
- Steps to reproduce
- Your `koji.yaml` config (redact secrets)
- Output of `koji version`

### Suggesting Features

Open a [GitHub Discussion](https://github.com/getkoji/koji/discussions) first. We'd rather discuss before you build — it saves everyone time.

### Submitting Code

1. Fork the repo
2. Create a branch from `dev` (`git checkout -b feature/my-feature dev`)
3. Make your changes
4. Write tests
5. Ensure all tests pass (`koji test`)
6. Commit using [Conventional Commits](https://www.conventionalcommits.org/):
   - `feat: add OCR fallback to parse service`
   - `fix: handle empty PDF pages in split`
   - `docs: update quickstart guide`
7. Open a PR targeting `dev`

### PR Requirements

- [ ] Tests pass
- [ ] New functionality has tests
- [ ] Commit messages follow Conventional Commits
- [ ] Breaking changes are documented
- [ ] PR description explains what and why

## Architecture

```
koji/
├── cli/          # CLI (koji command)
├── server/       # API server + workflow engine
├── services/     # Pipeline services (parse, extract, etc.)
├── docker/       # Dockerfiles and compose configs
├── schemas/      # Example extraction schemas
├── tests/        # Test suite
└── docs/         # Public documentation
```

Each service runs in its own container. The CLI talks to the server, the server orchestrates the pipeline.

## Contributor License Agreement

By submitting a PR, you agree that your contributions are licensed under the Apache 2.0 license. We use a CLA bot — you'll be asked to sign on your first PR.

## Code of Conduct

Be helpful. Assume good intent. See [CODE_OF_CONDUCT.md](CODE_OF_CONDUCT.md).