TypeScript-Rust-Compiler 0.2.5

High-performance TypeScript to Rust compiler
Documentation
# TypeScript to Rust Compiler (TypeScript-Rust-Compiler) - Cursor Rules

## 🎯 ЦЕЛЬ ПРОЕКТА
Создать высокопроизводительный компилятор TypeScript → Rust с полной поддержкой всех возможностей TypeScript, включая:
- Все типы данных и системы типов
- Классы, интерфейсы, дженерики
- Модули и импорты/экспорты
- Декораторы и метаданные
- Асинхронность (async/await)
- JSX/TSX поддержка
- Все продвинутые типы (conditional, mapped, template literals)

## 🚀 ПРИОРИТЕТЫ РАЗРАБОТКИ
1. **СКОРОСТЬ** - компиляция должна быть мгновенной
2. **ПОЛНОТА** - поддержка 100% возможностей TypeScript
3. **ПРОИЗВОДИТЕЛЬНОСТЬ** - генерируемый Rust код должен быть оптимальным
4. **СОВМЕСТИМОСТЬ** - полная обратная совместимость с существующими TS проектами

## 🏗️ АРХИТЕКТУРА
```
ts2rs/
├── src/
│   ├── lexer/          # Лексический анализ
│   ├── parser/         # Синтаксический анализ  
│   ├── ast/            # AST структуры
│   ├── semantic/       # Семантический анализ
│   ├── types/          # Система типов
│   ├── generator/      # Генерация Rust кода
│   ├── runtime/        # Runtime для TS семантики
│   └── cli/           # CLI интерфейс
├── tests/              # Тесты
├── examples/          # Примеры
└── docs/              # Документация
```

## 🔧 ТЕХНИЧЕСКИЙ СТЕК
- **Язык**: Rust (latest stable)
- **Парсинг**: nom (parser combinators)
- **Генерация**: quote + syn
- **CLI**: clap
- **Тестирование**: cargo test
- **Документация**: rustdoc

## 📋 ПРАВИЛА РАЗРАБОТКИ

### КОД
- **Стиль**: Следуй rustfmt стандартам
- **Документация**: Каждая публичная функция должна иметь rustdoc
- **Ошибки**: Используй thiserror для структурированных ошибок
- **Производительность**: Профилируй и оптимизируй критические пути
- **Безопасность**: Минимизируй unsafe код

### ТЕСТИРОВАНИЕ
- **Покрытие**: Минимум 90% покрытие тестами
- **Интеграционные тесты**: Для каждого TS фича
- **Бенчмарки**: Для производительности компилятора
- **Регрессионные тесты**: Против реальных TS проектов

### КОММИТЫ
- **Формат**: conventional commits
- **Сообщения**: На английском, краткие и понятные
- **Размер**: Атомарные коммиты, один фича за раз

### ПРОИЗВОДИТЕЛЬНОСТЬ
- **Компиляция**: < 1 секунда для проектов до 10k LOC
- **Память**: < 100MB для больших проектов
- **Генерация**: Оптимальный Rust код без лишних аллокаций

## 🎯 КЛЮЧЕВЫЕ ФИЧИ ДЛЯ ПОДДЕРЖКИ

### БАЗОВЫЕ ТИПЫ
- number → i32/i64/f32/f64
- string → String/&str
- boolean → bool
- null/undefined → Option<T>
- any → Box<dyn Any>
- unknown → Box<dyn Any>
- never → !
- void → ()

### ОБЪЕКТЫ И КЛАССЫ
- interfaces → traits + structs
- classes → structs + impl blocks
- inheritance → trait bounds
- abstract classes → trait definitions

### ДЖЕНЕРИКИ
- <T> → <T>
- extends → trait bounds
- keyof → associated types
- typeof → type inference

### МОДУЛИ
- import/export → use/mod
- namespace → mod
- ambient declarations → extern

### АСИНХРОННОСТЬ
- async/await → async/await
- Promise<T> → Future<Output = T>
- Promise.all → join!/try_join!

### ПРОДВИНУТЫЕ ТИПЫ
- Union types → enums
- Intersection types → trait bounds
- Conditional types → associated types
- Mapped types → generic implementations
- Template literals → const generics

## 🚫 ОГРАНИЧЕНИЯ И ПРЕДУПРЕЖДЕНИЯ

### НЕ ДЕЛАТЬ
- Не упрощай функциональность ради скорости
- Не игнорируй edge cases
- Не ломай семантику TypeScript
- Не генерируй небезопасный Rust код
- Не создавай runtime без необходимости

### ВНИМАНИЕ
- Некоторые TS фичи могут требовать runtime
- GC семантика может потребовать Rc/Arc
- Dynamic typing может потребовать trait objects
- Некоторые оптимизации могут быть невозможны

## 📊 МЕТРИКИ УСПЕХА
- **Скорость компиляции**: < 1s для 10k LOC
- **Покрытие TS фич**: 100%
- **Производительность генерируемого кода**: >= оригинального TS
- **Совместимость**: 100% с существующими проектами
- **Стабильность**: 0 критических багов

## 🔄 ИТЕРАЦИОННЫЙ ПОДХОД
1. **MVP**: Базовые типы + функции (1-2 недели)
2. **Расширение**: Классы + интерфейсы (1-2 недели)  
3. **Продвинутые**: Дженерики + модули (1-2 недели)
4. **Финализация**: Оптимизация + тестирование (1 неделя)

## 🎯 ФИНАЛЬНАЯ ЦЕЛЬ
Создать компилятор, который:
- Компилирует любой TypeScript код в Rust
- Генерирует идиоматичный и производительный Rust код
- Сохраняет всю семантику и функциональность TypeScript
- Работает быстрее существующих решений
- Поддерживает все современные TS фичи

**ВРЕМЯ НА РЕАЛИЗАЦИЮ: 4-6 НЕДЕЛЬ**
**СТАНДАРТ КАЧЕСТВА: ПРОДАКШН-РЕДИ**