# Development Conventions

This document outlines the development conventions for the KROW project, including our GitHub label system.

## GitHub Labels

We use a structured system of labels to categorize and prioritize our work. The single source of truth for all available labels, their descriptions, and their colors is the `labels.yml` file at the root of this repository.

To apply these labels to the GitHub repository, run the following command:
```bash
make setup-labels
```

## GitHub Issue Template

To ensure consistency and capture all necessary information for both development and SR&ED tracking, we use a standardized issue template.

When creating a new issue on GitHub, select the **"SR&ED Task"** template. This will pre-populate the issue description with the following sections:

-   **🎯 Objective:** A one-sentence summary of the goal.
-   **🔬 SR&ED Justification:** A section to detail the technological uncertainty and the systematic investigation.
-   **💻 Technical Implementation Notes:** A place for technical guidance for the developer.
-   **✅ Acceptance Criteria:** A checklist to define what "done" means for this task.

Using this template is mandatory for all new development tasks.
