Przejdź do głównej zawartości

Mistrzostwo w linii poleceń: Wskazówki 26-35

Jesteś 40 wiadomości w głąb, Claude zgubił wątek, każda odpowiedź jest wolniejsza od poprzedniej, a ty nie pamiętasz, w której z wczorajszych sesji powstała praca nad schematem. CLI Claude Code ma precyzyjną odpowiedź na każdy z tych problemów — wznowienie właściwej sesji, wyczyszczenie kontekstu we właściwym momencie i zejście do trybu headless dla tych części, które powinien przejąć skrypt. Te wskazówki obejmują polecenia i skróty, które odróżniają biegłego zaawansowanego użytkownika od kogoś, kto walczy z REPL.

  • Poprawny model wznawiania claude -r / claude -c (po nazwie sesji lub z selektora — żadnych wymyślonych numerów indeksów)
  • Jednolinijkowce headless, które produkują parsowalny JSON do komunikatów commitów, przeglądów i CI
  • Gotowe prompty dla generatora konwencjonalnych commitów, skanu console.log przed commitem oraz wielokrotnego użytku polecenia do przeglądu PR
  • Sekcję “Gdy to się psuje” dla scenariuszy awarii, które naprawdę bolą: wznowiona niewłaściwa sesja, rozpędzone --dangerously-skip-permissions oraz parsowanie JSON, które po cichu zawodzi

Zrozumienie struktury poleceń Claude Code umożliwia płynną interakcję:

Okno terminala
# Uruchom sesję interaktywną
claude
# Uruchom jednorazowe zadanie
claude "implement user authentication with JWT"
# Szybkie zapytanie z natychmiastowym wyjściem
claude -p "explain this regex: /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/"
# Kontynuuj najnowszą konwersację w tym katalogu
claude -c
# Wznów sesję: otwiera interaktywny selektor...
claude -r
# ...albo wznów bezpośrednio po ID lub nazwie, z zapytaniem
claude -r "auth-refactor" "Finish this PR"

Szybka referencja

  • -p, --print: Uruchom pojedynczy prompt i zakończ (nieinteraktywny)
  • -c, --continue: Kontynuuj najnowszą konwersację w tym katalogu
  • -r, --resume: Wznów sesję po ID lub nazwie, albo pokaż interaktywny selektor
  • --model: Określ model do użycia
  • -v, --verbose: Pokaż wyjście tura po turze
  • --add-dir: Dołącz dodatkowe katalogi

Wskazówka 27: Używaj poleceń ukośnikowych efektywnie

Dział zatytułowany „Wskazówka 27: Używaj poleceń ukośnikowych efektywnie”

Polecenia ukośnikowe zapewniają szybki dostęp do funkcji Claude Code:

Niezbędne polecenia ukośnikowe:
/help - Pokaż wszystkie dostępne polecenia i użycie
/init - Inicjalizuj projekt z CLAUDE.md
/review - Poproś o kompleksowy przegląd kodu
/clear - Wyczyść historię konwersacji (zwalnia kontekst; następują szybsze, tańsze tury)
/config - Wyświetl lub zmień konfigurację
/status - Wyświetl status konta i systemu
/memory - Edytuj pliki pamięci CLAUDE.md
/permissions - Zarządzaj uprawnieniami narzędzi
/cost - Sprawdź zużycie tokenów i koszty
/compact - Kompresuj historię konwersacji
/add-dir - Dodaj katalog do przestrzeni roboczej
/hooks - Konfiguruj hooki automatyzacji
/terminal-setup - Konfiguruj ustawienia terminala
/ide - Połącz z IDE do diagnostyki
/install-github-app - Włącz integrację GitHub

Przykłady niestandardowych poleceń:

Okno terminala
# Stwórz niestandardowe polecenie testowe
echo 'Generate comprehensive tests for: $ARGUMENTS' > .claude/commands/test.md
# Użyj go w REPL
/test UserService.js
# Stwórz polecenie wdrażania
echo 'Deploy to staging following our process: $ARGUMENTS' > .claude/commands/deploy-staging.md
# Użyj go
/deploy-staging --version 2.1.0

Jeden z najbardziej wpływowych nawyków dla efektywności Claude Code:

