Automatyzacja zadań z Claude Code
Co piątek ręcznie aktualizujesz changelog, zwiększasz wersję w trzech plikach, regenerujesz dokumentację API, uruchamiasz testy, tagujesz release i pushasz. Zabiera to 45 minut jeśli nic nie pójdzie nie tak. W zeszłym tygodniu zapomniałeś zaktualizować wersję w package.json i build Docker pobrał stary tag. Tydzień wcześniej changelog pominął dwa PR-y, bo zapomniałeś sprawdzić zakresu dat. To nie są trudne zadania — to są żmudne zadania, a w żmudnych zadaniach mieszkają błędy.
Co z tego wyniesiesz
Dział zatytułowany „Co z tego wyniesiesz”- Workflow Claude Code do automatyzacji procesów release’owych, generowania kodu, masowych refaktorów i utrzymania projektu z terminala
- Prompty gotowe do skopiowania do budowania niestandardowych komend slash, skryptów headless i automatyzacji opartych na hookach, które działają bez nadzoru
- Praktyczne zrozumienie kiedy używać Claude Code interaktywnie a kiedy w trybie headless, oraz jak łączyć wiele operacji w łańcuch
Niestandardowe komendy slash
Dział zatytułowany „Niestandardowe komendy slash”Claude Code wspiera niestandardowe komendy przechowywane w .claude/commands/, które wywołujesz za pomocą /. To najprostszy i najpotężniejszy punkt wejścia do automatyzacji.
Po utworzeniu komendy, wywołaj ją:
/releaseLub z nadpisaniem:
/release majorClaude Code odczytuje plik komendy, wykonuje instrukcje i realizuje każdy krok. Jeśli test suite zawiedzie na kroku 4, zatrzyma się i zgłosi błąd zamiast kontynuować tagowanie zepsutego release’u.
Tryb headless do skryptów
Dział zatytułowany „Tryb headless do skryptów”Do automatyzacji działających w CI lub cron jobs, tryb headless Claude Code (flaga -p) działa bez interaktywnego terminala.
# Generuj dzienny raport zależnościclaude -p "Check our package.json for outdated dependencies. List any that are more than one major version behind, any with known vulnerabilities, and any where the latest version has breaking changes. Output a markdown summary." > reports/deps-$(date +%Y-%m-%d).md
# Automatycznie napraw błędy linteraclaude -p "Run our linter and fix all auto-fixable errors. For errors that cannot be auto-fixed, add a TODO comment with the rule name."
# Generuj dokumentację API ze źródełclaude -p "Read all our API route handlers and generate OpenAPI 3.1 specification in YAML format. Include request/response schemas inferred from the TypeScript types, path parameters, query parameters, and error responses." > docs/openapi.ymlHooki do automatycznych gate’ów jakości
Dział zatytułowany „Hooki do automatycznych gate’ów jakości”Hooki Claude Code uruchamiają się automatycznie w określonych punktach cyklu życia. Są definiowane w .claude/settings.json i wykonują się bez pytania.
Hooki są szczególnie wartościowe do wymuszania standardów zespołowych. Hook, który uruchamia eslint --fix po każdej edycji pliku, oznacza, że wynik Claude Code zawsze odpowiada Twojemu stylowi kodu bez pytania.
Masowe refaktory w wielu plikach
Dział zatytułowany „Masowe refaktory w wielu plikach”Niektóre zadania dotykają dziesiątki lub setki plików. Claude Code obsługuje je systematycznie, gdy otrzyma jasne instrukcje.
Claude Code przetwarza pliki jeden po drugim, uruchamiając testy po każdej zmianie. Jeśli test zawiedzie, naprawia problem przed przejściem dalej, zamiast zepsuć dwadzieścia plików i zostawić Cię z sprzątaniem.
Pipe’owanie danych przez Claude Code
Dział zatytułowany „Pipe’owanie danych przez Claude Code”Claude Code integruje się z pipe’ami Unix, czyniąc go częścią Twojego zestawu narzędzi powłoki.
# Analizuj błędy buildunpm run build 2>&1 | claude -p "Explain each error, suggest a fix, and apply the fixes to the source files"
# Konwertuj CSV na SQL insertscat users.csv | claude -p "Convert this CSV data to SQL INSERT statements for a users table with columns: id, email, name, created_at. Use parameterized values for safety." > seed.sql
# Podsumuj zmiany git na standupgit log --oneline --since="yesterday" | claude -p "Summarize these commits as 3-5 bullet points suitable for a standup update. Group related changes."Wzorzec pipe’owania jest potężny, ponieważ możesz łączyć Claude Code ze standardowymi narzędziami Unix. Wejście to kontekst, prompt to transformacja, a wyjście można przechwycić lub dalej pipe’ować.
Zaplanowane automatyzacje
Dział zatytułowany „Zaplanowane automatyzacje”Połącz tryb headless Claude Code z cron dla powtarzających się zadań.
# Dodaj do crontab: tygodniowe sprawdzanie zależności co poniedziałek o 9 rano0 9 * * 1 cd /path/to/project && claude -p "Check for outdated dependencies and security vulnerabilities. If any critical vulnerabilities are found, create a GitHub issue with the details and tag it 'security'." --output-format json >> /var/log/claude-audit.logDla zespołów już używających Claude Code GitHub Actions, claude-code-action zapewnia bardziej zintegrowane podejście:
name: Claude Reviewon: pull_request: types: [opened, synchronize]jobs: review: runs-on: ubuntu-latest steps: - uses: anthropics/claude-code-action@v1 with: anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }} prompt: "Review this PR for security issues, missing tests, and code quality. Be specific about file and line numbers." claude_args: "--max-turns 5"Budowanie bota do utrzymania projektu
Dział zatytułowany „Budowanie bota do utrzymania projektu”Połącz wiele automatyzacji w jedną komendę utrzymaniową, która utrzymuje Twój projekt w zdrowiu.
Gdy to się psuje
Dział zatytułowany „Gdy to się psuje”Tryb headless wprowadza niechciane zmiany. Gdy uruchamiasz claude -p z --permission-mode acceptEdits (lub szeroką listą --allowedTools), Claude może edytować pliki, których nie zamierzałeś. Ogranicz automatyzację ściśle: “Only modify files in the src/api/ directory. Do not touch tests, config, or documentation.” Dla dodatkowego bezpieczeństwa, uruchamiaj automatyzacje headless w git worktree lub na branchu, żebyś mógł przejrzeć zmiany przed mergem.
Hook uruchamia się przy każdej edycji i spowalnia sesję. Hooki, które uruchamiają linting lub type-checking przy każdej edycji pliku, dodają opóźnienie. Używaj warunkowych hooków: “Only run the TypeScript check hook on files that end in .ts or .tsx, and skip files in the node_modules or dist directories.”
Masowy refaktor wprowadza subtelne bugi. Wielkoskalowe find-and-replace w wielu plikach może wytworzyć kod, który się kompiluje, ale zachowuje się inaczej. Zawsze włączaj “run the tests for each modified file” w promptach do masowego refaktoru. Jeśli Twoje pokrycie testami jest niskie, poproś Claude o wygenerowanie testów najpierw: “Before migrating moment.js to date-fns, generate test cases for every function that uses moment. Then do the migration and verify the tests pass.”
Zadanie cron zawodzi po cichu. Headless Claude Code stosuje się do konwencji Unix: zwraca niezerowy kod wyjścia przy twardych błędach (a --max-turns kończy się błędem, gdy limit zostanie osiągnięty). Ale uruchomienie nadal może “powieść się” z kodem wyjścia 0, produkując niekompletny lub niechciany wynik. Sprawdzaj oba sygnały: bramkuj na kodzie wyjścia oraz uruchamiaj z --output-format json i kontroluj pole result pod kątem faktycznego rezultatu. Jako zabezpieczenie na wszelki wypadek, niech automatyzacja zapisuje plik markera sukcesu i alarmuje, jeśli nie zostanie zaktualizowany.
Nazwy niestandardowych komend kolidują. Niestandardowa komenda może przesłonić — lub zostać przesłonięta przez — komendę pluginu lub umiejętności o tej samej nazwie, więc generyczna nazwa jak /review może nie uruchomić tego, czego oczekujesz. Preferuj konkretne nazwy jak /release-prep lub /weekly-audit i weryfikuj, co jest faktycznie dostępne, wpisując / w REPL (lub uruchamiając /help).