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.
We are migrating from moment.js to date-fns across our entire codebase. For every file that imports moment: 1) replace the import with the equivalent date-fns functions, 2) update every moment() call to the date-fns equivalent (format, parse, add, subtract, diff, isAfter, isBefore), 3) update date format strings from moment format (YYYY-MM-DD) to date-fns format (yyyy-MM-dd), 4) run the tests for each modified file to verify the change. Give me a summary of all changes at the end.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.
Create a custom command at .claude/commands/maintain.md that performs weekly project maintenance: 1) check for and update patch-level dependency versions, 2) regenerate TypeScript types from our database schema, 3) update the API documentation from source code, 4) find and remove unused imports and dead code, 5) check for TODOs older than 30 days and list them, 6) run the full test suite, 7) generate a maintenance report with a summary of changes made. Commit all changes as "chore: weekly maintenance".Gdy to się psuje
Dział zatytułowany „Gdy to się psuje”Tryb headless wprowadza niechciane zmiany. Gdy uruchamiasz claude -p z auto-accept, 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 zwraca kod wyjścia 0 nawet gdy nie mógł ukończyć zadania. Przechwytuj wynik i sprawdzaj wskaźniki błędów: pipe’uj do --output-format json i sprawdzaj pole result, lub niech automatyzacja zapisze plik markera sukcesu i alarmuje, jeśli plik nie został zaktualizowany.
Niestandardowe komendy kolidują z wbudowanymi komendami. Jeśli nazwiesz komendę /review, może kolidować z wbudowanymi umiejętnościami. Sprawdź dostępne komendy za pomocą /help i używaj opisowych nazw jak /release-prep lub /weekly-audit.