Okno terminala
# Czyść na początku każdego nowego zadania
/clear
# Dlaczego to ważne:
# 1. Oszczędza tokeny (brak historii do przetworzenia)
# 2. Zapobiega zamieszaniu kontekstu
# 3. Unika narzutu kompakcji
# 4. Szybsze czasy odpowiedzi
# 5. Czystszy model mentalny

Kiedy czyścić

  • Rozpoczynanie nowej funkcji
  • Przełączanie między różnymi częściami bazy kodu
  • Po zakończeniu zadania
  • Gdy kontekst staje się pomieszany
  • Przed złożonymi dyskusjami architektonicznymi

Najlepsze praktyki zarządzania kontekstem:

Okno terminala
# Dobry przepływ pracy
claude
/clear
# Praca nad funkcją uwierzytelniania
# Zakończenie uwierzytelniania
/clear
# Praca nad integracją płatności
# Zakończenie integracji płatności
# Zły przepływ pracy
claude
# Praca nad uwierzytelnianiem
# Praca nad płatnością bez czyszczenia
# Praca nad UI bez czyszczenia
# Kontekst staje się pomieszany

Claude Code utrzymuje sesje między uruchomieniami, ale wznawianie działa po ID, nazwie lub z selektora — nie ma indeksu numerycznego w stylu claude -r 5. Znajomość dokładnych form chroni przed ponownym otwarciem niewłaściwej konwersacji:

Okno terminala
# W obrębie sesji nawiguj po wcześniejszych promptach klawiszami strzałek
# Poprzedni prompt
# Następny prompt
# Otwórz interaktywny selektor ostatnich sesji
claude -r
# Użyj klawiszy strzałek lub wpisz, aby filtrować, potem Enter, aby wznowić
# Wznów bezpośrednio po ID lub nazwie sesji i zakolejkuj zapytanie
claude -r "auth-refactor" "Finish this PR"
# Kontynuuj najnowszą sesję w bieżącym katalogu
claude -c

Nazywaj swoje sesje świadomie (zarówno selektor, jak i -r "<nazwa>" na tym polegają), a problem “która z nich miała pracę nad schematem?” znika.

Okno terminala
# Pokaż selektor, potem wybierz klawiszami strzałek / wyszukiwaniem
claude -r

Efektywne odwoływanie się do plików jest kluczowe dla dostarczania kontekstu:

  1. Używanie wzmianek @

    Refactor @UserService.js to use dependency injection
    Update @components/Button.tsx to support dark mode
  2. Przeciągnij i upuść z Shift

    • Normalne przeciąganie: Otwiera plik w nowej zakładce
    • Shift + przeciąganie: Odwołuje się do pliku w Claude Code
  3. Wzorce glob

    Review all test files: @**/*.test.js
    Update all React components: @components/**/*.tsx
  4. Odwołania do wielu plików

    Ensure consistency between @User.model.js, @user.service.js, and @user.controller.js

Claude Code doskonale rozumie intencje bez specyficznej składni:

Zamiast zapamiętywać polecenia, po prostu opisz, co chcesz:
"Fix the bug in user authentication"
"Add comprehensive tests for the payment module"
"Refactor this function to be more readable"
"Help me understand how the caching layer works"
"Create a new feature for exporting data to CSV"
"Review my code for security vulnerabilities"
"Optimize this query that's running slowly"
"Update the documentation for the API endpoints"

Wzorce języka naturalnego

Claude Code rozumie:

  • Opisy techniczne
  • Potoczne prośby
  • Niepełne informacje
  • Kontekst z poprzednich wiadomości
  • Dorozumiane wymagania
  • Terminologię specyficzną dla domeny

Przykłady rozumienia języka naturalnego:

Okno terminala
# Niejasne zadanie -> Claude zadaje pytania wyjaśniające
"Make this faster"
> I see you want to improve performance. Could you specify:
> 1. Which part is slow?
> 2. What's the current performance?
> 3. What's your target?
# Zadanie świadome kontekstu
"Do the same thing for the product service"
> I'll apply the same dependency injection pattern I used
> for UserService to the ProductService
# Dorozumiane wymagania
"Make this production ready"
> I'll add:
> - Error handling
> - Input validation
> - Logging
> - Tests
> - Documentation

Claude Code zapewnia wyrafinowaną integrację z git:

