{{ theme.skipToContentLabel || 'Skip to content' }}

Úložisko znalostí ​

Úložisko sú zdieľané, posúdené znalosti tímu: krátke Markdown súbory v repozitári, jeden na každé rozhodnutie, konvenciu, poznatok, incident alebo poznámku o architektúre.

Rozloženie ​

text
.ai/
├── README.md                 generated index (union-merged, refreshed by the pre-commit hook)
├── kontext.toml              shared configuration (committed)
├── .gitattributes            README.md merge=union
├── decisions/                2026-09-28-prices-are-integer-cents.md   (or your existing docs/adr)
├── conventions/
├── learnings/                pitfalls are learnings tagged `pitfall`
├── incidents/
└── architecture/
    ├── overview.md           purpose + generated stack, layout and history facts
    └── modules/*.md          one per module: an overview written by an agent + generated facts

Názov adresára aj umiestnenie každého druhu sa dajú nastaviť (konfigurácia). Existujúci adresár ADR sa použije ako domov rozhodnutí.

Druhy ​

DruhAdresárTrailerNa čo
decisiondecisions/Decision:zvolený smer, zamietnutá alternatíva, zavedené pravidlo
conventionconventions/Convention:ako tím niečo robí (pomenovanie, vrstvenie, testovanie)
learninglearnings/Learning:neočividné poznatky a úskalia („gotchas“)
incidentincidents/Incident:čo sa pokazilo, prečo a čo sa zmenilo
architecturearchitecture/—prehľad a dokumenty modulov (väčšinou generované)

Pri zachytávaní sa akceptujú aliasy: adr → decision, pitfall/gotcha → learning (so štítkom pitfall), note/lesson → learning, rule/guideline → convention, postmortem/outage → incident.

Formát záznamu ​

Predvolený štýl je plochý front matter a krátke telo:

markdown
---
id: 2026-09-28-prices-are-integer-cents
kind: decision
title: Prices are integer cents
status: accepted            # proposed | accepted | superseded | deprecated | rejected
date: 2026-09-28
summary: Every amount is an integer number of cents.   # optional; derived from the body otherwise
tags: [billing]
paths: [src/billing/**]      # what this governs — used by ctx_brief, ctx_why, prepare-commit
supersedes: []
commits: [a1b2c3d]           # optional: commits the decision came from
author: Jane Doe
---

## Context
Floats broke VAT rounding on invoices with many lines.

## Decision
Every amount is stored and computed as an integer number of cents.

## Consequences
Conversions happen at the edges (API, UI). Existing float columns are migrated.

Neznáme kľúče vo front matter sa pri prepise súboru zachovajú.

Klasické ADR (štýl polí) ​

Repozitáre, ktoré už ADR vedú, ich zvyčajne píšu takto – kontext ich číta aj zapisuje presne v tomto tvare:

markdown
# 0007 — Orders live in PostgreSQL

**Status:** accepted
**Date:** 2026-08-04

## Context
…

Rozpoznané polia: Status, Date, Tags, Paths, Supersedes, Superseded by, Summary, Commits, Author/Authors/Deciders/Owner. Status: Superseded by 0009 nastaví stav aj odkaz naraz.

ID a názvy súborov ​

ČíslovanieNázov súboruTypicky pre
date (predvolené pre rozhodnutia)2026-09-28-prices-are-integer-cents.mdnové úložiská – žiadne kolízie medzi vetvami
sequential0008-orders-live-in-postgresql.mdexistujúce adresáre ADR
noneprices-are-integer-cents.mdkonvencie, poznatky

ID je názov súboru bez prípony (alebo id vo front matter). Všade, kde sa čaká ID, môžeš použiť jednoznačný prefix alebo pri sekvenčných ADR číslo (0007).

Stavy a nahrádzanie ​

Rozhodnutia sú aktívne, pokiaľ nie sú superseded, deprecated alebo rejected. Keď zachytíš rozhodnutie so supersedes: [0003], starý záznam sa označí ako superseded a dostane spätný odkaz (superseded_by); pri ADR v štýle polí sa riadok **Status:** upraví na mieste. kontext log --all ukáže reťazce.

Záznamy nech sú stručné ​

Záznamy majú čítať agenti v rámci tokenového rozpočtu. kontext check upozorní, keď telo prekročí store.max_body_lines (predvolene 80 neprázdnych riadkov) – detaily presuň do bežnej dokumentácie a daj na ňu odkaz.

Indexový súbor ​

.ai/README.md vypíše všetky záznamy podľa druhu s dátumom, stavom a jednoriadkovým zhrnutím. Text, ktorý napíšeš nad alebo pod značky, zostane; časť medzi <!-- kontext:index:start … --> a <!-- kontext:index:end --> sa generuje. Keďže sa súbor znova generuje pri každom commite, ktorý sa dotkne znalostí, a je označený merge=union, paralelné vetvy na ňom nekolidujú.

Validácia ​

kontext check (všetky záznamy) a kontext check --staged (presne to, čo by sa commitlo; to spúšťa pre-commit hook) hlásia:

ÚroveňKontrola
chybachýbajúci titulok, neznámy druh, duplicitné ID, tajný údaj s vysokou istotou
varovanierozhodnutie bez stavu alebo dátumu, nezvyčajný stav, zlý formát dátumu, dlhý záznam, supersedes odkazujúce nikam, vzor v paths, ktorému nezodpovedá žiadny sledovaný súbor, tajný údaj so strednou istotou

Vydané pod licenciou MIT alebo Apache-2.0.