# CLAUDE.md

Bu dosya, bu depoda çalışırken Claude Code (claude.ai/code) için rehberlik sağlar.

## Proje Genel Bakış

Fikatia V2024, CATIA CAD yazılımı için Python tabanlı bir otomasyon çerçevesidir. İmalat süreç otomasyonu, takım yönetimi ve CNC işleme operasyonlarına odaklanır.

## Geliştirme Ortamı

### Python Sürümleri
- Desteklenen: 3.6, 3.8, 3.9, 3.11, 3.12
- Önerilen: Python 3.12.2 (projede gömülü)

### Temel Bağımlılıklar
- pywin32
- simplejson
- numpy
- psutil
- pillow
- PyQt6
- Flet

## Geliştirme Komutları

### Test Etme
```bash
# Ana test paketini çalıştır
python __test__.py

# Belirli bir test modülünü çalıştır
python -m pytest Test\ Files/__specific_test__.py
```

### Derleme ve Doğrulama
```bash
# Açık bir derleme süreci yok - Python'un yerleşik derlemesini kullanır
python -m compileall .

# Dağıtım için .pyc dosyaları oluştur
python -m py_compile Core\ Module\ Files/*.py
```

## Temel Geliştirme Notları

### Mimari
- COM Nesne Sarmalama Deseni: Windows/CATIA entegrasyonunu basitleştirir
- Türkçe adlandırılmış arayüzlerle Hiyerarşik Nesne Modeli
- Dinamik Sinyal/Olay Sistemi
- Gelişmiş Tip Dönüştürme Araçları

### Kod Yapısı
- Temel Sınıflar: `IFikomObject`, `IFikoObject`
- Anahtar Modüller:
  - `Core Module Files/`: Temel arayüzler
  - `IAktiviteler/`: İmalat operasyonları
  - `FikoPost/`: Post-işleme sistemi
  - `IMfgTakim/`: Takım yönetimi
  - `IFikoSistem/`: Sistem yapılandırması

### Hata Ayıklama
- `.vscode/launch.json` içindeki VSCode başlatma yapılandırmalarını kullan
- `justMyCode = true` ile Python modüllerinde hata ayıklama odaklı

### Performans Düşünceleri
- COM nesnelerinin tembel yüklenmesi
- İş parçacığı güvenli marshalling
- Gömülü performans ölçüm dekratörleri

## Katkıda Bulunma Yönergeleri

### İsimlendirme Kuralları
- Kullanıcıya açık sınıflar/özellikler için Türkçe isimler kullan
- COM nesne sarmalama desenlerini koru
- Tip dönüştürme ve marshalling mantığını koru

### Test Etme
- Testleri `Test Files/` dizinine ekle
- Pytest uyumlu yapı kullan
- Kenar durum ve COM nesne etkileşim testlerini dahil et