Okno terminala
# Status i zmiany
"What files have I changed?"
"Show me the git diff"
"What's on the staging area?"
# Commitowanie
"Commit my changes with a descriptive message"
"Create a commit following conventional commits"
"Amend the last commit"
# Gałęzie
"Create a new branch called feature/user-auth"
"Switch to the main branch"
"Show me all branches"

Niezbędne skróty klawiszowe dla produktywności:

Uniwersalne skróty:
- Escape - Zatrzymaj bieżącą operację (nie wyjście)
- Escape Escape - Cofnij kod + konwersację do wcześniejszego punktu kontrolnego
- Tab - Uzupełnianie poleceń/plików
- Shift+Enter - Nowa linia w prompcie (po konfiguracji)
- Ctrl+C - Anuluj/przerwij bieżącą operację
- Ctrl+D - Wyjdź z Claude Code (EOF)
- Ctrl+L - Wyczyść ekran
- Ctrl+R - Szukaj w historii poleceń
Operacje na plikach:
- Ctrl+V - Wklej obraz (nie Cmd+V na Mac)
- Shift+Drag - Odwołanie do pliku (nie otwieranie)
Nawigacja:
- ↑/↓ - Nawigacja po historii poleceń
- Page Up/Down - Przewijanie wyjścia
- Home/End - Skocz na początek/koniec
Specjalne:
- # - Szybka aktualizacja CLAUDE.md
- / - Rozpocznij polecenie ukośnikowe
- @ - Rozpocznij odwołanie do pliku

Różnice platform

  • macOS: Używaj Ctrl do specjalnych funkcji, nie Cmd
  • Windows/Linux: Standardowe skróty Ctrl działają
  • Aplikacja terminala: Może wymagać konfiguracji powiązania klawiszy

Wskazówka 34: Używaj poleceń jednorazowych do szybkich zadań

Dział zatytułowany „Wskazówka 34: Używaj poleceń jednorazowych do szybkich zadań”

Do automatyzacji i szybkich operacji zawsze sięgaj po -p (print/nieinteraktywny). Samo claude "..." uruchamia REPL i zawiesi się w pipeline; claude -p "..." wykonuje się raz i kończy. Przekieruj pojedynczy plik przez <, a kod z całego katalogu przekaż przez cat/git diff — nie da się przekierować stdin z katalogu (< src/ zwraca błąd “Is a directory”).

Okno terminala
# Szybkie formatowanie (pojedynczy plik przez stdin)
claude -p "format this SQL query" < query.sql > formatted.sql
# Przegląd kodu na podstawie diffa
git diff | claude -p "review these changes for security issues"
# Generowanie dokumentacji
claude -p "generate JSDoc comments" < utils.js > documented.js
# Operacje wsadowe
for file in *.js; do
claude -p "add error handling" < "$file" > "safe_$file"
done
# Integracja z pipeline
git diff | claude -p "explain these changes" | tee explanation.md
# Przejrzyj cały katalog, przekazując jego pliki na wejście (nie `< src/`)
cat src/**/*.js | claude -p "review for performance issues"

Przykłady integracji:

.git/hooks/pre-commit
# Hooki Git
files=$(git diff --cached --name-only --diff-filter=ACM | grep '\.js$')
for file in $files; do
claude -p "list any console.log statements in this file" < "$file"
done
# Pipeline CI/CD
# .github/workflows/review.yml
- name: Claude Review
run: |
git diff origin/main...HEAD | claude -p "review these changes for performance issues"

Wskazówka 35: Twórz niestandardowe polecenia ukośnikowe

Dział zatytułowany „Wskazówka 35: Twórz niestandardowe polecenia ukośnikowe”

Rozszerz Claude Code o polecenia specyficzne dla projektu:

  1. Stwórz katalog poleceń

    Okno terminala
    mkdir -p .claude/commands
  2. Stwórz plik polecenia

    .claude/commands/feature.md
    Create a new feature with our standard structure:
    Feature name: $ARGUMENTS
    1. Create feature branch
    2. Set up folder structure:
    - /features/$ARGUMENTS/
    - /features/$ARGUMENTS/components/
    - /features/$ARGUMENTS/hooks/
    - /features/$ARGUMENTS/tests/
    3. Create index files with exports
    4. Add to main router
    5. Create basic test setup
  3. Użyj polecenia

    Okno terminala
    /feature user-profile
  4. Twórz zagnieżdżone (z przestrzenią nazw) polecenia

    .claude/commands/db/migrate.md
    mkdir -p .claude/commands/db
    # Polecenie w podkatalogu otrzymuje przestrzeń nazw z dwukropkiem od tego katalogu.
    # Teraz użyj: /db:migrate (nazwa podkatalogu staje się prefiksem)

