> ## Documentation Index
> Fetch the complete documentation index at: https://docs.weaveos.com/llms.txt
> Use this file to discover all available pages before exploring further.

# PR categorization

> How Weave automatically categorizes PRs by type and component

Weave automatically categorizes every PR along two dimensions: **type** (what kind of work it is) and **component** (what area of the codebase it touches).

## PR type

Weave uses an AI agent to categorize every PR into one of the following types:

### Feature

A feature PR introduces new functionality or innovation.

<Accordion icon="sparkles" title="Examples">
  * Adding a new user dashboard
  * Implementing a new search algorithm
  * Creating a new API endpoint
  * Adding a new report type
</Accordion>

### Bug

A "bug" PR fixes something that is broken or not working as intended.

<Accordion icon="bug" title="Examples">
  * Fixing a login issue reported by users
  * Addressing a security vulnerability
  * Correcting a calculation error
  * Fixing a UI element that's not displaying correctly
</Accordion>

### KTLO (keeping the lights on)

KTLO PRs represent maintenance work that keeps the system running but doesn't introduce new
functionality. Anything that's not a feature or a bug is categorized as KTLO.

<Accordion icon="wrench" title="Examples">
  * Refactoring a module for better maintainability
  * Improving database query performance
  * Updating documentation
  * Adding new tests
  * Moving code between repositories
  * Deploying to new environments
  * Making debugging tools more accessible
</Accordion>

## Component categories

Weave also labels each PR by the area of the codebase it touches, based on the files changed and the PR description. Every organization starts with three built-in components: **frontend**, **backend**, and **infrastructure**.

You can add custom components — such as `mobile` or `database` — under **Code components** in [Settings](https://app.workweave.ai/organization/settings/component-categories). Custom components take priority over the defaults, and you can add a description to help Weave assign them more accurately. Weave will also suggest components based on your 20 most recent PRs.

Custom components apply to PRs merged on or after the component is added, even if the PR was opened earlier. PRs merged before the component was added are not relabeled when a custom component is created.

## Improving type categorization

The PR type categorization is smart but it's not perfect. To improve its accuracy, you can manually
override the categorization. To do so, click on the PR type and select the correct category:

<img style={{ maxHeight: "400px", margin: "0 auto" }} noZoom src="https://mintcdn.com/weave-50313446/G7fjE2xcRBR6g-xj/images/pr-type-categorization-edit.png?fit=max&auto=format&n=G7fjE2xcRBR6g-xj&q=85&s=5610e44954184a0d98bad4ab45524afa" alt="Edit PR type categorization" width="488" height="499" data-path="images/pr-type-categorization-edit.png" />

Over time, Weave will learn from your overrides and improve its categorization accuracy.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.