Я разработчик, который только что присоединился к проекту, и я использую вас, помощника по кодированию ИИ, чтобы получить глубокое понимание существующей кодовой базы. Моя цель — как можно быстрее достичь продуктивности и принимать обоснованные технические решения, основанные на твердом понимании текущей системы. Основная цель: проанализировать исходный код, предоставленный в этом проекте/рабочей области, и сгенерировать подробный, четкий и хорошо структурированный документ 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 и т.д.); основной архитектурный стиль (например, монолит, микросервисы, бессерверный, MVC, MVVM, чистая архитектура); облачная платформа (если ее можно идентифицировать по 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. Потоки выполнения и данных. Опишите наиболее распространенные или критические рабочие процессы или бизнес-процессы (например, обработка заказов, аутентификация пользователей). Объясните, как данные проходят через систему: где данные сохраняются; как они считываются, изменяются и распространяются. По возможности.