# Prompts Summary

Полная сводка всех промптов в системе diffray.

## 📊 Статистика

- **Всего промптов**: 7
- **Автоматических**: 1 (`output-format.md`)
- **Специализированных**: 6
- **Документация**: 2 файла (README.md, INDEX.md)
- **Общий размер**: ~35KB
- **Строк кода**: ~1012

## 🔄 Автоматические промпты

### `output-format.md` ⚙️
**Статус**: Автоматически добавляется ко всем агентам  
**Размер**: 2.3KB  
**Использование**: Через `loadOutputFormat()` в `executors/utils.ts`

```typescript
// Автоматически добавляется к каждому агенту
const format = await loadOutputFormat();
const fullPrompt = buildPrompt(systemPrompt, input, format);
```

**Содержит**:
- JSON структуру вывода
- Описание полей (file, lineStart, lineEnd, severity, category)
- Критические требования к формату
- Примеры правильного вывода

---

## ✅ Специализированные промпты

### 1. `validation.md` 
**Статус**: Используется агентом валидации  
**Размер**: 6.7KB  
**Агент**: `validation.md` в `src/defaults/agents/`

**Назначение**: Фильтрация ложных срабатываний и валидация найденных проблем

**Ключевые разделы**:
- Процесс верификации (обязательное использование Read tool)
- Критерии сохранения (реальные, проверенные проблемы)
- Критерии фильтрации (ложные срабатывания, шум, спекуляции)
- Распознавание намеренных trade-offs
- Примеры паттернов фильтрации

---

### 2. `i18n.md` 🌍
**Статус**: Используется агентом i18n  
**Размер**: 2.8KB  
**Агент**: `i18n.md` в `src/defaults/agents/`

**Назначение**: Проверка интернационализации кода

**Фокус**:
- Hardcoded строки
- Отсутствующие ключи переводов
- Проблемы с форматами локалей (даты, числа, валюта)
- Поддержка RTL (справа налево)
- Проблемы конкатенации строк
- Проблемы файлов переводов

**Примеры проблем**:
```typescript
// ❌ Плохо
<button>Submit</button>

// ✅ Хорошо
<button>{t('submit')}</button>
```

---

### 3. `database.md` 🗄️
**Статус**: Используется агентом database  
**Размер**: 3.3KB  
**Агент**: `database.md` в `src/defaults/agents/`

**Назначение**: Проверка работы с базами данных и ORM

**Фокус**:
- N+1 проблемы запросов
- Отсутствующие индексы
- Проблемы миграций
- Производительность запросов
- Риски deadlock
- Целостность данных
- ORM-специфичные проблемы

**Примеры проблем**:
```typescript
// ❌ Плохо - N+1 запросы
users.forEach(user => {
  const posts = db.query('SELECT * FROM posts WHERE user_id = ?', [user.id])
})

// ✅ Хорошо - Один запрос с JOIN
const usersWithPosts = db.query('SELECT * FROM users JOIN posts ON users.id = posts.user_id')
```

---

### 4. `api-design.md` 🔌
**Статус**: Используется агентом api-design  
**Размер**: 3.6KB  
**Агент**: `api-design.md` в `src/defaults/agents/`

**Назначение**: Проверка дизайна REST/GraphQL API

**Фокус**:
- Неправильное использование HTTP методов
- Соглашения по именованию
- Форматы ответов об ошибках
- Пагинация
- Версионирование
- Дизайн запросов/ответов
- Rate limiting и безопасность
- GraphQL-специфичные проблемы

**Примеры проблем**:
```typescript
// ❌ Плохо - POST для чтения
POST /api/getUsers

// ✅ Хорошо - GET для чтения
GET /api/users
```

---

### 5. `observability.md` 📊
**Статус**: Используется агентом observability  
**Размер**: 3.8KB  
**Агент**: `observability.md` в `src/defaults/agents/`

**Назначение**: Проверка логирования, мониторинга и отслеживания ошибок

**Фокус**:
- Отсутствующее логирование
- Неструктурированное логирование
- Отсутствующий контекст (request_id, trace_id)
- Отслеживание ошибок
- Метрики и мониторинг
- Безопасность и приватность в логах
- Распределенный трейсинг

**Примеры проблем**:
```typescript
// ❌ Плохо - Тихая обработка ошибок
try {
  await processPayment()
} catch (error) {
  // Ничего не логируется!
}

// ✅ Хорошо - Логирование с контекстом
try {
  await processPayment()
} catch (error) {
  logger.error('Payment processing failed', {
    error,
    request_id: ctx.requestId,
    user_id: ctx.userId
  })
}
```

---

### 6. `data-privacy.md` 🔒
**Статус**: Используется агентом data-privacy  
**Размер**: 4.4KB  
**Агент**: `data-privacy.md` в `src/defaults/agents/`

**Назначение**: Проверка обработки персональных данных и соответствия GDPR

**Фокус**:
- Раскрытие PII
- Отсутствующие проверки согласия
- Хранение данных
- Шифрование и хранение
- Доступ к данным и портируемость
- Обмен данными с третьими лицами
- Минимизация данных

**Примеры проблем**:
```typescript
// ❌ Плохо - PII в логах без маскировки
logger.info('User signed up', { email: user.email })

// ✅ Хорошо - Email замаскирован
logger.info('User signed up', { 
  email: maskEmail(user.email),
  user_id: user.id 
})
```

---

## 📚 Документация

### `README.md` (4.2KB)
Полная документация по использованию промптов:
- Описание всех промптов
- Инструкции по использованию
- Примеры создания новых промптов
- Best practices

### `INDEX.md` (3.8KB)
Быстрая справка по всем промптам:
- Краткое описание каждого промпта
- Статистика по строкам
- Паттерны использования
- Связанная документация

---

## 🔗 Связи промптов и агентов

| Промпт | Агент | Статус |
|--------|-------|--------|
| `output-format.md` | Все агенты | Автоматически |
| `validation.md` | `validation` | Используется |
| `i18n.md` | `i18n` | Используется |
| `database.md` | `database` | Используется |
| `api-design.md` | `api-design` | Используется |
| `observability.md` | `observability` | Используется |
| `data-privacy.md` | `data-privacy` | Используется |

---

## 🚀 Использование

### Автоматическое включение
`output-format.md` автоматически добавляется ко всем агентам через `loadOutputFormat()`.

### Ручное включение
Агенты могут ссылаться на специализированные промпты в своих markdown файлах:

```markdown
---
name: my-agent
---

You are a database reviewer.

See ../prompts/database.md for detailed guidelines.
```

---

## 📝 Создание новых промптов

1. Создайте файл в `src/defaults/prompts/`
2. Добавьте структуру:
   - Mission statement
   - Focus areas
   - Quality standards
   - Instructions
   - Examples
3. Создайте соответствующий агент в `src/defaults/agents/`
4. Обновите документацию (README.md, INDEX.md)

---

## 📖 Связанные файлы

- **Агенты**: `src/defaults/agents/`
- **Загрузка промптов**: `src/executors/utils.ts`
- **Документация агентов**: `docs/AGENTS.md`
- **Архитектура**: `docs/ARCHITECTURE.md`
