Update CLAUDE.md Otomatis dengan Spec Kit: Konteks AI Selalu Akurat
Cara menjaga CLAUDE.md tetap akurat dan up-to-date menggunakan GitHub Spec Kit. Auto-update konteks AI setelah setiap fitur selesai untuk workflow SDD yang konsisten.
Update CLAUDE.md Otomatis: Menjaga Konteks AI Tetap Akurat
Update CLAUDE.md otomatis dengan Spec Kit adalah kunci menjaga konteks AI tetap akurat di proyek Golang jangka panjang. CLAUDE.md adalah “memori proyek” untuk Claude — dokumen yang memberikan konteks tentang arsitektur, konvensi, dan keputusan teknis. Tapi ada masalah: saat proyek berkembang, CLAUDE.md sering tidak ikut berkembang. Di artikel ini kita bahas bagaimana GitHub Spec Kit mengotomasi update tersebut agar Claude Code selalu bekerja dengan gambaran proyek yang terkini.
14.1 Problem: CLAUDE.md Drift
Sebelum masuk ke solusinya, penting memahami akar masalahnya. Skenario berikut menggambarkan bagaimana CLAUDE.md perlahan menjadi usang seiring proyek tumbuh.
Bayangkan ini: proyek dimulai 6 bulan lalu dengan CLAUDE.md yang solid. Sejak saat itu:
- 12 fitur baru di-implement
- 3 pattern baru muncul di codebase
- 2 external service baru di-integrate
- 1 architectural decision berubah
CLAUDE.md masih sama seperti 6 bulan lalu. Claude Code yang berjalan dengan CLAUDE.md ini akan:
- Menggunakan pattern lama yang sudah tidak dipakai
- Tidak tahu tentang service baru
- Mungkin menghasilkan kode yang tidak konsisten dengan apa yang ada
Ini yang disebut CLAUDE.md drift — satu dari masalah terbesar dalam SDD jangka panjang, karena AI yang bekerja dengan konteks basi akan menyeret seluruh codebase ke arah yang tidak konsisten.
14.2 speckit dan CLAUDE.md: Dua Cara Update
Spec Kit menyediakan dua mekanisme untuk mengatasi drift. Perintah berikut memperlihatkan mekanisme pertama, yaitu update otomatis setelah implementasi selesai.
1# Setelah specify implement selesai, update CLAUDE.md
2specify claude-update --feature product-review
3
4# Spec Kit menganalisis:
5# - File baru yang dibuat
6# - Pattern baru yang digunakan
7# - Interface baru yang di-introduce
8# - Decision yang dibuat di plan.md
9
10# Dan menghasilkan suggestion untuk CLAUDE.mdMekanisme pertama ini mengekstrak perubahan langsung dari hasil implementasi, sehingga update CLAUDE.md selalu berbasis kode nyata, bukan asumsi. Mekanisme kedua bekerja dari arah berbeda: menyelaraskan konstitusi proyek dengan CLAUDE.md, seperti perintah berikut.
1# Sync constitution.md ke CLAUDE.md
2specify claude-sync
3
4# Menjamin bahwa prinsip di constitution.md
5# tercermin di CLAUDE.md (dan vice versa)Dua mekanisme ini saling melengkapi: claude-update menangkap detail teknis per fitur, sedangkan claude-sync menjaga prinsip tingkat proyek tetap konsisten di kedua dokumen.
14.3 Menjalankan specify claude-update
Mari lihat output nyata saat perintah update dijalankan setelah sebuah fitur selesai. Sesi berikut memperlihatkan analisis yang dilakukan Spec Kit dan suggestion yang dihasilkannya.
1# Jalankan setelah feature selesai diimplement
2specify claude-update --feature product-review
3
4# Output:
5# 🔄 Analyzing implementation...
6# ✓ Found 8 new files
7# ✓ Detected 3 new patterns
8# ✓ Found 2 new domain entities
9# ✓ Identified 1 interface change
10#
11# Generating CLAUDE.md update suggestions...
12#
13# Suggested additions to CLAUDE.md:
14#
15# [1] New domain: Review
16# Add to "Domain Model" section
17# [2] New pattern: Atomic read-modify-write for counters
18# Add to "Patterns" section
19# [3] New dependency: pgx advisory locks
20# Add to "Database" section
21#
22# Apply all? [y/n/select]: yPerhatikan bahwa Spec Kit tidak langsung menimpa file — ia menyajikan suggestion yang bisa kamu terima seluruhnya, tolak, atau pilih sebagian, sehingga kontrol akhir tetap di tangan developer.
14.4 Contoh CLAUDE.md Sebelum dan Sesudah
Perbandingan sebelum-sesudah adalah cara terbaik memahami nilai update ini. Blok berikut menunjukkan kondisi CLAUDE.md setelah Topik 1, saat baru berisi model domain dasar.
1# CLAUDE.md — Santekno Shop
2
3## Domain Model
4- Order: status (PENDING → CONFIRMED → SHIPPED → DELIVERED → CANCELLED)
5- Product: catalog items dengan stock management
6- User: customer dengan auth JWT
7
8## Patterns
9- Repository pattern dengan interface di domain layer
10- Clean Architecture: handler → usecase → repository → domain
11
12## Database
13- pgx/v5 untuk PostgreSQL
14- UUID untuk semua primary keys
15- int64 cents untuk monetary valuesVersi awal ini ringkas tapi generik. Setelah menjalankan specify claude-update --feature product-review, dokumen berkembang dengan detail spesifik seperti berikut.
1# CLAUDE.md — Santekno Shop
2
3## Domain Model
4- Order: status (PENDING → CONFIRMED → SHIPPED → DELIVERED → CANCELLED)
5- Product: catalog items dengan stock management + **AverageRating, TotalReviewCount** (added: SHOP-789)
6- User: customer dengan auth JWT
7- **Review**: rating (1-5) + content + soft delete + purchase verification (added: SHOP-789)
8 - Status: PUBLISHED | DELETED
9 - Constraint: satu customer, satu review, per product (unique index)
10
11## Patterns
12- Repository pattern dengan interface di domain layer
13- Clean Architecture: handler → usecase → repository → domain
14- **Atomic counter update pattern**: UPDATE aggregate (AverageRating) dalam TX yang sama dengan INSERT entity
15 Contoh: CreateReview + UPDATE products.average_rating dalam satu pgx.Tx
16 Reference: internal/repository/postgres/review_repository.go CancelWithStockRestore
17- **Admin-only operation pattern**: usecase cek `input.RequestingUserRole == "admin"`
18 Return ErrForbidden jika bukan admin → handler return 403
19
20## Database
21- pgx/v5 untuk PostgreSQL
22- UUID untuk semua primary keys
23- int64 cents untuk monetary values
24- **Soft delete pattern**: `deleted_at TIMESTAMPTZ, deleted_by UUID`
25 Jangan gunakan `is_deleted boolean` (inkonsisten)
26- **Unique constraint dengan partial index**: `WHERE deleted_at IS NULL`
27 Ini memungkinkan re-create setelah soft delete
28
29## Implemented Features
30- Cancel Order (SHOP-456): atomic cancellation + stock restore
31- **Product Review (SHOP-789)**: review dan rating sistem
32 - Spec: .specify/features/product-review/spec.md
33 - Pattern: atomic counter, admin-only delete, purchase verificationPerhatikan bagaimana specify claude-update menambahkan informasi yang spesifik dan actionable — bukan hanya “ada domain Review” tapi bagaimana menggunakannya dengan benar, lengkap dengan referensi file dan anti-pattern yang harus dihindari.
14.5 Konfigurasi Auto-Update
Perilaku update bisa dikendalikan lewat konfigurasi. Blok YAML berikut menentukan section mana yang dikelola Spec Kit, mana yang dilindungi, hingga format entri fitur.
1# .speckit-config.yaml
2
3claude_md:
4 # File CLAUDE.md (bisa custom path)
5 file: CLAUDE.md
6
7 # Auto-run claude-update setelah setiap implement
8 auto_update_on_implement: false # true untuk otomatis, false untuk manual trigger
9
10 # Section di CLAUDE.md yang di-manage Spec Kit
11 managed_sections:
12 - "Domain Model"
13 - "Patterns"
14 - "Database"
15 - "Implemented Features"
16
17 # Section yang tidak boleh di-touch oleh Spec Kit (manual saja)
18 protected_sections:
19 - "Project Overview"
20 - "Development Setup"
21 - "Architecture Decision Records"
22
23 # Format untuk "Implemented Features" section
24 feature_format: |
25 - **{feature_name}** ({ticket}): {one_line_description}
26 - Spec: {spec_path}
27 - Key patterns: {key_patterns}
28
29 # Tambahkan "Added: {ticket}" annotation ke setiap perubahan
30 annotate_with_ticket: truePemisahan managed_sections dan protected_sections adalah inti dari konfigurasi ini: bagian yang butuh narasi manusia tetap aman, sementara bagian yang bersifat faktual di-update otomatis tanpa risiko menimpa tulisan penting.
14.6 Selective Update: Pilih Section yang Di-update
Kadang kamu hanya ingin memperbarui sebagian dokumen atau melihat preview lebih dulu. Perintah berikut membatasi update ke section tertentu dan menampilkan dry-run sebelum apply.
1# Update hanya section tertentu
2specify claude-update --feature product-review \
3 --sections "Domain Model,Patterns"
4
5# Preview tanpa apply
6specify claude-update --feature product-review --dry-run
7
8# Output preview:
9# === Proposed CLAUDE.md changes ===
10#
11# Section: Domain Model
12# + Review: rating (1-5) + content + soft delete
13# + Product: added AverageRating, TotalReviewCount
14#
15# Section: Patterns
16# + Atomic counter update pattern (example: review rating)
17# + Admin-only operation pattern
18#
19# === End of preview ===
20# Apply these changes? [y/n]:Dengan --dry-run, kamu bisa mereview persis apa yang akan ditambahkan sebelum menyentuh file — kebiasaan yang wajib mengingat suggestion AI kadang terlalu verbose atau terlalu spesifik.
14.7 Constitution Sync: Spec Kit → CLAUDE.md
constitution.md dan CLAUDE.md harus konsisten satu sama lain. Perintah claude-sync berikut membandingkan keduanya dan menawarkan arah sinkronisasi saat ada perbedaan.
1specify claude-sync
2
3# Output:
4# Comparing constitution.md with CLAUDE.md...
5#
6# Found in constitution.md but NOT in CLAUDE.md:
7# - "Monetary values: int64 cents, never float64"
8# - "All SQL queries: explicit timeout via context"
9#
10# Found in CLAUDE.md but NOT reflected in constitution.md:
11# - "Use pgx advisory locks for distributed locking"
12#
13# Sync direction?
14# [1] Add constitution items to CLAUDE.md
15# [2] Add CLAUDE.md items to constitution.md
16# [3] Both
17# [4] Manual — show diffs onlyMenariknya, sinkronisasi bisa dua arah: prinsip yang ditemukan di kode (advisory locks) bahkan bisa diangkat kembali ke konstitusi — memastikan aturan resmi proyek mencerminkan praktik nyata, bukan hanya sebaliknya.
14.8 CLAUDE.md Drift Detection
Sebelum memutuskan untuk update, kamu bisa mengukur seberapa parah drift yang terjadi. Perintah audit berikut menganalisis selisih antara kondisi CLAUDE.md dan fitur yang sudah merge.
1# Deteksi CLAUDE.md drift setelah banyak fitur merge
2specify audit --claude-drift
3
4# Output:
5# CLAUDE.md Drift Analysis
6#
7# Last CLAUDE.md update: 2025-06-01 (31 days ago)
8# Features merged since then: 4 features
9#
10# Potentially outdated sections:
11#
12# HIGH: Domain Model
13# - Review domain added (SHOP-789) but not in CLAUDE.md
14# - Product entity changed (2 new fields)
15#
16# MEDIUM: Patterns
17# - Atomic counter pattern used 3 times but not documented
18#
19# LOW: Database
20# - 2 new partial indexes not mentioned
21#
22# Recommendation: Run 'specify claude-update --all-features' to catch upLaporan drift dengan level HIGH/MEDIUM/LOW ini memberi prioritas jelas: kamu tahu persis section mana yang paling mendesak diperbarui alih-alih menebak-nebak sendiri.
14.9 Batch Update: Catch Up Setelah Banyak Feature
Untuk proyek yang sudah lama tidak di-update, mengejar satu per satu tidak praktis. Perintah batch berikut memperbarui CLAUDE.md dari banyak fitur sekaligus.
1# Update CLAUDE.md dari semua feature yang belum di-update
2specify claude-update --all-features --since "2025-06-01"
3
4# Atau dari feature list tertentu
5specify claude-update --features "product-review,cancel-order,flash-sale"
6
7# Ini berguna untuk:
8# - Onboarding proyek yang belum pakai Spec Kit dari awal
9# - Catch up setelah sprint yang banyak fiturnyaBatch update sangat berguna saat mengadopsi Spec Kit di proyek yang sudah berjalan — satu perintah bisa merekonstruksi konteks dari banyak fitur historis tanpa harus mengetik ulang manual.
14.10 CLAUDE.md sebagai Living Document
Dengan update rutin, CLAUDE.md berevolusi menjadi living document. Perintah berikut memperlihatkan bagaimana dokumen tumbuh dari waktu ke waktu tapi tetap terstruktur.
1# 3 bulan setelah setup
2cat CLAUDE.md | wc -l
3# 847 lines (dari 120 lines di awal)
4
5# Tapi tidak kehilangan struktur:
6grep "^## " CLAUDE.md
7# ## Project Overview
8# ## Domain Model
9# ## Patterns (12 patterns documented)
10# ## Database
11# ## Implemented Features (8 features)
12# ## Testing Guidelines
13# ## Error Handling
14# ## Performance Considerations
15# ## Architecture Decision RecordsMeski jumlah baris bertambah tujuh kali lipat, kerangka section-nya tetap sama — pertumbuhan yang terkelola inilah yang membedakan living document dari file yang sekadar membengkak tak terkendali.
14.11 Versioning CLAUDE.md
Karena CLAUDE.md di-commit setelah setiap update, git menyimpan evolusinya. Perintah berikut menelusuri riwayat perubahan file tersebut per fitur.
1# CLAUDE.md di-commit setelah setiap update
2git log --oneline CLAUDE.md
3
4# Expected:
5# abc1234 docs: update CLAUDE.md — add product review patterns
6# def5678 docs: update CLAUDE.md — add cancel order patterns
7# ghi9012 docs: initial CLAUDE.md from Topik 1
8
9# Lihat perubahan per feature
10git diff abc1234 ghi9012 -- CLAUDE.mdGit history CLAUDE.md menjadi sejarah evolusi arsitektur proyek — kamu bisa menelusuri kapan sebuah pattern diperkenalkan dan fitur mana yang membawanya masuk.
14.12 Multi-Developer CLAUDE.md Updates
Saat banyak developer sama-sama mengupdate CLAUDE.md, konflik merge bisa terjadi. Alur berikut menunjukkan skenario konflik dan cara meresolvenya.
1# Developer A: merge feature/SHOP-789-product-review
2# Developer B: merge feature/SHOP-790-shipping-calculator
3# Keduanya update Domain Model section
4
5# Conflict di CLAUDE.md saat salah satu merge:
6git merge feature/SHOP-790-shipping-calculator
7# CONFLICT: CLAUDE.md — Domain Model section
8
9# Resolve: tambahkan keduanya
10git checkout --merge CLAUDE.md # buka conflict markers
11# Tambahkan keduanya ke Domain Model section
12# Commit merge resolutionKonflik seperti ini hampir selalu berupa penambahan (bukan perubahan yang bertabrakan), sehingga resolusinya biasanya cukup dengan mempertahankan kedua entri. Untuk mencegahnya sama sekali, konfigurasi berikut memecah section per domain.
1# .speckit-config.yaml
2claude_md:
3 # Gunakan section yang spesifik per domain (mencegah conflict)
4 domain_sections: true
5 # CLAUDE.md akan punya section "## Domain: Review", "## Domain: Order" dstDengan domain_sections, setiap domain punya section terpisah sehingga dua developer yang mengerjakan domain berbeda tidak akan pernah menyentuh baris yang sama — konflik merge nyaris hilang total.
14.13 AI-Assisted CLAUDE.md Review
Setelah update otomatis, langkah bijak adalah meminta Claude sendiri mereview hasilnya. Prompt berikut meminta AI mengevaluasi kualitas CLAUDE.md tanpa mengubahnya.
1claude
2
3> Baca CLAUDE.md yang terbaru. Apakah ada:
4 1. Informasi yang kontradiktif?
5 2. Pattern yang tidak konsisten dengan yang lain?
6 3. Section yang terlalu panjang dan bisa di-summarize?
7 4. Informasi yang penting tapi belum ada?
8
9 Jangan buat perubahan, hanya berikan feedback.Menjadikan AI sebagai reviewer (bukan editor) di tahap ini menangkap kontradiksi dan redundansi yang mudah terlewat mata manusia — sambil tetap menjaga developer sebagai pengambil keputusan akhir.
14.14 Template CLAUDE.md yang Optimal
Agar auto-update bekerja mulus, struktur CLAUDE.md perlu dirancang sejak awal. Template berikut menandai dengan jelas section yang di-manage Spec Kit dan yang manual.
1# CLAUDE.md — Santekno Shop
2# Last updated: [auto-filled by Spec Kit]
3# Version: [auto-incremented]
4
5## Project Overview
6[Manual — protected from Spec Kit edits]
7
8## Domain Model
9[Managed by Spec Kit — DO NOT EDIT MANUALLY]
10[Updated via: specify claude-update]
11
12## API Contracts
13[Managed by Spec Kit — DO NOT EDIT MANUALLY]
14
15## Patterns & Conventions
16[Managed by Spec Kit — partially manual]
17
18## Database Schema
19[Managed by Spec Kit — partially manual]
20
21## Testing Guidelines
22[Manual — protected from Spec Kit edits]
23
24## Architecture Decision Records (ADRs)
25[Manual — protected from Spec Kit edits]
26
27## Implemented Features
28[Fully managed by Spec Kit — DO NOT EDIT MANUALLY]Anotasi eksplisit “Managed” versus “Manual” di setiap heading berfungsi sebagai kontrak visual — baik developer maupun Spec Kit tahu persis batas wilayah masing-masing, mencegah override yang tidak disengaja.
14.15 Spec Kit Update vs Manual Update: Kapan Yang Mana
Tidak semua bagian CLAUDE.md cocok di-update otomatis. Panduan berikut memetakan kapan menggunakan Spec Kit dan kapan harus menulis manual.
Gunakan specify claude-update (Spec Kit):
- Setelah setiap feature implementation selesai
- Untuk update domain model, pattern, dan implemented features list
- Untuk informasi yang extracted dari spec + plan
Update manual:
- ADR (Architecture Decision Records) — butuh narrative dan reasoning
- Testing guidelines yang bersifat strategis
- Project overview yang bersifat business context
- Setup instructions (environment, tools)
Jangan update manual section “Managed” di CLAUDE.md:
- Akan di-override saat
specify claude-updateberikutnya - Ubah di spec/plan jika ada yang perlu ditambahkan, bukan di CLAUDE.md langsung
Aturan pembagian ini berangkat dari satu prinsip: informasi faktual yang bisa diekstrak dari kode diserahkan ke Spec Kit, sedangkan narasi dan reasoning yang butuh penilaian manusia tetap ditulis tangan.
14.16 Integration dengan Claude Code Session
Update CLAUDE.md paling efektif jika dijadikan ritual di awal setiap sesi. Langkah-langkah berikut menggabungkan drift check, catch-up, commit, dan mulai sesi Claude Code.
1# 1. Cek apakah ada update CLAUDE.md yang perlu dilakukan
2specify audit --claude-drift
3
4# 2. Jika ada drift:
5specify claude-update --all-features
6
7# 3. Commit update
8git add CLAUDE.md
9git commit -m "docs: update CLAUDE.md with recent feature patterns"
10
11# 4. Baru mulai Claude Code session
12claude
13
14> Baca CLAUDE.md sebelum mulai. Konfirmasi pemahaman kamu tentang state proyek saat ini.Menjadikan drift check sebagai langkah pertama setiap sesi memastikan Claude Code selalu berangkat dari konteks terkini — investasi satu menit yang mencegah berjam-jam koreksi kode yang mengikuti pattern usang.
14.17 Measuring CLAUDE.md Health
Selain drift, Spec Kit bisa mengukur kesehatan CLAUDE.md secara menyeluruh. Perintah berikut menghasilkan skor kelengkapan, kesegaran, dan konsistensi.
1# Metrics untuk CLAUDE.md health
2specify claude-health
3
4# Output:
5# CLAUDE.md Health Report
6#
7# Completeness:
8# ✅ Domain Model: 100% (7/7 domains documented)
9# ✅ Patterns: 92% (12/13 patterns in code documented)
10# ⚠️ Database: 78% (7/9 patterns documented)
11# ✅ Features: 100% (8/8 features documented)
12#
13# Freshness:
14# Last update: 2025-07-02 (2 days ago)
15# Features since last update: 0
16# Overall freshness: ✅ CURRENT
17#
18# Consistency with constitution.md:
19# ✅ No conflicts found
20#
21# CLAUDE.md health score: 94/100 (Excellent)Skor kuantitatif seperti ini mengubah “apakah CLAUDE.md kita masih bagus?” dari pertanyaan subjektif menjadi metrik yang bisa dipantau — dan dijadikan gate di CI seperti akan kita lihat nanti.
14.18 Tips & Gotchas
Sebelum masuk ke otomasi CI, ada beberapa tips dan jebakan praktis yang perlu diperhatikan agar CLAUDE.md tetap efektif.
💡 Tip 1: Run specify claude-update sebelum mulai sesi baru
Sebelum buka Claude Code untuk fitur berikutnya, pastikan CLAUDE.md sudah ter-update dari fitur sebelumnya.
💡 Tip 2: Tambahkan specify claude-update ke PR merge checklist
1## PR Merge Checklist
2- [ ] CI passes
3- [ ] Code review approved
4- [ ] Spec compliance verified
5- [ ] **CLAUDE.md updated**: `specify claude-update --feature [feature-name]`Menyisipkan update CLAUDE.md ke checklist merge menjadikannya kebiasaan tim, bukan sekadar niat baik yang mudah terlupa.
💡 Tip 3: Review auto-update sebelum commit — specify claude-update menggunakan AI untuk generate update suggestions. Review sebelum commit, kadang ada yang terlalu verbose atau terlalu spesifik.
💡 Tip 4: Jaga CLAUDE.md di bawah 1000 baris — CLAUDE.md yang terlalu panjang mengurangi efektivitasnya karena Claude hanya membaca sebagian dari context window. Jika sudah > 1000 baris, pertimbangkan untuk split menjadi beberapa file (CLAUDE.md, CLAUDE-patterns.md, CLAUDE-database.md).
⚠️ Gotcha 1: Auto-update bisa verbose — jika auto_update_on_implement: true, CLAUDE.md bisa tumbuh terlalu cepat. Pertimbangkan manual trigger saja.
⚠️ Gotcha 2: AI-generated updates bisa salah — specify claude-update menggunakan AI untuk ekstrak pattern dari kode. Kadang pattern yang di-ekstrak tidak akurat atau terlalu spesifik. Selalu review.
⚠️ Gotcha 3: Protected sections bisa di-override jika tidak dikonfigurasi — pastikan protected_sections dikonfigurasi dengan benar untuk section yang tidak boleh di-update otomatis.
⚠️ Gotcha 4: CLAUDE.md terlalu panjang mengurangi efektivitas AI — context window Claude terbatas. CLAUDE.md 500 baris lebih efektif daripada 2000 baris. Prune secara berkala.
Benang merah dari semua tips di atas: otomasi menghemat waktu, tapi review manusia tetap wajib — dan menjaga file tetap ringkas sama pentingnya dengan menjaganya tetap akurat.
14.19 Automated CLAUDE.md Review via CI
Enforcement terkuat datang dari otomasi terjadwal. Workflow berikut menjalankan health check CLAUDE.md setiap Senin dan membuat issue jika kesehatannya menurun.
1# .github/workflows/claude-md-health.yml
2name: CLAUDE.md Health Check
3
4on:
5 schedule:
6 - cron: '0 9 * * MON' # Setiap Senin pagi
7 workflow_dispatch:
8
9jobs:
10 claude-health:
11 runs-on: ubuntu-latest
12 steps:
13 - uses: actions/checkout@v4
14 - name: Install Spec Kit
15 run: npm install -g @github/spec-kit
16 - name: Check CLAUDE.md health
17 env:
18 ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
19 run: |
20 specify claude-health --output github-summary
21 specify audit --claude-drift --output github-summary
22 - name: Create issue if health < 80
23 if: failure()
24 run: |
25 gh issue create --title "CLAUDE.md needs update" \
26 --body "$(specify claude-health --output markdown)"Dengan cron mingguan ini, drift tidak akan diam-diam menumpuk berbulan-bulan — sistem sendiri yang mengingatkan tim lewat issue otomatis begitu kesehatan CLAUDE.md turun di bawah ambang.
14.20 Ringkasan
CLAUDE.md drift adalah silent killer dalam SDD jangka panjang — AI yang bekerja dengan konteks yang outdated menghasilkan kode yang tidak konsisten dan pattern yang sudah usang.
specify claude-update menyelesaikan masalah ini dengan mengekstrak pattern, domain model update, dan keputusan arsitektur dari setiap feature implementation dan menyarankan update ke CLAUDE.md yang relevan.
Living document mindset: CLAUDE.md bukan dokumen yang ditulis sekali — ini adalah representasi hidup dari state proyek yang perlu di-update setiap kali fitur baru selesai diimplementasikan.
Konfigurasi yang tepat menentukan section mana yang di-manage Spec Kit dan mana yang manual — mencegah override yang tidak disengaja.
Di artikel berikutnya, kita bahas debugging workflow — apa yang harus dilakukan ketika Claude Code tidak mengikuti instruksi spec, dan bagaimana Spec Kit membantu mendeteksi dan memperbaiki deviation.