Mjukvaruutveckling med Claude Code
Dani Zysman
AI Curriculum Manager @ DataCamp

Hooks:
.claude/settings.jsonAnvänd /hooks för att lista vad som är aktivt
music-analytics-api/
app.py
routes.py
test_routes.py
CLAUDE.md
.claude/
agents/
skills/
settings.json # <- Hook configuration

PreToolUse: utlöses innan verktyget körs → Använd den för att granska eller blockera farliga åtgärder
PostToolUse: utlöses efter att verktyget är klart → Använd den för att köra tester, lintkontroller eller logga resultat
{
"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!

| Funktion | Anropa | Lista | Konfigurationssökväg |
|---|---|---|---|
| Agents | @agent-name |
/agents |
.claude/agents/name.md |
| Skills | /skill-name |
/skills |
.claude/skills/name/SKILL.md |
| Hooks | (automatisk) | /hooks |
.claude/settings.json |
Mjukvaruutveckling med Claude Code