Claude Code - Belgelerde Anlatılmayan Yapılandırılabilir Her Şey
(buildingbetter.tech)- Claude Code 2.1.87 sürümünde belgelenmemiş çok sayıda ayar bulunuyor ve Hooks, Skills, Agents yapıları kişisel ve proje bazlı
.claude/dosyalarıyla ayrı ayrı uygulanabiliyor - Hook'lar yalnızca stdin JSON ve exit code ile değil, stdout içindeki olay bazlı JSON alanları üzerinden de komut değiştirme, izin kararı verme, bağlam enjekte etme ve dosya izleme işlemleri yapabiliyor
- Belgelerde yer almayan Hook alanları
once,async,asyncRewakeile tek seferlik çalıştırma, arka plan denetim günlüğü ve asenkron güvenlik engelleme akışları kurulabiliyor - Skills ve Agents, gizli frontmatter ile model, effort, scope Hook, Agent delegation, kalıcı bellek,
CLAUDE.mdatlama ve MCP bağımlılıklarını kontrol edebiliyor - Auto Mode, otomatik bellek, Dream, Magic Docs, izin glob'ları ve
context: fork, Claude Code'u öğrenen bir geliştirme ortamına daha yakın şekilde yapılandırmayı sağlıyor
Referans sürüm ve dosya konumları
- İçerik
@anthropic-ai/claude-code@2.1.87temel alınarak hazırlanmıştır; belgelenmemiş özellikler sürümler arasında değişebilir - Adında
EXPERIMENTALgeçen alanlar, Anthropic mühendisleri tarafından kararsız olarak işaretlenmiştir; kaldırılabilir veya adları değişebilir - Ayar dosyası konumları
- Kişisel ayarlar:
~/.claude/settings.json - Proje ayarları:
.claude/settings.json
- Kişisel ayarlar:
- Skills konumları
- Kişisel:
~/.claude/skills/<name>/SKILL.md - Proje:
.claude/skills/<name>/SKILL.md
- Kişisel:
- Agents konumları
- Kişisel:
~/.claude/agents/<name>.md - Proje:
.claude/agents/<name>.md
- Kişisel:
- Hook script'lerini
~/.claude/hooks/altında tutmak uygun bir pratiktir; çalıştırmak içinchmod +xgerekir - Proje düzeyindeki
.claude/dosyaları Git'e commit edilerek ekiple paylaşılabilir;~/.claude/altındaki kişisel dosyalar ise yalnızca ilgili kullanıcıya uygulanır
Hook'lar stdout JSON ile Claude Code davranışını değiştirebilir
- Resmî belgeler yalnızca Hook'ların stdin üzerinden JSON aldığı ve exit code 2 ile işlemi engellediği akışı anlatıyor, ancak gerçekte stdout içindeki olay bazlı JSON alanları ile Claude Code davranışı gerçek zamanlı olarak değiştirilebiliyor
-
PreToolUseiçinde döndürülebilen alanlarupdatedInput: Araç çalışmadan önce girdiyi yeniden yazarak komutu değiştirebilirpermissionDecision: Kullanıcıya sormadanallowveyadenyzorlanabilirpermissionDecisionReason: Kararın gerekçesi arayüzde gösterilebiliradditionalContext: Konuşma bağlamına metin enjekte edilebilir
-
SessionStartiçinde döndürülebilen alanlarwatchPaths: Otomatik dosya izleme ayarlanarakFileChangedolayı tetiklenebilirinitialUserMessage: Oturumun ilk kullanıcı mesajının başına içerik eklenebiliradditionalContext: Tüm oturum boyunca kalacak bağlam enjekte edilebilir
-
PostToolUseiçinde döndürülebilen alanlarupdatedMCPToolOutput: Claude'un gördüğü MCP araç yanıtı değiştirilebiliradditionalContext: Araç çalıştıktan sonra bağlam enjekte edilebilir
-
PermissionRequestiçinde döndürülebilen alanlardecision:updatedInputveyaupdatedPermissionsile birlikte programatik olarak izin verilebilir ya da reddedilebilir
-
git pushkomutunu otomatik olarak--dry-runyapmaya çeviren HookPreToolUseHook'u Bash komutunu kontrol edipgit pushiçeriyorsaupdatedInputile komutun sonuna--dry-runekleyebilir- Claude,
git push origin mainkomutunu çalıştırdığını sanır, ancak Hook bunu gerçek çalıştırmadan öncegit push origin main --dry-runolarak değiştirir
{
"hooks": {
"PreToolUse": [{
"matcher": "Bash",
"hooks": [{
"type": "command",
"command": "~/.claude/hooks/dry-run-pushes.sh"
}]
}]
}
}
#!/bin/bash
INPUT=$(jq -r '.tool_input.command' < /dev/stdin)
if echo "$INPUT" | grep -q 'git push'; then
jq -n --arg cmd "$INPUT --dry-run" '{"updatedInput": {"command": $cmd}}'
fi
-
Oturum başlangıcında dosya izleme ve Git bağlamı enjekte eden Hook
SessionStartHook'upackage.json,.env,tsconfig.jsondosyalarını izleme hedefi olarak belirleyebilir ve mevcut branch ile commit edilmemiş dosya sayısını oturum bağlamı olarak ekleyebilir
{
"hooks": {
"SessionStart": [{
"hooks": [{
"type": "command",
"command": "~/.claude/hooks/session-context.sh",
"statusMessage": "Loading project context..."
}]
}]
}
}
#!/bin/bash
BRANCH=$(git branch --show-current 2>/dev/null)
CHANGES=$(git status --porcelain 2>/dev/null | wc -l | tr -d ' ')
jq -n \
--arg branch "$BRANCH" \
--arg changes "$CHANGES" \
'{
"watchPaths": ["package.json", ".env", "tsconfig.json"],
"additionalContext": "Current branch: \($branch). Uncommitted changes: \($changes) files."
}'
-
Salt okunur Bash komutlarını otomatik onaylayan Hook
ls,cat,echo,pwd,whoami,date,git status,git log,git diffgibi komutlarpermissionDecision: "allow"ile kullanıcı onayı olmadan geçirilebilir
{
"hooks": {
"PreToolUse": [{
"matcher": "Bash",
"hooks": [{
"type": "command",
"command": "~/.claude/hooks/auto-approve-readonly.sh"
}]
}]
}
}
#!/bin/bash
CMD=$(jq -r '.tool_input.command' < /dev/stdin)
if echo "$CMD" | grep -qE '^(ls|cat|echo|pwd|whoami|date|git status|git log|git diff)'; then
echo '{"permissionDecision": "allow", "permissionDecisionReason": "Safe read-only command"}'
fi
Belgelerde yer almayan 3 Hook yapılandırma alanı
- Belgelenmiş Hook alanları
type,command,matcher,timeout,if,statusMessageolsa da, kaynak kod ayrıştırıcısıonce,async,asyncRewakealanlarını da kabul ediyor -
once: true- Hook’u tam olarak bir kez çalıştırıp ardından otomatik olarak kaldırdığı için ilk oturum kurulumu için uygundur
.envyoksa.env.exampledosyasını kopyalayıp sonrasında tekrar çalıştırmayan bir akış kurulabilir
{
"hooks": {
"SessionStart": [{
"hooks": [{
"type": "command",
"command": "[ -f .env ] || cp .env.example .env && echo 'Created .env from template'",
"once": true,
"statusMessage": "First-time setup..."
}]
}]
}
}
-
async: true- Hook’u arka planda çalıştırarak Claude’un ilerlemesini engellemez
- Tüm Bash komutlarını
~/.claude/audit.jsonliçine kaydederken oturuma gecikme eklememek için kullanılabilir
{
"hooks": {
"PostToolUse": [{
"matcher": "Bash",
"hooks": [{
"type": "command",
"command": "jq '{timestamp: now, command: .tool_input.command, session: .session_id}' < /dev/stdin >> ~/.claude/audit.jsonl",
"async": true
}]
}]
}
}
-
asyncRewake: true- Normal akışta
asyncgibi arka planda çalışır, ancak exit code 2 ile sonlanırsa modeli yeniden uyandırıp işlemi engeller - Claude’un yazdığı her dosyada sabit kodlanmış
password,secret,api_keydesenlerini denetleyip bulunduğunda engellemek için kullanılabilir
- Normal akışta
{
"hooks": {
"PostToolUse": [{
"matcher": "Write|Edit",
"hooks": [{
"type": "command",
"command": "~/.claude/hooks/scan-secrets.sh",
"asyncRewake": true,
"statusMessage": "Scanning for secrets..."
}]
}]
}
}
#!/bin/bash
FILE=$(jq -r '.tool_input.file_path // .tool_response.filePath' < /dev/stdin)
if grep -qE '(password|secret|api_key)\s*=' "$FILE" 2>/dev/null; then
exit 2
fi
exit 0
Skill frontmatter içindeki gizli alanlar
- Belgelerde
name,description,allowed-tools,argument-hint,when_to_use,contextele alınıyor, ancak gerçek ayrıştırıcı 6 ek alanı daha kabul ediyor -
model- Skill’in çalıştırılacağı modeli değiştirebilir; hızlı ve ucuz işler için
haiku, karmaşık analizler içinopuskullanılabilir
- Skill’in çalıştırılacağı modeli değiştirebilir; hızlı ve ucuz işler için
---
name: quick-lint
description: Fast lint check using the cheapest model
model: haiku
effort: low
allowed-tools: Bash, Read
argument-hint: "[file]"
---
Run the project linter on: $ARGUMENTS
Detect the linter from config (eslint, ruff, clippy) and run it. Report only errors, not warnings.
-
effort- Modelin ne kadar derin düşüneceğini ayarlar; değerler
low,medium,high,maxşeklindedir - Dahili olarak, yanıt başına çıkarım derinliğini kontrol eden effort sistemine eşlenir
- Modelin ne kadar derin düşüneceğini ayarlar; değerler
-
hooks- Skill etkin olduğunda kaydedilip tamamlandığında kaldırılan kapsamlı Hook’lar tanımlanabilir
- Her TypeScript dosyası yazıldığında eşzamanlı olarak type check yapmak ve arka planda lint çalıştırmak gibi kullanım senaryoları mümkündür
---
name: strict-typescript
description: Write TypeScript with type checking on every save
allowed-tools: Bash, Read, Write, Edit, Grep, Glob
hooks:
PostToolUse:
- matcher: "Write|Edit"
hooks:
- type: command
command: "~/.claude/hooks/typecheck-on-save.sh"
statusMessage: "Type checking..."
- type: command
command: "~/.claude/hooks/lint-on-save.sh"
async: true
---
Write TypeScript with strict enforcement. Every file you touch gets type-checked and linted automatically.
$ARGUMENTS
-
agent- Skill çalıştırmasını özel bir Agent’a devredebilir
---
name: deep-review
description: Thorough security review delegated to the review agent
agent: security-review
---
Review the following: $ARGUMENTS
-
disable-model-invocation: true- Otomatik çağrımı engelleyip yalnızca açık
/skill-nameçağrısıyla çalışmasını sağladığı için yıkıcı Skill’ler için uygundur
- Otomatik çağrımı engelleyip yalnızca açık
-
shell: bash- Çalıştırmada kullanılacak kabuğu belirtir
Agent frontmatter’ındaki gizli alanlar
.claude/agents/içindeki özel Agent’lar da belgelerde yer almayan frontmatter alanlarını destekliyor-
color- Arayüz rengini
red,orange,yellow,green,blue,purple,pink,grayseçeneklerinden biri olarak ayarlayabilirsiniz - Birden fazla Agent çalışırken görsel olarak ayırt etmeye yardımcı olur
- Arayüz rengini
-
memory- Agent’a çağrılar arasında kalıcı bellek kazandırır
user: tüm projelerde global olarak korunurproject: proje bazında korunurlocal: Git’e dahil edilmeyen, proje bazlı özel bellektir- Bir güvenlik inceleyicisi geçmiş bulguları takip edebilir, kod inceleyicisi ise oturumlar arasında kullanıcının kalıplarını hatırlayabilir
---
name: codebase-guide
description: Answer questions about the codebase, learning more with each session
tools: [Read, Grep, Glob, Bash]
color: green
memory: project
---
You are a codebase guide with persistent memory. Check your memory first before exploring the code.
-
omitClaudeMd: trueCLAUDE.mdtalimat hiyerarşisinin yüklenmesini atlar; proje teamülleri yerine sektör standartlarına göre bakan “fresh eyes” türü inceleyiciler için uygundur
---
name: fresh-eyes
description: Review code without project-specific biases
tools: [Read, Grep, Glob]
omitClaudeMd: true
effort: high
color: blue
---
Review this code purely from first principles. You have no project context. Focus on correctness, security, performance, and readability by industry standards.
-
criticalSystemReminder_EXPERIMENTAL- Kısa bir mesajı her turda sistem hatırlatıcısı olarak yeniden enjekte eder ve konuşma sıkıştırıldıktan sonra da bağlamda kalır
- Alan adının kendisinde
EXPERIMENTALbulunduğu için kararsızdır; temel altyapı yerine yardımcı güvenlik hatırlatıcıları için kullanılması daha uygundur
---
name: prod-deployer
description: Manages production deployments with strict safety checks
tools: [Bash, Read, Grep]
color: red
criticalSystemReminder_EXPERIMENTAL: "Always run migrations with --dry-run first. Never skip the staging verification step."
---
-
requiredMcpServers- Gerekli MCP sunucu adı kalıplarını listeler; ilgili sunucu yoksa Agent görünmez
- Bağımlılıkları hazır olmayan Agent’ların yüklenmesini engelleyebilir
Auto Mode sınıflandırıcısı doğal dille yazılmış ortam açıklamaları alır
settings.jsoniçindekiautoModealanı, Anthropic içinde “YOLO Classifier” olarak adlandırılan otomatik onay sınıflandırıcısını yapılandırırallowkalıpları otomatik onaylanır,soft_denykalıpları ise her zaman onay isterenvironmentdizisi bir kalıp değil, sınıflandırıcının okuduğu doğal dil bağlamıdır; proje ortamını açıklayarak belirsiz komutların güvenliği değerlendirilirken kullanılabilir
{
"autoMode": {
"allow": [
"Bash(npm test)",
"Bash(npm run *)",
"Bash(git status)",
"Bash(git diff *)",
"Bash(git log *)",
"Read",
"Grep",
"Glob"
],
"soft_deny": [
"Bash(git push *)",
"Bash(rm *)",
"Write(.env*)"
],
"environment": [
"NODE_ENV=development",
"This is a local dev machine with no production database access",
"All Docker containers use isolated networks",
"The test suite is safe to run repeatedly, it uses a dedicated test database"
]
}
}
This project uses Docker, all commands run in containersgibi cümleler, sınıflandırıcının ortamı anlamasına yardımcı olmak için kullanılırNo production access, yıkıcı işlemlere karşı daha az muhafazakâr davranmasına yol açar;Test database is isolatedise test çalıştırmanın her zaman güvenli olduğuna dair bir sinyal işlevi görür
Otomatik bellek ve Dream entegrasyon döngüsü
settings.jsoniçindeautoMemoryEnabledveautoDreamEnabledetkinleştirildiğinde Claude Code’un kendini geliştirme sistemi devreye girer
{
"autoMemoryEnabled": true,
"autoDreamEnabled": true
}
-
autoMemoryEnabled- Her konuşmadan sonra arka plandaki bir Agent, oturumdan uzun süre saklamaya değer bilgileri çıkarır
- Kullanıcı tercihlerini, kod tabanı kalıplarını ve alınan kararları standart memory frontmatter biçiminde
~/.claude/projects/<path>/memory/içine yazar
-
autoDreamEnabled- Her 24 saatte bir, birikmiş oturum sayısı 5 veya daha fazlaysa arka plandaki bir Agent geçmiş oturum transcript’lerini gözden geçirerek belleği birleştirir
- Yinelenenleri birleştirir, çelişkileri çözer, göreli tarihleri mutlak tarihlere dönüştürür ve eski öğeleri kaldırır
- İki ayar birlikte açıldığında, oturumların bellek üretmesi, Dream’in bu belleği birleştirmesi ve birleştirilmiş belleğin sonraki oturumlara yansımasıyla bir öğrenme döngüsü oluşur
- Birkaç hafta sonra, model yeniden eğitilmeden bile Claude Code’un kullanıcı tercihlerini, teamülleri ve yaygın kalıpları hatırladığı bir etki görülebilir
Magic Docs biçimi
- Magic Docs,
/^#\s*MAGIC\s+DOC:\s*(.+)$/imdüzenli ifadesiyle tespit edilir - Mutlaka H1 başlığı olmalıdır ve büyük/küçük harf duyarlı değildir
- Sonraki satıra
_underscores_veya*asterisks*ile sarılmış italik bir talimat konabilir; bu, güncelleme Agent’ının odaklanacağı kapsamı sınırlar
# MAGIC DOC: API Endpoint Reference
_Only document public REST endpoints. Include method, path, request body, response schema, and auth requirements._
## Endpoints
(content auto-maintained by Claude Code)
- Talimat yoksa Agent tüm içeriği güncellemeye çalışır
- Talimat varsa
only track public endpointsveyafocus on breaking changesgibi bir kapsama uyar - Güncelleme Agent’ı arka planda çalışır ve yalnızca ilgili tek dosyayı düzenlemekle sınırlandırılır
- Başlık silinirse takip otomatik olarak durur
Tüm izin kuralları söz dizimi
- Belgelerde
Bash(git *)gibi temel örnekler var, ancak gerçek desen dili Bash, dosya yolları ve MCP araçlarını geniş biçimde kapsıyor
Bash(npm *) # "npm " sonrasında joker karakter
Bash(git commit *) # belirli alt komut
Read(*.ts) # dosya uzantısı
Read(src/**/*.ts) # uzantıyla özyinelemeli dizin
Write(src/**) # özyinelemeli, tüm dosyalar
mcp__slack # slack sunucusundaki tüm araçlar
mcp__slack__* # açık joker karakter (aynı etki)
mcp__slack__post_message # belirli araç
Bash(npm:*) # eski iki nokta üst üste öneki (kelime sınırı)
*, shell glob gibi sınır içinde eşleşir;**ise dizinleri özyinelemeli olarak eşleştirir- MCP araç izinleri, çift alt çizgi biçimi olan
mcp__<server>__<tool>kullanır - Hook içindeki
ifalanı da aynı söz dizimini kullanır; regex değil, glob'dur
{
"permissions": {
"allow": [
"Bash(npm *)", "Bash(git status)", "Bash(git diff *)",
"Read(src/**)", "Read(tests/**)", "Grep", "Glob",
"mcp__database__query"
],
"deny": [
"Bash(rm -rf *)", "Write(/etc/**)", "Write(.env*)",
"mcp__slack__delete_*"
],
"ask": [
"Bash(git push *)", "Write(*.json)", "Write(*.lock)",
"mcp__slack__post_message"
]
}
}
context: fork ve model seçiminin önbelleğe etkisi
- Skill içinde
context: forkayarlanırsa arka planda çalışan forked subagent olarak yürütülür - Fork,
CacheSafeParamsadlı typed contract üzerinden ebeveynin prompt cache'ini paylaşır ve önbellek isabet oranını artırmak için byte-identical API request prefix üretir - Forked Skill için farklı bir model belirtilirse prefix değişebilir ve önbellek bozulabilir
- Ebeveyn konuşma Opus, fork ise Haiku olduğunda prefix değişir, cache miss oluşur ve tam maliyet ödenir
- Forked Skill'de
modelalanı atlanmalı ya da önbelleği korumak içinmodel: inheritkullanılmalıdır context: fork; güvenlik taraması, bağımlılık analizi, belge üretimi ve test suite çalıştırma gibi ağır işler için uygundur; ana konuşma ise tepkiselliğini korur
---
name: full-audit
description: Comprehensive codebase audit running in the background
context: fork
allowed-tools: Bash, Read, Grep, Glob, WebSearch
effort: high
---
Run a comprehensive audit:
- Security scan (grep for dangerous patterns, check dependencies for CVEs)
- Code quality (duplicated logic, dead code, missing error handling)
- Test coverage (untested critical paths)
- Dependency health (outdated packages, unused deps, license issues)
Write a detailed report to /tmp/audit-report.md when complete.
Özellik kombinasyonu örnekleri
-
Kalıcı bellek ve kapsam Hook'u olan kod inceleyici
- Agent, kod tabanına özel belleği okur; geçmişte bulunan örüntüler ile yeni sorunları birlikte inceler ve ardından yeni bulguları tekrar belleğe kaydeder
- Birden fazla incelemeden geçildiğinde, sıradan bir inceleyicinin gözden kaçırabileceği projeye özgü tekrar eden sorunları yakalamaya yardımcı olur
---
name: reviewer
description: Code reviewer that learns your codebase patterns over time
tools: [Read, Grep, Glob, Bash]
effort: high
color: yellow
memory: project
hooks:
PostToolUse:
- matcher: "Bash"
hooks:
- type: command
command: "~/.claude/hooks/log-review.sh"
async: true
---
Before reviewing, read your memory for past findings on this codebase.
Review git diff HEAD~1 for:
- Patterns you've flagged before (check memory)
- New issues worth flagging
- Resolved issues from past reviews
After review, save to memory:
- New patterns found (type: feedback)
- Recurring issues (type: project)
End with VERDICT: PASS, FAIL, or NEEDS_REVIEW.
-
Dosya izleme ile
asyncRewakegüvenlik ağını birleştiren oturum ayarı- Oturum başlarken proje bağlamını yükler, salt okunur Bash komutlarını anında otomatik onaylar ve tehlikeli komutları eşzamansız güvenlik kontrolüyle engeller
- Salt okunur komutlar hızlıca geçer, tehlikeli komutlar engellenir, geri kalanlar ise normal yetki akışını izler
{
"hooks": {
"SessionStart": [{
"hooks": [{
"type": "command",
"command": "~/.claude/hooks/session-context.sh",
"statusMessage": "Loading project context..."
}]
}],
"PreToolUse": [{
"matcher": "Bash",
"hooks": [{
"type": "command",
"command": "~/.claude/hooks/auto-approve-readonly.sh"
}, {
"type": "command",
"command": "~/.claude/hooks/block-dangerous.sh",
"asyncRewake": true,
"statusMessage": "Safety check..."
}]
}]
}
}
#!/bin/bash
CMD=$(jq -r '.tool_input.command' < /dev/stdin)
echo "$CMD" | grep -qE '(rm -rf /|sudo rm|chmod 777|> /dev/)' && exit 2 || exit 0
-
Model override, effort kontrolü ve Agent delegasyonunu birleştiren mimari inceleme
effort: maxile derin analiz belirtilir, belirli bir Agent'a delege edilir ve bu Agent'ınomitClaudeMd: trueayarıyla mevcut proje alışkanlıklarının etkisi azaltılır
---
name: architecture-review
description: Deep architecture review using max effort, delegated to fresh-eyes agent
agent: fresh-eyes
effort: max
---
Review the architecture of this project. Ignore existing conventions (the agent has omitClaudeMd: true).
Focus on: $ARGUMENTS
Evaluate structural decisions, dependency graph health, separation of concerns, and scalability characteristics.
Anlamı ve sınırları
- Etkinlik bazlı yanıt alanlarına sahip Hook sistemi, AI araç kullanımına yönelik programlanabilir bir middleware katmanı olarak çalışır
- Kalıcı Agent belleği, oturumların ötesinde deneyim biriktiren AI uzmanları oluşturmayı mümkün kılar
- Dream entegrasyon sistemi, model yeniden eğitimi olmadan oturum deneyimlerinden öğrenen bir yapı sunar
- Auto Mode sınıflandırıcısı, doğal dilde ortam açıklamalarını alır ve bunları güvenlik değerlendirmesine yansıtır
- Bu özellikler gizli ayarlar ya da easter egg'lerden ziyade, kalıcı, öğrenen ve otonom bir AI geliştirme ortamı için temel yeteneklerdir ve şu anda npm paketinin içinde zaten bulunmaktadır
Seçilmiş teknoloji başlıklarını almaya devam etmek ister misiniz?
Telegram kanalını takip edin. @GeekNewsTR
1 yorum
Hacker News yorumları
Pangram ile kontrol edince bunun bariz şekilde yapay zeka tarafından üretilmiş bir yazı olduğu görülüyor
Bu kadar çok tavsiye almasına şaşırdım; insanlar gerçekten yazıyı okudu mu emin değilim. @dang'in yorumlar için yapay zeka üretimi içerik kuralları koyduğunu ama yazılar için hâlâ isteksiz davrandığını biliyorum. Şahsen, böyle düşük kaliteli yazılarla zaman kaybetmemek için yazılarda da bir şikayet işareti olsa iyi olurdu
Bunların hepsi zaten belgelenmiş durumda [1].
Onceda belgelenmiş [2],asyncveasyncRewakede belgelenmiş [3]. Skills frontmatter'ı da tamamen belgelenmiş [4], Automode ortam dizgesi de belgelerde var [5]Bu yazı düpedüz yapay zeka yazımı clickbait ve burada bu kadar iyi tepki almasına şaşırdım
[1] https://code.claude.com/docs/en/hooks#pretooluse-decision-co...
[2] https://code.claude.com/docs/en/hooks#common-fields
[3] https://code.claude.com/docs/en/hooks#command-hook-fields
[4] https://code.claude.com/docs/en/skills#frontmatter-reference
[5] https://code.claude.com/docs/en/auto-mode-config#define-trus...
Bu yazı 2 ay önceki bir yazı, dolayısıyla bazı kısımları eski; bazı özellikler de zaten belgelenmiş durumda
Örneğin auto mode belgeleri burada: https://code.claude.com/docs/en/auto-mode-config#define-trus...
claudepaketi için her hafta 10 yeni sürüm çıkıyor, birkaç ayda bir de yeni model geliyor; bu yüzden çevresindeki belgelenmemiş numaralara güvenmemek lazımDeğişmeleri, bozulmaları ve aşırı ayrıntılı ayarları kırmaları çok olası
1M Opus'u çıkardıktan sonra “bağlam penceresi artık sorun değil” diyerek “clear context and execute plan” seçeneğini kaldırmaları gibi
Her sürümde Claude talimatlarını baştan tasarlamıyorum ama bazı sürümlerde mevcut talimatların güncel modele uygun olup olmadığını kontrol etmek değerli oluyor ve gerçekten fark yaratıyor
Claude Code'un özellik sayısı nefes kesici. Bu hızla giderse bir sonraki papa Anthropic'ten çıkar
Bu şekilde yeterince düşünülmüş ve istikrarlı bir ürün çıkarmaları zor görünüyor
“Honest status” deyip %100 olmadığını ve neden daha uzun yoldan gittiğini dürüstçe söyleyecekmiş gibi davranıyor: https://github.com/user-attachments/assets/961eff6c-0060-45d...
Ben sadece Claude Code'un görevi tamamlamaktan vazgeçmemesini istiyorum. Çok sinir bozucu.
/goalya da yeniultracodekullansam da sürekli vazgeçiyor. Projem epey karmaşık gerçi (https://github.com/mohsen1/tsz), ama Codex böyle durup kalmıyor, bastırıp devam etmekte sorun yaşamıyor/loopkullanıyorumGoal da kullanılabilir ama bazı işler için basit bir döngü daha iyi
Genel olarak LLM modellerinde bir ölçüde ortak bir yapay zeka kodlama ajanı uygulama mimarisi oluşup oluşmadığını merak ediyorum
Bu mimari tarzını anlama yollarını toplayıp derleyen biri var mı onu da merak ediyorum
Daha az standartlaşmış olan kısım, her aşama arasında kullanıcıya ne kadar kontrol verildiği.
showClearContextOnPlanAcceptvedisableAutoModegibi ayarlar, “ajan karar verir” ile “insan çalıştırmadan önce inceler” arasındaki sınırı görünür kıldığı için ilginç. Gerçek kullanım hissinde kodlama ajanlarının en çok farklılaşmaya devam edeceği yer de burası gibi duruyor“magic doc” özelliğini merak ediyorum. Bunun CLAUDE.md içine mi konduğunu yoksa proje dosyasına mı eklendiğini bilmiyorum
Oturum sırasında o dosyadan söz etmek gerekip gerekmediğini de merak ediyorum; yoksa Claude proje içinde “magic doc” başlığı geçen her yeri otomatik olarak mı buluyor?
Claude'a kendi ayarlarını kendisinin oluşturmasını söyleyebilir miyiz? Mesela “kendini benim yerime koy ve istediğin en iyi ayar dosyaları paketini oluştur” gibi
CLAUDE_CODE_NEW_INITdeğerini 1 yaparsanız,/initetkileşimli bir yapılandırma akışı olarak çalışıyorBu akış, kod tabanını gezip dosya yazmadan önce
CLAUDE.md, skills, hooks ve benzeri hangi dosyaları oluşturacağını soruyor. Bu değişken yoksa/initsormadan otomatik olarakCLAUDE.mdüretiyor.claude/dizininde çalışan özel bir mod da mevcutKullanıcının bunu yapması amaçlanmış gibi duruyor
Güvendiğiniz belgelenmemiş özelliğin bir anda çalışmayı bırakmasını keşfetmenin keyfini çıkaracaksınız
“open” kelimesine alerjileri olmasaydı Claude Code'u açık kaynak yaparlardı; şu noktada bunu yapmamaları için gerçek bir neden yok