Output style-lar və status line
Output style-lar yaratmaq və fərdiləşdirmək
İndiyə qədər Claude Code-un nə etdiyini dəyişdik: tool-lar, icazələr, subagent-lər. Bu fəsil onun necə danışdığını dəyişir. Default olaraq Claude Code qısa, mühəndis yönümlü cavablar verir: nəticəni deyir, izahı minimum saxlayır. Bu, təcrübəli developer-in gündəlik işi üçün doğru seçimdir, amma yeganə seçim deyil. Öyrənən şəxs izah istəyir; sənədləşmə yazan strukturlu format istəyir; uzun tapşırıqda isə terminalın özü sizə vəziyyəti göstərməlidir. Output style-lar birincisinə, status line ikincisinə cavabdır.
Output style nədir
Claude Code-un davranışı system prompt-u ilə müəyyən olunur və bu prompt-un bir hissəsi "necə cavab vermək" təlimatıdır. Output style həmin hissəni əvəz edir: tool-lar, permission-lar, memory faylları, hamısı yerində qalır, dəyişən yalnız cavabın formatı və tonudur. Bu, CLAUDE.md-yə "qısa cavab ver" yazmaqdan fərqlidir: CLAUDE.md system prompt-a əlavə olunur və default təlimatla yarışa bilər; output style isə default təlimatın yerinə keçir.
Claude Code bir neçə built-in style ilə gəlir. Default style mühəndis üçündür. Explanatory style hər addımda "niyə belə etdim" izahı əlavə edir: hansı alternativlər var idi, niyə bu seçildi. Learning style isə bir addım irəli gedir: kodun bəzi hissələrini sizə yazdırır və tapşırıq verir, yəni agent-i müəllimə çevirir. Style-ı session-da dəyişmək bir command-dır:
/output-style explanatory
Seçim layihənin lokal settings faylında saxlanılır və növbəti session-da da qüvvədədir.
Öz style-ınızı yazmaq
Custom style Markdown faylıdır. İstifadəçi səviyyəsində ~/.claude/output-styles/, layihə səviyyəsində .claude/output-styles/ qovluğunda yaşayır:
---
name: yaml-concise
description: Cavabları YAML strukturunda, minimal izahla verir
---
Hər cavabı YAML sənədi kimi ver. Struktur:
result: bir cümləlik nəticə
changes:
- file: dəyişdirilən fayl
what: nə dəyişdi
next: növbəti addım, varsa
İzah yazma. Sual lazımdırsa, `question:` açarı ilə ver.
Frontmatter-dəki name style-ın /output-style siyahısındakı adı, description isə qısa təsviridir. Gövdə system prompt-a gedən təlimatdır. Style yazanda yadda saxlamaq lazımdır ki, bu təlimat hər cavaba tətbiq olunur: kod yazanda da, sual verəndə də, xəta izah edəndə də. "YAML ver" qaydası sual verməyi də YAML-a salır; buna görə nümunədə sual üçün ayrıca açar var.
İki fərqli xarakterli style fərqi göstərir. Texniki sənədləşmə üçün yuxarıdakı kimi strukturlu, izahsız format: nəticə proqramla və ya başqa alətlə emal olunacaq. Dərc olunan məzmun üçün isə tam əksi: cavabı hazır blog yazısı və ya HTML səhifəsi kimi formatlayıb fayla yazan, hətta browser-də açan style. İkinci halda style-ın təlimatı tool istifadəsini də istiqamətləndirir: "nəticəni out/ qovluğuna yaz və open ilə aç". Style yalnız mətn formatı deyil, cavabın hara getdiyini də müəyyən edə bilir.
Style-ı nə vaxt istifadə etmək, nə vaxt yox
Output style güclüdür, çünki default davranışı əvəz edir; eyni səbəbdən təhlükəlidir. Bir neçə qayda:
- Konvensiya yox, format. "Test-ləri
tests/qovluğuna yaz" kimi layihə qaydaları CLAUDE.md-yə aiddir; style yalnız cavabın formasını dəyişməlidir. - Tapşırıq yox, ton. "Release note hazırla" skill-dir (9-cu fəsil); "cavabları istifadəçi dilində yaz" style-dır.
- Session-a görə seçin. Öyrənmə session-ında explanatory, avtomatlaşdırmada strukturlu, gündəlik işdə default. Bir style-ı həmişəlik qoymaq default-un üstünlüklərini itirir.
Claude Code-un yeni versiyalarında Anthropic eyni nəticəni başqa mexanizmlərlə, yəni CLAUDE.md təlimatları, skill-lər və plugin-lərlə, əldə etməyi tövsiyə edir və output style-ların gələcəyi dəyişə bilər. Prinsip qalır: cavabın formatı ayrıca, dəyişdirilə bilən təlimatdır və onu layihə qaydalarından ayrı saxlamaq lazımdır.
Status line: terminalın özü danışır
Uzun session-da üç sual daim ortaya çıxır: hansı model işləyir, context nə qədər dolub, hansı branch-dayam. Hər dəfə /context və /model yazmaq əvəzinə bu məlumat terminalın aşağısında daim görünə bilər. Status line bunun üçündür: Claude Code hər yeniləmədə sizin skriptinizi işlədir, ona session haqqında JSON verir və skriptin çıxışını status sətrində göstərir.
Quraşdırma /statusline command-ı ilə interaktiv gedir: Claude mövcud shell prompt-unuza baxıb uyğun skript yazır. Nəticə settings faylında bir qeyddir:
{
"statusLine": {
"type": "command",
"command": "~/.claude/statusline.sh"
}
}
Skript standart girişdən JSON oxuyur. İçində model-in adı, cari qovluq, session identifikatoru, aktiv output style, transcript faylının yolu, xərc və context doluluğu haqqında sahələr var. Sadə bir skript:
#!/bin/bash
input=$(cat)
model=$(echo "$input" | jq -r '.model.display_name')
dir=$(echo "$input" | jq -r '.workspace.current_dir' | xargs basename)
style=$(echo "$input" | jq -r '.output_style.name')
branch=$(git -C "$(echo "$input" | jq -r '.workspace.current_dir')" branch --show-current 2>/dev/null)
echo "$model │ $dir ${branch:+($branch)} │ style: $style"
Daha maraqlı status line-lar transcript faylını oxuyur: son prompt-un ilk əlli simvolunu göstərmək, neçə tool çağırışı olduğunu saymaq, context doluluğunu rəngli bar kimi çəkmək. Transcript JSONL formatındadır, hər sətir bir mesajdır; skript onu filtrləyib lazım olanı çıxarır. Bu, Claude Code-un sizə öz daxili vəziyyətini göstərməsinin ən sadə yoludur və hook-lardan (3-cü fəsil) fərqli olaraq heç nəyə müdaxilə etmir, yalnız oxuyur.
Status line-ın praktik dəyəri context engineering-dədir: doluluğu daim görəndə /compact və /clear qərarını gec yox, vaxtında verirsiniz. Birinci fəslin "ölçmədən optimallaşdırma olmaz" qaydası burada sadəcə görünən olur.
Fərdiləşdirmənin qatları
Bu fəsillə Claude Code-un fərdiləşdirmə qatları tamamlanır və onları bir yerdə görmək faydalıdır:
| Qat | Nəyi dəyişir | Harada |
|---|---|---|
| CLAUDE.md | Layihə biliyi və qaydaları | ./CLAUDE.md, ~/.claude/CLAUDE.md |
| Permission qaydaları | Nəyə icazə var | settings.json |
| Hook-lar | Hadisələrə deterministik reaksiya | settings.json |
| Output style | Cavabın forması və tonu | .claude/output-styles/ |
| Status line | Terminalın göstərdiyi vəziyyət | settings.json + skript |
| Skill, subagent, MCP, plugin | Nə edə bilir | .claude/ və .mcp.json |
Hər qatın bir sualı var və qatları qarışdırmaq ən çox rast gəlinən səhvdir: layihə qaydası style-a, format qaydası CLAUDE.md-yə, iş prosesi hook-a yazılır. Doğru qat seçiləndə hər şey kiçik və dəyişdirilə bilən qalır.
Tapşırıqlar
- Layihəniz üçün strukturlu output style yazın: hər cavab nəticə, dəyişikliklər və növbəti addım bölmələrindən ibarət olsun. Beş fərqli tapşırıqda işlədin: hansı tapşırıqlarda format kömək etdi, hansılarda mane oldu?
- Status line skripti yazın: model, branch və context doluluğu. Doluluğu faizlə və rənglə göstərin: 70%-dən yuxarı sarı, 90%-dən yuxarı qırmızı. Bir həftə bu skriptlə işləyin və
/compactqərarlarınızın dəyişib-dəyişmədiyini qeyd edin. - Explanatory style ilə tanımadığınız bir modulu dəyişdirin və eyni işi default style ilə təkrarlayın. İzahlar hansı qərarlarda faydalı oldu? Context-ə nə qədər əlavə yük gətirdi?