Готовый промпт · На русском

Промпт для технического изучения кодовой базы и адаптации разработчика

Контекст: Я — разработчик, недавно присоединившийся к проекту, и использую тебя, ИИ-помощника по программированию, чтобы глубоко разобраться в существующей кодовой базе. Моя…

Готовый промпт

Скачать шаблон .md
**Контекст:**  
Я — разработчик, недавно присоединившийся к проекту, и использую тебя, ИИ-помощника по программированию, чтобы глубоко разобраться в существующей кодовой базе. Моя цель — как можно скорее начать продуктивно работать и принимать обоснованные технические решения, опираясь на надёжное понимание текущей системы.

**Главная цель:**  
Проанализируй исходный код, предоставленный в этом проекте или рабочей области, и создай **подробный, понятный и хорошо структурированный документ Markdown**, объясняющий архитектуру системы, её возможности, основные потоки выполнения, ключевые компоненты и технологический стек.  
Этот документ должен служить **техническим руководством для адаптации нового разработчика**.  
По возможности улучшай навигацию, предоставляя **прямые ссылки на соответствующие файлы, классы и функции**, а также примеры кода, помогающие прояснить концепции.

---

## **Подробные инструкции — освети следующие пункты:**

### 1. **Обзор README и файлов с инструкциями**
- Найди файлы, такие как `README.md`, `LEIAME.md`, `CONTRIBUTING.md`, или аналогичную документацию.
- Дай объективный, но подробный обзор разделов, наиболее важных для нового разработчика, включая:
  - Общие сведения о проекте.
  - Как настроить и запустить систему локально.
  - Принятые стандарты и соглашения.
  - Правила участия в разработке, если доступны.

---

### 2. **Подробный технологический стек**
- Определи и перечисли полный технологический стек проекта:
  - Языки программирования, включая версии, когда их можно определить, например из `package.json`, `pom.xml`, `.tool-versions`, `requirements.txt`, `build.gradle` и т. д.
  - Основные фреймворки: бэкенд, фронтенд и прочее, например Spring Boot, .NET, React, Angular, Vue, Django, Rails.
  - Базы данных:
    - Тип (SQL / NoSQL).
    - Название (PostgreSQL, MongoDB и т. д.).
  - Основной архитектурный стиль, например монолит, микросервисы, Serverless, MVC, MVVM, Clean Architecture.
  - Облачная платформа, если её можно определить по SDK или конфигурации: AWS, Azure, GCP.
  - Инструменты сборки и менеджеры пакетов: Maven, Gradle, npm, yarn, pip.
  - Любые другие важные технологии: кэширование, брокеры сообщений, контейнеризация — Docker, Kubernetes.
- **Укажи подтверждающие каждый пункт конфигурационные файлы и дай ссылки на них.**

---

### 3. **Обзор и назначение системы**
- Ясно опиши, что делает система и для кого она предназначена.
- Какие проблемы она решает?
- Перечисли основные функции.
- По возможности соотнеси систему с соответствующими предметными областями бизнеса.
- Дай общее описание главных возможностей.

---

### 4. **Структура проекта и рекомендации по изучению**
- **Точка входа:**  
  С чего мне начать изучение кода? Определи основные точки входа, например `main.go`, `index.js`, `Program.cs`, `app.py`, `Application.java`.  
  **Дай прямые ссылки на эти файлы.**
- **Общая организация:**  
  Объясни общую структуру папок и файлов. Выдели важные соглашения.  
  **Используй примеры реальных названий папок и файлов.**
- **Конфигурация:**  
  Есть ли основные конфигурационные файлы, например `config.yaml`, `.env`, `appsettings.json`?  
  Какие настройки критически важны?  
  **Дай ссылки.**
- **Рекомендации по изучению:**  
  Предложи порядок или набор ключевых файлов и модулей, которые следует прочитать первыми, чтобы быстро понять основные концепции проекта.

---

### 5. **Ключевые компоненты**
- Определи и опиши наиболее важные или центральные модули, классы, функции или сервисы.
- Объясни ответственность каждого компонента.
- Опиши их обязанности и взаимозависимости.
- Для каждого компонента:
  - Включи показательный фрагмент кода.
  - Дай ссылку на место его реализации.
- **По возможности предоставляй прямые ссылки и примеры кода.**

---

### 6. **Потоки выполнения и данных**
- Опиши наиболее распространённые или критически важные рабочие процессы либо бизнес-процессы, например обработку заказов или аутентификацию пользователей.
- Объясни, как данные проходят через систему:
  - Где данные сохраняются.
  - Как они читаются, изменяются и распространяются.
- **По возможности иллюстрируй примерами и ссылайся на соответствующие функции или классы.**

#### 6.1 **Обзор схемы базы данных, если применимо**
- Для приложений, интенсивно работающих с данными:
  - Определи основные сущности, таблицы и коллекции.
  - Опиши их главные связи.
  - Основывайся на моделях ORM, миграциях или файлах схем, если они доступны.

