df0baeff36
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>
171 lines
7.1 KiB
Markdown
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.
|