Funkcje

Slash commands

Twórz niestandardowe slash commands, aby automatyzować powtarzające się zadania, uruchamiać wbudowane polecenia i rozszerzać funkcjonalność Boba za pomocą prostych plików markdown.

Przegląd

Aby zacząć, wpisz / w czacie, aby zobaczyć wszystkie dostępne polecenia, lub utwórz własne, dodając plik markdown do .bob/commands/ lub ~/.bob/commands/.

Kluczowe korzyści:

  • Automatyzacja workflow: Zamień złożone procesy wieloetapowe w pojedyncze polecenia
  • Standaryzacja zespołu: Udostępniaj polecenia swojemu zespołowi dla spójnych praktyk
  • Zachowanie kontekstu: Dołączaj kontekst specyficzny dla projektu do każdego polecenia
  • Szybki dostęp: Fuzzy search i autouzupełnianie do natychmiastowego odkrywania poleceń

Wbudowane polecenia

Bob zawiera kilka wbudowanych poleceń zapewniających podstawową funkcjonalność:

/init

Zainicjuj nowy projekt lub workspace z Bobem. To polecenie pomaga skonfigurować niezbędną konfigurację i strukturę do pracy z Bobem w twoim projekcie.

/review

Przejrzyj zmiany kodu z kompleksową analizą. To polecenie można używać na wiele sposobów:

  • /review – Przejrzyj lokalne niezatwierdzone zmiany w katalogu roboczym
  • /review <branch> – Porównaj branch z twoim bieżącym branchem (HEAD)
  • /review #<issue-number> --issue-coverage – Zweryfikuj lokalne zmiany względem issue GitHub
  • /review <issue-url> --issue-coverage – Zweryfikuj lokalne zmiany względem URL issue GitHub

Polecenie review wykonuje dokładną analizę kodu, w tym wykrywanie bugów, kontrole bezpieczeństwa, problemy z wydajnością i spójność stylu.

/create-pr

Utwórz pull request z opisem wygenerowanym przez AI. To polecenie analizuje twoje zmiany i generuje kompleksowy opis PR oparty na difie między branchami.

Tworzenie niestandardowych poleceń

Niestandardowe polecenia rozszerzają funkcjonalność Boba poprzez dodawanie plików markdown do określonych katalogów:

  • Specyficzne dla projektu: .bob/commands/ w katalogu głównym workspace
  • Globalne: ~/.bob/commands/ w katalogu domowym

Nazwa pliku staje się nazwą polecenia. Na przykład:

  • review.md/review
  • test-api.md/test-api
  • deploy-check.md/deploy-check

Przetwarzanie nazw poleceń

Podczas tworzenia poleceń przez interfejs, nazwy poleceń są automatycznie przetwarzane:

  • Konwertowane na małe litery
  • Spacje zastępowane myślnikami
  • Znaki specjalne usuwane
  • Myślniki na początku/końcu usuwane

Przykład: „Moje Fajne Polecenie!" staje się moje-fajne-polecenie

Podstawowy format polecenia

Utwórz proste polecenie, dodając plik markdown:

Help me review this code for security issues and suggest improvements.

Zaawansowane polecenie z frontmatter

Dodaj metadane za pomocą frontmatter dla rozszerzonej funkcjonalności:

---
description: Create a new API endpoint
argument-hint: <endpoint-name> <http-method>
---
Create a new API endpoint called $1 that handles $2 requests.
Include proper error handling and documentation.

Pola frontmatter

  • description: Pojawia się w menu poleceń, aby pomóc użytkownikom zrozumieć cel polecenia
  • argument-hint: Zapewnia wskazówkę dotyczącą oczekiwanych argumentów podczas używania polecenia

Interfejs zarządzania poleceniami

Bob zapewnia dedykowany interfejs do zarządzania niestandardowymi poleceniami.

Kliknij ikonę poleceń w panelu Boba, aby otworzyć menedżera poleceń.