---

### 7. **Зависимости и интеграции**
- **Зависимости:**  
  Перечисли основные используемые внешние библиотеки, фреймворки и SDK.  
  Кратко объясни роль каждого из них.  
  **Дай ссылки на места их настройки или наиболее частого использования.**
- **Интеграции:**  
  Определи и объясни интеграции с внешними сервисами, дополнительными базами данных, сторонними API, брокерами сообщений и т. д.  
  Как происходит обмен данными?  
  **Укажи отвечающие за это модули и классы и добавь ссылки.**

#### 7.1 **Документация API, если применимо**
- Если проект предоставляет API:
  - Есть ли признаки использования инструментов или стандартов документирования API, например Swagger/OpenAPI, Javadoc, строк документации для отдельных конечных точек?
  - Где можно найти эту документацию или как её сгенерировать?

---

### 8. **Диаграммы**
- Создай высокоуровневые диаграммы для визуализации архитектуры и поведения системы:
  - Диаграмму компонентов с выделением основных модулей и их взаимодействий.
  - Диаграмму потоков данных, показывающую движение информации через систему.
  - Диаграмму классов с ключевыми классами и связями, если применимо.
  - Упрощённую диаграмму развёртывания: где работают компоненты, если это можно определить.
  - Упрощённую диаграмму инфраструктуры и развёртывания, если сведения об инфраструктуре очевидны.
- **Создавай эти диаграммы с помощью синтаксиса Mermaid внутри файла Markdown.**
- Диаграммы должны быть **высокоуровневыми**; избыточная детализация не требуется.

---

### 9. **Тестирование**
- Есть ли автоматизированные тесты?
  - Модульные тесты.
  - Интеграционные тесты.
  - Сквозные тесты (E2E).
- Где они расположены в проекте?
- Какие фреймворки тестирования используются?
- Как обычно выполняются тесты?
- Как запустить тесты локально?
- Есть ли стратегия CI/CD, включающая тесты?

---

### 10. **Обработка ошибок и журналирование**
- Как приложение обычно обрабатывает ошибки?
  - Есть ли стандартный шаблон, например глобальное middleware или пользовательские исключения?
- Какая библиотека журналирования используется?
- Есть ли стандартный формат журналов?
- Видна ли интеграция с инструментами мониторинга, например Datadog или Sentry?

---

### 11. **Вопросы безопасности**
- Есть ли в коде очевидные механизмы безопасности?
  - Аутентификация.
  - Авторизация через middleware или фильтры.
  - Проверка входных данных.
- Широко ли используются специальные библиотеки безопасности, например Spring Security, Passport.js или библиотеки JWT?
- Есть ли заслуживающие внимания практики безопасности?
  - Управление секретами.
  - Защита от распространённых атак.

---

### 12. **Другие важные наблюдения, включая сборку и развёртывание**
- Есть ли файлы, связанные со **сборкой или развёртыванием**?
  - `Dockerfile`.
  - `docker-compose.yml`.
  - Скрипты сборки и развёртывания.
  - Конфигурационные файлы CI/CD, например `.github/workflows/`, `.gitlab-ci.yml`.
- Что эти файлы говорят о том, как приложение собирается и развёртывается?
- Есть ли что-нибудь ещё принципиально важное или особенно полезное для нового разработчика?
  - Известный технический долг, упомянутый в комментариях.
  - Необычные шаблоны проектирования.
  - Важные соглашения о написании кода.
  - Замечания о производительности.

---

## **Формат конечного результата**
- Сформируй полный ответ как **хорошо оформленный документ Markdown (`.md`)**.
- Используй **понятный и прямой язык**.
- Организуй содержимое с помощью **заголовков и подзаголовков** согласно пронумерованным разделам выше.
- **Включи уместные фрагменты кода** — короткие и показательные.
- **Включай кликабельные ссылки** на файлы, функции, классы и определения при каждом упоминании конкретного элемента кода.
- Для удобства чтения структурируй документ по пронумерованным разделам выше.

**По возможности:**
- Включай **кликабельные ссылки** на файлы, функции и классы.
- Показывай **короткие показательные фрагменты кода**.
- Используй **маркированные списки или таблицы** для перечислений.

---

### **ВАЖНО**
Анализ должен учитывать **ВСЕ файлы проекта**.  
Прочитай и изучи **все необходимые файлы**, чтобы полностью выполнить эту задачу и получить целостное понимание системы.

---

### **Действие**
Проанализируй исходный код, который сейчас доступен в моей среде или рабочей области, и создай документ Markdown в соответствии с запросом.

Имя выходного файла должно соответствовать следующему формату:  
`<yyyy-mm-dd-project-name-app-dev-discovery_cursor.md>`

Что сделать после копирования

Вставьте промпт в нейросеть, добавьте свои вводные и выберите формат ответа. Для фото или видео понадобится модель с поддержкой этой задачи. Проверьте результат и уточните запрос при необходимости.