---
title: Choose your stack
question: How does Diavi know which technology it is working on?
description: Skills, label-based detection, and what happens when one account holds several kinds of repository.
section: start
order: 3
---
Diavi picks its technology **run by run**, from the issue's labels. A `skill:react` label on an issue sends that run down the React conventions; with no recognised label, it uses the technology you named when signing up.

## Why per issue rather than once and for all?

Because one account often holds repositories of different natures — a React application, a Python back end, a business module. Fixing the technology at account level would mean reviewing React with PHP conventions, which is worse than having no conventions at all.

## How do I label an issue?

Put a `skill:<name>` label on the issue, in your forge. Some technologies also recognise common keywords through their own aliases, which saves labelling every ticket.

## What if I use the wrong label?

The run produces code written to another technology's conventions. Nothing breaks — the merge request is still only a proposal — but the review will point it out. Fix the label and launch again.

## Where do I see the available technologies?

The list is published on the product's overview page, and it is generated from the real configuration: it cannot advertise a technology that does not exist.

## What about my in-house library and conventions?

Those are not the technology, they are your context, and you can write them yourself. See [Your contexts](/help/en/mes-contextes/).
