Fəsil 08 · 5 dəq oxu

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, . 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ışı ilə müəyyən olunur və bu 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 ə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 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ə 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. " 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 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:

QatNəyi dəyişirHarada
CLAUDE.mdLayihə biliyi və qaydaları./CLAUDE.md, ~/.claude/CLAUDE.md
Permission qaydalarıNəyə icazə varsettings.json
Hook-larHadisələrə deterministik reaksiyasettings.json
Output styleCavabın forması və tonu.claude/output-styles/
Status lineTerminalın göstərdiyi vəziyyətsettings.json + skript
Skill, , MCP, pluginNə 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

  1. 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?
  2. 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ə /compact qərarlarınızın dəyişib-dəyişmədiyini qeyd edin.
  3. 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?