---
name: synapse-notes
description: Quartz 4 tabanlı Synapse kişisel wiki'si için not yönetimi. Yeni notlar oluşturur, mevcut notlar arasında wikilink/backlink bağlantıları kurar, not yapısını düzenler, index günceller. Kullanıcı "not oluştur", "not ekle", "wikilink kur", "backlink ekle", "Synapse'e ekle", "içeriği güncelle", "notları düzenle" veya Synapse/Quartz içeriğiyle ilgili herhangi bir şey söylediğinde bu skill'i kullan.
---

# Synapse Notes Skill

Quartz 4 tabanlı Synapse wiki'si için not oluşturma, düzenleme ve bağlantı yönetimi.

## Dizin yapısı

```
~/Synapse/content/
├── index.md
├── sistem/ ELLEME
├── konular/
├── projeler/
├── gunluk/
```

İçerik her zaman `~/Synapse/content/` altında olur. Kullanıcı farklı bir yol belirtmedikçe bu yapıya uy.

## Frontmatter standardı

Her `.md` dosyası şu frontmatter ile başlar:

```yaml
---
title: Başlık
date: YYYY-MM-DD
tags:
  - tag1
  - tag2
draft: false
---
```

- `title` her zaman olmalı
- `date` bugünün tarihi (oluşturulurken), güncellemede değiştirilmez
- `tags` küçük harf, Türkçe kabul edilir
- `draft: false` varsayılan; yayınlanmaması istenilenler `true`

## Wikilink kuralları

Quartz `[[dosyaadi]]` ve `[[dosyaadi|Görünen Ad]]` syntax'ını destekler.

- Klasör dahil yol: `[[konular/linux|Linux notları]]`
- Aynı klasördeyse sadece dosya adı: `[[linux]]`
- Anchor: `[[linux#Araçlar]]`

**Backlink otomatiktir** — Quartz her sayfanın altında o sayfaya link veren sayfaları gösterir. Bunun için iki yönde link eklemeye gerek yok ama bağlantılı notlarda her iki taraftan da link olması içeriği zenginleştirir.

## Operasyonlar

### 1. Yeni not oluştur

```bash
# Klasör yoksa oluştur
mkdir -p ~/Synapse/content/<klasör>

# Dosyayı oluştur
cat > ~/Synapse/content/<klasör>/<dosya>.md << 'EOF'
---
title: <Başlık>
date: <YYYY-MM-DD>
tags:
  - <tag>
draft: false
---

<İçerik>
EOF
```

Notun içeriğini kullanıcının isteğine göre doldur. Boş iskelet bırakma.

### 2. Mevcut notlara wikilink ekle

İlgili notları bul ve birbirine bağla:

```bash
# Hangi notların var olduğunu gör
find ~/Synapse/content -name "*.md" | sort

# Bir notun içeriğini oku
cat ~/Synapse/content/<dosya>.md
```

Sonra `str_replace` ile ilgili bölümlere wikilink ekle. Linkleri doğal cümle içine göm, liste halinde "Bağlantılı sayfalar:" bölümü oluşturmaktan kaçın — ama sayfanın sonuna küçük bir `## İlgili` bölümü eklenebilir.


### 4. Mevcut notu güncelle

```bash
cat ~/Synapse/content/<dosya>.md
```

İçeriği oku, sonra `str_replace` ile güncelle. `date` frontmatter'ını değiştirme.

### 5. Birden fazla notu tara ve bağla

```bash
# Tüm notları listele
find ~/Synapse/content -name "*.md" -not -name "index.md" | sort

# Her notun başlığını çek
grep -r "^title:" ~/Synapse/content --include="*.md"
```

Notları okuyup içerik benzerliğine göre wikilink öner ve ekle.

## Yazım kuralları

- Dil kullanıcının diline uyar (Türkçe konuşuyorsa Türkçe yaz)
- Başlıklar `##` ile başlar, `#` sadece sayfa başlığı için (frontmatter title'dan geliyor)
- Kod blokları için uygun dil etiketi: ` ```bash `, ` ```python ` vb.
- Callout kullanılabilir (Quartz destekler):
  ```md
  > [!note]
  > Bu bir not callout'u
  
  > [!warning]
  > Dikkat gerektiren bilgi
  ```

## Sync

Değişiklikler bittikten sonra kullanıcıya şunu hatırlat:

```bash
cd ~/Synapse && npx quartz sync
```

Bu komutu otomatik çalıştırma — kullanıcı onayladıktan sonra çalıştır veya kullanıcıya bırak.

## Önemli kurallar

1. Dosya adları küçük harf, boşuk yerine tire: `linux-notlari.md`
2. Türkçe karakter dosya adında kullanma (`ı`, `ş`, `ğ` vb.) — URL sorunlarına yol açar
3. `draft: true` olan dosyaları düzenlerken bunu koru, değiştirme
4. `~/Synapse/content/` dışına dosya oluşturma
5. `quartz/` klasörüne asla dokunma — core framework
6. Asla şuanki skill.md dosyasını elleme, silme, ismini değiştirme.
