Internal Documentation internal
TalkIDE internal documentation

Proč tento dokument existuje

TalkIDE platforma a generované projekty vyžadují sadu systémových nástrojů, které musí být nainstalované na hostiteli (vývojářský Mac, CI/CD runner, production container). Bez těchto nástrojů plugin skripty nebo Spring Boot aplikace selžou za běhu — typicky s nejasnou chybou daleko od skutečné příčiny.

Tento dokument je single source of truth pro seznam systémových závislostí.

Zodpovědnost za udržování: PM eviduje dokument strukturálně. Každý vývojář, který přidá novou systémovou závislost (příkaz volaný shellem, nový extern binary), musí:

  1. přidat řádek do tabulky níže,
  2. upravit sekci “Local development setup”,
  3. poznamenat dopad na production image.

Tabulka závislostí

ToolMin. verzePoužito vDůvodbrew installapt installDocker base hint
yq4.xplugin/scripts/_lib.sh, start-backend.sh, start-frontend.shParsování .talkide/project.yml (YAML). Bez něj plugin skripty okamžitě selžou s error: yq is required.brew install yqapt install yqRUN apt-get install -y yq nebo RUN wget -qO /usr/local/bin/yq ... (viz poznámka 1)
lsofsystémováplugin/scripts/kill-port.shZjišťuje PID procesu poslouchajícího na daném TCP portu. Fallback na fuser, ale pokud ani jeden není dostupný, skript selže.built-in macOSapt install lsofRUN apt-get install -y lsof (Alpine: apk add lsof)
curlsystémováplugin/scripts/start-backend.sh, start-frontend.shHealth check — čeká, dokud se proces nespustí (curl -s -o /dev/null -w "%{http_code}").built-in macOSapt install curlobvykle přítomen v base image
Java 21 (JDK/JRE)21talkide-be (Spring Boot), generované BE projekty (gradlew bootRun)Runtime pro Spring Boot a Gradle wrapper. build.gradle.kts nastavuje sourceCompatibility = JavaVersion.VERSION_21.brew install openjdk@21apt install openjdk-21-jdkFROM eclipse-temurin:21-jre
Gradle wrapper8.xgenerované BE projektygradlew je bundlován v každém projektu. Systémová Gradle instalace není nutná pro běh, ale může být potřeba pro initial scaffold.brew install gradleapt install gradlewrapper stačí (binárku stáhne sám)
Node.js + npmNode 22+talkide-fe, generované FE projekty (npm run dev, npm run build)Dev server (Vite) a build toolchain. @tsconfig/node22 a @types/node@^22 implikují Node 22.brew install nodeapt install nodejs npmFROM node:22-alpine
Docker24+PostgreSQL 17 container (docker-compose up)DB engine běží jako Docker container, ne nativně.brew install --cask dockerviz docker.com/install— (production má vlastní DB)
PostgreSQL 17 + pgvector17talkide-be DBDatabáze platformy. Image pgvector/pgvector:pg17.— (přes Docker)— (přes Docker)FROM pgvector/pgvector:pg17
claude (Claude Code CLI)latesttalkide-be ClaudeCliService.ktSpouští AI agenty (ProcessBuilder("claude", "-p", ...)) pro generování kódu v generovaných projektech.npm install -g @anthropic-ai/claude-codenpm install -g @anthropic-ai/claude-codemusí být v PATH production image

Poznámka 1 — yq v Docker/Alpine: Balíček yq v apt repozitářích bývá starší verze (Go implementace od mikefarah vs. Python yq). Doporučený způsob pro kontejnery:

RUN wget -qO /usr/local/bin/yq \
    https://github.com/mikefarah/yq/releases/latest/download/yq_linux_amd64 \
    && chmod +x /usr/local/bin/yq

Local development setup (macOS)

Copy-paste blok pro čistý Mac (předpokládá nainstalovaný Homebrew a npm):

brew install yq
brew install openjdk@21
brew install node
brew install --cask docker
docker pull pgvector/pgvector:pg17
npm install -g @anthropic-ai/claude-code

Ověření po instalaci:

yq --version
java -version
node --version
npm --version
docker --version
claude --version
which lsof    # built-in na macOS, mělo by najít /usr/bin/lsof
which curl    # built-in na macOS

Production / Docker requirements

TODO — finalizovat při přípravě production image. Tato sekce slouží jako přehled; konkrétní Dockerfile bude vytvořen při nasazení do produkce.

Pro každou závislost jsou níže uvedeny instalační instrukce pro Debian/Ubuntu base image. Alpine varianty jsou v tabulce výše.

# Doporučený base image pro talkide-be production
FROM eclipse-temurin:21-jre

# Systémové závislosti
RUN apt-get update && apt-get install -y \
    curl \
    lsof \
    nodejs \
    npm \
    && rm -rf /var/lib/apt/lists/*

# yq (mikefarah verze — spolehlivější než apt balíček)
RUN wget -qO /usr/local/bin/yq \
    https://github.com/mikefarah/yq/releases/latest/download/yq_linux_amd64 \
    && chmod +x /usr/local/bin/yq

# Claude Code CLI
RUN npm install -g @anthropic-ai/claude-code

Závislosti, které production image nepotřebuje přímo:

  • Gradle — každý generovaný projekt má vlastní gradlew, stáhne distribuci automaticky
  • Docker — production má vlastní DB infrastrukturu mimo container talkide-be
  • PostgreSQL — samostatná DB instance (viz Docker Compose v local devu)

Záměrně chybějící závislosti — headless agent tým

Mara tým agentů (plugin/agents/*.md) záměrně nepožaduje tyto nástroje:

NástrojProč NENÍ závislost
JetBrains MCP (mcp__jetbrains__*)Vyžaduje běžící IntelliJ/Rider IDE — nedostupné v K8s podu. Nahrazeno Grep/Glob/Bash.
Playwright MCP (browser MCP)Vyžaduje Chrome + grafické prostředí — nedostupné v headless K8s podu. Pokud agent potřebuje browser pro E2E testy generované uživatelské appky, jde o separátní závislost (Stopa B).

Tato rozhodnutí jsou výsledkem Stopa 0.1 (issue talkide-be#8). Verifikace:

grep -r "jetbrains\|playwright\|ide_find\|find_references\|refactor_rename" plugin/agents/
# → prázdný výstup (žádný agent neobsahuje IDE/browser MCP tooly)

Jak přidat novou závislost

Checklist pro vývojáře:

  • Přidej řádek do tabulky závislostí výše (Tool, verze, použití, důvod, install příkazy)
  • Uprav sekci “Local development setup” — přidej brew install nebo npm install -g
  • Přidej instalaci do production Dockerfile sekce výše (až bude existovat reálný Dockerfile, přidej tam)
  • Zaznamenej do commitu zprávy, že jde o novou systémovou závislost (snazší bisect při problémech)
  • Ověř na čistém stroji nebo Docker containeru bez té závislosti — ujisti se, že chybová hláška je srozumitelná

Was this page helpful?

Thanks for the feedback.