Files
TrochtaOndrej df0baeff36 feat: initial commit — global Claude Code config
Tracked: CLAUDE.md, agents, skills, settings, memory.
Ephemeral data (sessions, history, telemetry, tasks) excluded via .gitignore.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-18 14:32:21 +01:00

171 lines
7.1 KiB
Markdown

# Global Instructions
## AITM Task Manager (localhost:3333)
AITM (AI Task Manager) je centralni spravce tasku pro vsechny projekty. Bezi na `http://localhost:3333`.
Kdyz uzivatel chce vytvorit task, zadat praci, naplánovat zmenu, nebo rekne "vytvor task" / "pridej task" / "zarad do fronty" — pouzij AITM REST API.
### Vytvoreni tasku
```bash
curl -s -X POST http://localhost:3333/api/tasks \
-H 'Content-Type: application/json' \
--data-binary @- <<'ENDJSON'
{
"title": "<kratky nazev anglicky, max 60 znaku>",
"prompt": "<detailni zadani — viz Jak psat prompt>",
"tabId": "<tabId>",
"projectId": "<projectId>",
"priority": "medium",
"useWorktree": true,
"usePipeline": true,
"autoMergeDev": true
}
ENDJSON
```
### Povinne parametry
| Parametr | Typ | Popis |
|----------|-----|-------|
| `title` | string | Kratky nazev (anglicky, 1 radek, max 60 znaku) |
| `prompt` | string | Detailni zadani pro AI agenta (anglicky) |
| `tabId` | string | Tab v AITM — urcuje projekt |
| `projectId` | string | Konkretni projekt v tabu |
| `priority` | string | `low` / `medium` / `high` |
| `useWorktree` | bool | `true` = vlastni branch + worktree (VZDY true) |
| `usePipeline` | bool | **`true`** = spusti 8-krokovou pipeline (branch→architect→code→review→fix→test→e2e→docs). **VZDY true** pokud uzivatel nerekne jinak |
| `autoMergeDev` | bool | `true` = po uspesne pipeline auto-merge do dev branch |
### Jak psat prompt (DULEZITE)
Prompt je to nejdulezitejsi — AI agent ho dostane jako jediny kontext. Musi byt:
1. **Anglicky** — vsechny prompty pis anglicky
2. **Zacni s "READ CLAUDE.md first"** — kazdy prompt musi zacinat timto, aby agent nacetl projektove konvence
3. **Konkretni soubory** — uved presne cesty k souborum ktere se maji vytvorit/zmenit
4. **Ocekavane chovani** — co ma kod delat, ne jak to implementovat (nech agenta rozhodnout)
5. **Verify prikazy** — na konci uved build/test prikazy pro overeni
6. **Self-contained** — prompt musi obsahovat VSECHNY potrebne detaily (barvy, texty, rozmery, API tvary). Agent NEMA pristup k externim dokumentum mimo projekt
#### Sablona promptu:
```
READ CLAUDE.md first for project conventions and build commands.
## What to do
<1-3 vety co je cilem>
## Files to create/modify
### lib/path/to/file.dart
<presny popis co soubor obsahuje — tridy, metody, typy>
### lib/path/to/another.dart
<...>
## Details
<specificke hodnoty: barvy, texty, rozmery, API endpointy, enumy>
## Delete .gitkeep from: <cesty>
## Verify
<build/test prikazy>
```
#### Chyby ktere NEDELAT v promptu:
- Neodkazovat na soubory v JINEM repu/projektu (agent je nevidi)
- Nepsat cesky (agent pouziva anglicke instrukce)
- Nedavat vague zadani ("udelej to hezke") — bud konkretni
- Nezapominat na verify krok (flutter analyze, dotnet build, npm run check...)
- Nepouzivat JSON s newlines v `-d` parametru curlu — VZDY pouzij heredoc `--data-binary @- <<'ENDJSON'`
### Zjisteni stavu
```bash
# Vsechny tasky
curl -s http://localhost:3333/api/tasks | jq .
# Stav tabu
curl -s http://localhost:3333/api/status | jq .
```
### Taby a projekty
| tabId | projectId | Projekt | Stack | Default branch |
|-------|-----------|---------|-------|----------------|
| `cryptorobot` | `cr-fe` | RobotFE | Blazor | dev |
| `cryptorobot` | `cr-be` | RobotCBBE | .NET API | dev |
| `cryptorobot` | `cr-market` | MarketData | .NET Service | dev |
| `csai` | `csai-fe` | CSAI.Web | Blazor | dev |
| `csai` | `csai-be` | CSAI.Api | .NET API | dev |
| `centralstore` | `cs-web` | CS Web | Blazor | dev |
| `centralstore` | `cs-gateway` | CS Gateway | .NET API | dev |
| `centralstore` | `cs-platform` | CS Platform | Aspire | dev |
| `ctm` | `ctm-dashboard` | AITM Dashboard | Node/TS | dev |
| `tmm` | `tmm-app` | NudgeMobile | Flutter | dev |
| `ctm-web` | `ctm-web-app` | CTM-WEB | Vue.js | dev |
| `kittie` | `km-app` | NuggeMobile | Flutter | dev |
### Urceni projektu (DULEZITE)
"vytvor task" (bez diakritiky i s ni) = vytvor task do **stavajiciho projektu** ve kterem uzivatel prave pracuje.
Jak urcit `tabId` a `projectId`:
1. **Podivej se na CWD** (aktualni pracovni adresar) a porovnej s tabulkou nize
2. Pokud CWD odpovida nejakemu `root` nebo `root/path` z tabulky → pouzij ten tab+projekt
3. Pokud CWD neodpovida zadnemu projektu nebo je nejednoznacny → **ZEPTEJ SE** uzivatele do ktereho projektu task patri
| CWD obsahuje | tabId | projectId |
|-------------|-------|-----------|
| `/OTCryptoRobot/RobotFE` nebo `/OTCryptoRobot` (bez podslozky) | `cryptorobot` | `cr-fe` |
| `/OTCryptoRobot/RobotCBBE` | `cryptorobot` | `cr-be` |
| `/OTCryptoRobot/MarketDataService` | `cryptorobot` | `cr-market` |
| `/CSAI/CSAI.Web` | `csai` | `csai-fe` |
| `/CSAI/CSAI.Api` nebo `/CSAI` (bez podslozky) | `csai` | `csai-be` |
| `/CentralStore` | `centralstore` | `cs-web` |
| `/AITM` nebo `/ClaudeTaskManager` | `ctm` | `ctm-dashboard` |
| `/TaskManagerMobile` | `tmm` | `tmm-app` |
| `/CTM-WEB` | `ctm-web` | `ctm-web-app` |
| `/NuggeMobile` | `kittie` | `km-app` |
Pokud tab ma vice projektu a z CWD neni jasne ktery (napr. root `/OTCryptoRobot` bez konkretni podslozky), zeptej se: "Do ktereho projektu? RobotFE, RobotCBBE, nebo MarketData?"
### Pravidla
- `useWorktree: true` — VZDY
- `usePipeline: true` — VZDY (pokud uzivatel explicitne nerekne "bez pipeline")
- `autoMergeDev: true` — VZDY (pokud uzivatel nerekne "bez merge")
- Pokud uzivatel nespecifikuje prioritu, pouzij `medium`
- Nikdy nerikej "Claude" — vzdy "AI"
- Pro JSON body VZDY pouzij heredoc format (`--data-binary @- <<'ENDJSON'`) — nikoliv `-d` s inline JSON (problemy s escapovanim)
### Priklad: jednoduchy task
Uzivatel v projektu CryptoRobot/RobotFE rekne: "Pridej cancellation token do vsech API callu"
```bash
curl -s -X POST http://localhost:3333/api/tasks \
-H 'Content-Type: application/json' \
--data-binary @- <<'ENDJSON'
{"title":"Add cancellation token to all API calls","prompt":"READ CLAUDE.md first.\n\nAdd CancellationToken parameter to all API call methods in RobotFE.\n\n## What to do\nFind all HttpClient calls and ensure they pass CancellationToken. Update service interfaces and implementations.\n\n## Files to modify\n- All files in Services/ that use HttpClient\n- Corresponding interfaces in Interfaces/\n\n## Verify\ndotnet build && dotnet test","tabId":"cryptorobot","projectId":"cr-fe","priority":"medium","useWorktree":true,"usePipeline":true,"autoMergeDev":true}
ENDJSON
```
### Priklad: vice tasku najednou
Pokud uzivatel chce rozdelit praci na vice tasku, vytvor je postupne curlem. AITM je zaradi do fronty a spusti sekvencne (1 task na tab v dany cas). Kazdy task musi byt self-contained — nesmi zaviset na tom ze predchozi task jeste nebyl mergnut.
### Pipeline kroky (8-step)
Kdyz `usePipeline: true`, task projde automaticky:
1. **branch** — vytvoreni worktree + branch z dev
2. **architect** — navrh implementace (plan)
3. **code** — implementace dle planu
4. **review** — code review
5. **fix** — oprava nalezených problemu
6. **test** — unit testy (paralelne s e2e)
7. **e2e** — end-to-end testy (paralelne s test)
8. **docs** — dokumentace
Po uspesnem dokonceni: auto-merge do dev + auto-archive.