Розробка ПЗ з Claude Code
Dani Zysman
AI Curriculum Manager @ DataCamp

Хуки:
.claude/settings.jsonВикористайте /hooks, щоб переглянути активні
music-analytics-api/
app.py
routes.py
test_routes.py
CLAUDE.md
.claude/
agents/
skills/
settings.json # <- Hook configuration

PreToolUse: спрацьовує до запуску інструменту → Використовуйте для перевірки або блокування ризикованих дій
PostToolUse: спрацьовує після завершення інструменту → Використовуйте для тестів, lint-перевірок або логування результатів
{
"hooks": {
"PostToolUse": [
{
"matcher": "Write|Edit",
"hooks": [
{
"type": "command",
"command": "cd $CLAUDE_PROJECT_DIR && python -m pytest --tb=short -q"
}
]
}
]
}
}
def pytest_terminal_summary(terminalreporter, exitstatus, config):
passed = len(terminalreporter.stats.get('passed', []))
failed = len(terminalreporter.stats.get('failed', []))
if failed:
title = "pytest FAILED"
message = f"{failed} failed {passed} passed"
else:
title = "pytest PASSED"
message = f"All {passed} tests passed!"
with open("/tmp/pytest_results.log", "a") as f:
f.write(f"{title}: {message}\n")
[23:07:35] pytest FAILED: ❌; 2 failed, 15 passed
[23:07:38] pytest PASSED: ✅ All 17 tests passed!
[23:08:09] pytest PASSED: ✅ All 17 tests passed!
[23:08:12] pytest PASSED: ✅ All 17 tests passed!

| Можливість | Виклик | Список | Шлях до конфігурації |
|---|---|---|---|
| Агенти | @agent-name |
/agents |
.claude/agents/name.md |
| Навички | /skill-name |
/skills |
.claude/skills/name/SKILL.md |
| Хуки | (автоматично) | /hooks |
.claude/settings.json |
Розробка ПЗ з Claude Code