Zaawansowane przykłady poleceń:

.claude/commands/review.md
Perform comprehensive code review:
- Security vulnerabilities
- Performance issues
- Code style violations
- Missing tests
- Documentation gaps
Focus on: $ARGUMENTS
# .claude/commands/refactor.md
Refactor following our patterns:
- Extract constants
- Add type safety
- Improve naming
- Reduce complexity
- Add error handling
Target: $ARGUMENTS
# .claude/commands/test/integration.md
Create integration tests for: $ARGUMENTS
- Use our test utilities
- Mock external services
- Test error scenarios
- Verify response format

Najlepsze praktyki poleceń

  • Utrzymuj polecenia skupione i konkretne
  • Używaj $ARGUMENTS dla elastyczności
  • Dołączaj kontekst i wymagania
  • Kontroluj wersje plików poleceń
  • Udostępniaj przydatne polecenia zespołowi

Połączenie tych technik linii poleceń tworzy potężny przepływ pracy:

Okno terminala
# Zacznij od nowa
claude --dangerously-skip-permissions
/clear
# Skonfiguruj przestrzeń roboczą
/add-dir ../shared
/add-dir ../backend
# Szybkie zadanie
"Create user authentication with JWT"
# Przegląd i testy
/review
"Add comprehensive tests"
# Naturalny przepływ git
"Commit these changes"
"Create a PR"
# Poszedłeś złą drogą? Cofnij do wcześniejszego punktu kontrolnego
Escape Escape # przywraca kod + konwersację, potem zadaj prompt na nowo stamtąd
# Szybkie sprawdzenie
/cost # Monitoruj zużycie tokenów
# Kontynuuj jutro
claude -c # Wznów tam, gdzie skończyłeś

Te trzy zarabiają na siebie w linii poleceń — jeden jednorazowy headless, jeden strażnik przed commitem i jedno wielokrotnego użytku polecenie do przeglądu.

CLI jest szybkie, co oznacza, że błędne założenie pali czas lub tokeny, zanim to zauważysz. Scenariusze awarii, które naprawdę bolą:

  • Wznowienie otwiera niewłaściwą sesję. claude -r bez argumentu pokazuje selektor; wznawianie “tej ostatniej” przez -c chwyta cokolwiek uruchomiono ostatnio w tym katalogu — co może nie być pracą, o którą ci chodziło. Nazywaj sesje i wznawiaj po nazwie (claude -r "auth-refactor"), gdy to ma znaczenie. Nie ma indeksu claude -r 5, na którym można polegać.
  • --dangerously-skip-permissions na rozpędzonym zadaniu. Pomijanie zatwierdzeń jest świetne, dopóki Claude nie zapętli się na niedziałającym buildzie i nie spali tokenów bez nadzoru. Używaj go do krótkich, dobrze zawężonych zadań; trzymaj /cost otwarte i nigdy nie łącz go z mglistym promptem w stylu “fix everything”.
  • Parsowanie JSON headless po cichu zawodzi. claude -p "..." domyślnie zwraca zwykły tekst, więc przekazanie go do jq zwraca błąd lub null. Dodaj --output-format json i czytaj pole .result (albo .structured_output, gdy przekażesz --json-schema). Hook, który o tym zapomni, przepuści coś, co powinien zablokować.
  • Samo claude "..." zawiesza się w CI. Bez -p polecenie uruchamia interaktywny REPL i czeka w nieskończoność w nieinteraktywnym pipeline. Każde skryptowe wywołanie potrzebuje -p.
  • Shift+Enter nic nie wstawia. Wejście wieloliniowe wymaga powiązania klawiszy terminala; uruchom /terminal-setup raz. Do tego czasu wklejaj prompty wieloliniowe lub owijaj je w cudzysłowy w linii poleceń.

Z opanowaną linią poleceń jesteś gotowy stawić czoła dużym, złożonym bazom kodu. Przejdź do Zarządzanie dużymi bazami kodu, aby poznać strategie rozwoju na skalę korporacyjną.