</>Kurs OpenCode
Kurs/rozdział 0515 min

Komendy slash (/review, /commit…)

Nazwane szablony promptów wywoływane z TUI — argumenty, bloki shell i tryb tła.

Komenda to szablon promptu

Plik .opencode/commands/review.md tworzy komendę /review. Ciało pliku (po odcięciu frontmatteru) jest szablonem promptu: OpenCode wstawia argumenty, ewentualnie wykona bloki shell i wyśle gotowy tekst jako Twoje zgłoszenie.

Globalne komendy: ~/.config/opencode/commands/. Zagnieżdżone tworzą nazwy z ukośnikiem: .opencode/commands/team/review.md → /team/review. Zmiany w plikach komend przeładowują się na żywo — zapis pliku aktualizuje /review bez restartu.

.opencode/commands/review.md
Przejrzyj $ARGUMENTS pod kątem błędów i brakujących testów.
Wywołanie w TUI
/review src/auth.ts
# wysłane: "Przejrzyj src/auth.ts pod kątem błędów i brakujących testów."

Frontmatter: agent, model, tryb

PoleZachowanie
descriptionOpis na listach komend
agentAgent wybrany po odpaleniu komendy (np. plan)
modelNadpisanie modelu: dostawca/model lub dostawca/model#wariant
subagenttrue = zawsze sesja dziecka w tle; false = zawsze bieżąca sesja
subtaskPrzestarzały alias subagent; przy obu polach wygrywa subagent
Komenda z przypisanym agentem i modelem
---
description: Zaprojektuj architekturę funkcji
agent: plan
model: openai/gpt-5#high
---

Zaprojektuj $ARGUMENTS. Cel: szkic, warianty i trade-offy — bez implementacji.

Argumenty: $ARGUMENTS i pozycyjne $1, $2…

  • /component Account Settings → $ARGUMENTS = „Account Settings”.
  • /check src/auth.ts "obsługa błędów" → $1 = src/auth.ts, $2 = obsługa błędów (cytaty grupują i znikają).
  • Ostatni numerowany placeholder zjada swój argument i wszystkie pozostałe; brakujące pozycje = pusty string.
  • Brak placeholdera w szablonie? Non-empty argumenty dopiszą się po pustej linii na końcu.
Cały vs pojedyncze argumenty
# component.md
Utwórz typowany komponent React o nazwie $ARGUMENTS.

# check.md
Sprawdź $1. Skup się na $2.

# history.md
Podsumuj te commity:
!`git log --oneline -$1`

Bloki shell !`...` — wstrzykuj kontekst z repo

Review świeżego diffu jednym wywołaniem
Przejrzyj ten diff:

!`git diff --stat && git diff`
⚠
Uwaga

Blok shell wykonuje się PRZED wysłaniem promptu, poza flow uprawnień narzędzi agenta. Umieszczaj w nim tylko zaufane komendy i nigdy nie wstawiaj do bloku niezaufanych argumentów użytkownika.

Wykonanie w tle przez subagenta

subagent: true wysyła zadanie do sesji dziecka w tle, rodzic zostaje wolny, a wynik dziecka wróci do niego po zakończeniu. Kolejność modeli: model komendy → model agenta → model rodzica.

.opencode/commands/audit.md — długi audyt nie blokuje sesji
---
description: Audytuj zmiany
agent: general
subagent: true
---

Przeaudytuj $ARGUMENTS pod kątem błędów i brakujących testów.

Wariant JSON i pakiet startowy

  • /commit → „Napisz conventional commit dla staged zmian: !`git diff --cached`”.
  • /pr → podsumuj branch względem main i przygotuj description PR-a.
  • /explain → wytłumacz fragment kodu $ARGUMENTS laikowi-frontendowcowi.
  • /deps → sprawdź !`bun outdated`, oceń ryzyko aktualizacji, zaproponuj plan.
Komendy w opencode.jsonc
{
  "commands": {
    "audit": {
      "description": "Audyt pakietu",
      "template": "Przeaudytuj $ARGUMENTS.",
      "agent": "general",
      "subagent": true
    }
  }
}
ℹ
Info

Szablony z plików NIE rozwijają @ścieżek — plik dołącz przez composer przy wywoływaniu komendy (załączniki composerów są zachowywane).

5. Komendy slash (/review, /commit…) — Kurs OpenCode