Tworzenie nowego polecenia

  1. Wpisz nazwę polecenia w polu wprowadzania (np. „Przykładowa nazwa polecenia")
  2. Kliknij przycisk +, aby utworzyć polecenie
  3. Nowy plik zostanie automatycznie utworzony i otwarty (np. przykładowa-nazwa-polecenia.md)

Używanie slash commands

Wpisz / w czacie, aby zobaczyć zunifikowane menu zawierające oba typy poleceń. Menu pokazuje zarówno niestandardowe polecenia workflow, jak i polecenia przełączania trybów w tym samym interfejsie.

  1. Zunifikowane menu: Zarówno niestandardowe polecenia, jak i polecenia przełączania trybów pojawiają się razem
  2. Autouzupełnianie: Zacznij pisać, aby filtrować polecenia (np. /prz pokazuje przykładowe-polecenie)
  3. Fuzzy search: Znajdź polecenia nawet z częściowymi dopasowaniami
  4. Podgląd opisu: Zobacz opisy poleceń w menu
  5. Wskaźniki wizualne: Polecenia trybów są odróżniane od niestandardowych poleceń specjalnymi ikonami

Hinty argumentów

Hinty argumentów zapewniają natychmiastową pomoc dla slash commands, pokazując ci, jakie informacje podać, gdy polecenie oczekuje dodatkowych danych wejściowych.

Gdy wpisujesz /, aby wywołać menu poleceń, polecenia oczekujące argumentów wyświetlą jasnoszary hint obok nich. Ten hint mówi ci, jakiego rodzaju argumentu oczekuje polecenie.

Na przykład:

  • /mode <mode_slug> – Hint <mode_slug> wskazuje, że powinieneś podać nazwę trybu, taką jak code lub debug
  • /api-endpoint <endpoint-name> <http-method> – Pokazuje, że potrzebujesz zarówno nazwy endpointu, jak i metody HTTP

Po wybraniu polecenia zostanie ono wstawione do pola wprowadzania czatu, a po nim spacja. Hint nie jest wstawiany; jest tylko wizualnym przewodnikiem, który pomaga ci wiedzieć, co wpisać dalej. Następnie musisz ręcznie wpisać argument po poleceniu.

Dodawanie hintów argumentów do niestandardowych poleceń

Możesz dodawać hinty argumentów do swoich niestandardowych poleceń za pomocą pola argument-hint we frontmatter:

---
description: Create a new API endpoint
argument-hint: <endpoint-name> <http-method>
---
Create a new API endpoint called $1 that handles $2 requests.

Spowoduje to wyświetlenie /api-endpoint <endpoint-name> <http-method> w menu poleceń.

Najlepsze praktyki dotyczące hintów argumentów

  • Bądź konkretny: Używaj opisowych symboli zastępczych, takich jak <file-path>, zamiast ogólnych, jak <arg>
  • Pokaż wiele argumentów: Jeśli polecenie potrzebuje wielu danych wejściowych, pokaż je wszystkie: <source> <destination>
  • Używaj spójnego formatu: Zawsze owijaj symbole zastępcze nawiasami kątowymi: <symbol>
  • Zachowaj zwięzłość: Hinty powinny być krótkie i jasne

Często zadawane pytania

  • „Co się stanie, jeśli nie podam argumentu?" Polecenie może nie działać zgodnie z oczekiwaniami lub może poprosić o więcej informacji. Hint jest po to, aby pomóc ci zrobić to dobrze za pierwszym razem.
  • „Czy wszystkie polecenia mają hinty?" Nie, tylko polecenia zaprojektowane do przyjmowania argumentów będą miały hinty. Polecenia działające bez dodatkowych danych wejściowych nie będą wyświetlać hintów.
  • „Czy mogę używać polecenia bez zastępowania hintu?" Tekst hintu (taki jak <mode_slug>) musi zostać zastąpiony rzeczywistymi wartościami. Pozostawienie tekstu hintu spowoduje prawdopodobnie niepowodzenie polecenia lub nieoczekiwane zachowanie.

Najlepsze praktyki

Nazewnictwo poleceń

  • Używaj opisowych, zorientowanych na działanie nazw
  • Utrzymuj nazwy zwięzłe, ale jasne
  • Używaj myślników do poleceń wielowyrazowych
  • Unikaj ogólnych nazw, takich jak help lub test
  • Uwaga: Nazwy są automatycznie slugyfikowane (małe litery, usunięte znaki specjalne)
  • Rozszerzenie .md jest automatycznie dodawane/usuwane w razie potrzeby

Zawartość polecenia

  • Zacznij od jasnej dyrektywy
  • Używaj formatów strukturyzowanych (listy, sekcje)
  • Dołączaj konkretne wymagania
  • Odwołuj się do konwencji projektu
  • Utrzymuj polecenia skoncentrowane na jednym zadaniu

Organizacja

  • Grupuj powiązane polecenia w podkatalogach
  • Używaj spójnych wzorców nazewnictwa
  • Dokumentuj złożone polecenia
  • Kontroluj wersje swoich poleceń
  • Udostępniaj polecenia zespołu w repozytorium projektu

Rozwiązywanie problemów

Polecenia nie pojawiają się

  • Sprawdź lokalizację pliku: Upewnij się, że niestandardowe pliki poleceń są w .bob/commands/ lub ~/.bob/commands/
  • Sprawdź rozszerzenie pliku: Niestandardowe polecenia muszą być plikami .md

Nie znaleziono polecenia

Gdy slash command nie zostanie znaleziony, LLM zobaczy:

The slash command '/unknown-command' was not found. Please check the command name and try again.

Konflikty poleceń

  • Niestandardowe polecenia projektu mają pierwszeństwo przed globalnymi niestandardowymi poleceniami o tej samej nazwie
  • Używaj unikalnych nazw, aby unikać konfliktów
  • Podczas tworzenia zduplikowanych nazw przez interfejs, dodawane są liczby (np. nowe-polecenie-1, nowe-polecenie-2)

O poleceniach trybów

Menu slash zawiera polecenia przełączania trybów (takie jak /code, /ask), które fundamentalnie zmieniają tryb operacyjny AI — nie tylko wstrzykują tekst, ale przełączają cały kontekst AI. Niestandardowe tryby, które tworzysz, również pojawiają się jako slash commands (np. tryb ze slugiem reviewer staje się /reviewer). Tych poleceń trybów nie można zastąpić niestandardowymi poleceniami workflow.

Dowiedz się więcej w Tryby i Tryby niestandardowe.

Jak oceniasz ten temat?