name: reverse-document description: Generate design docs, ADRs, and concept docs from existing code by reverse engineering intent
Reverse Document
Koddan dokuman uret. "Bu sistem neden var?" sorusunu cevapla.
3 Mod
1. Design Mode (Koddan GDD/PRD)
Mevcut kodu analiz ederek tasarim dokumani uret.
Input: Kaynak kod dizini veya dosya Output: Product/Feature Design Document
Sablonlu cikti:
# [Feature/System Adi]
## Problem Statement
Bu sistem hangi problemi cozuyor?
## Solution Overview
Nasil cozuyor? (High-level mimari)
## Key Decisions
Neden bu yaklasim secildi? (Koddan cikarim)
## Components
- [Component 1]: Gorevi, bagimliliklari
- [Component 2]: Gorevi, bagimliliklari
## Data Flow
1. [Adim 1]
2. [Adim 2]
## Edge Cases & Error Handling
Kodda gorulmus ozel durumlar
## Limitations
Bilinen sinirlamalar (TODO/FIXME/HACK yorumlarindan)
2. Architecture Mode (Koddan ADR)
Mimari kararlari reverse engineer ederek ADR (Architecture Decision Record) uret.
Input: Kaynak kod, config dosyalari, dependency listesi Output: ADR dokumenti
Sablonlu cikti:
# ADR-[N]: [Karar Basligi]
## Status
Accepted (kodda uygulanmis)
## Context
Bu karar hangi kosullarda alinmis? (Koddan cikarim)
## Decision
Ne yapilmis? (Concrete implementation)
## Rationale
Neden? (Dependency secimleri, pattern kullanimi, config'den cikarim)
## Alternatives Considered
Kullanilmayan alternatifler (varsa yorum/TODO'lardan)
## Consequences
- Pozitif: [...]
- Negatif: [...]
- Riskler: [...]
3. Concept Mode (Prototypeden Concept Doc)
Erken asamadaki koddan konsept dokumani uret.
Input: Prototip/POC kodu Output: Concept Document
Sablonlu cikti:
# [Konsept Adi]
## One-Liner
Tek cumlelik aciklama
## Problem
Hangi problemi cozuyor?
## Proposed Solution
Prototipte denenmis yaklasim
## Key Insights
Prototipten ogrenilenler
## Open Questions
Henuz cevaplanmamis sorular
## Next Steps
Production'a tasimak icin gerekli adimlar
Intent Sorulari
Kodu okumadan ONCE su sorulari sor (veya koddan cikar):
- Neden var? Bu sistem/modul/fonksiyon hangi problemi cozuyor?
- Kim kullaniyor? Hedef kullanici/consumer kim?
- Alternatifler? Baska yaklasimlar dusunulmus mu? (Yorumlar, git history)
- Sinirlamalar? Bilinen kisitlamalar ne? (TODO, FIXME, HACK)
- Evrim? Zaman icinde nasil degismis? (git log --oneline)
Workflow
- Scan: Dosya yapisini, dependency'leri, config'leri tara
- Read: Ana dosyalari oku, entry point'ten basla
- Trace: Data flow'u takip et (input -> process -> output)
- Extract: Pattern'leri, kararlari, edge case'leri cikar
- Question: Intent sorularini cevapla (koddan veya kullanicidan)
- Write: Secilen mod sablonuna gore dokumani yaz
- Review: Kullaniciyla birlikte dogrula
Kurallar
- Spekuasyon yapma, kodda gordugun seyi yaz
- "Muhtemelen" yerine "Kodda goruldugu uzere" kullan
- Git history varsa kararlarin kronolojisini ekle
- TODO/FIXME/HACK yorumlarini "Limitations" bolumune ekle
- Kodda olmayan seyi dokumante etme