Створення інтерактивної карти коду за допомогою Codex

Дізнайтеся, як використовувати Codex для створення інтерактивної карти вашого коду, що дозволяє відстежувати зміни модулів та їх залежності.
Створення інтерактивної карти коду за допомогою Codex
Попросіть Codex створити інтерактивну карту вашого репозиторію, а потім відзначайте, які модулі змінилися з моменту її генерації.
Натиснувши на будь-який модуль, можна побачити його викликаючі компоненти, залежності, основні потоки виконання, пов'язані тести та підтверджуючі дані з вихідного коду.
Codex створює:
docs/codemap/codemap.htmldocs/codemap/codemap.jsondocs/codemap/codemap.lock
Повний промпт
Аналізуйте поточну кодову базу. Не змінюйте код продукту. Створюйте або оновлюйте файли лише в docs/codemap/.
Ігноруйте каталоги vendor, build, dist, cache та інші згенеровані каталоги.
Якщо docs/codemap/ вже існує, спочатку порівняйте існуючий codemap.lock з поточним репозиторієм і перелікуйте модулі, які змінилися. Потім згенеруйте ці три файли разом:
docs/codemap/codemap.html
Створіть повністю самодостатню інтерактивну карту коду, яка відкривається безпосередньо в браузері. Включіть:- основні модулі, сервіси, бази даних, черги та зовнішні залежності
- не більше 20 основних вузлів; групуйте низькорівневі файли під їх батьківським модулем
- виклики та потоки даних між модулями
- 3-5 найважливіших кінцевих потоків
- чітку темну тему за замовчуванням
- межі системи та найважливіші потоки даних, видимі на першому екрані
- кольорове кодування типів модулів з простою легендою
- автоматичну компоновку, яка мінімізує перетворення країв
- натискання на будь-який модуль підсвічує його викликаючі компоненти, залежності, пов'язані тести та потоки, до яких він належить
- вибір потоку підсвічує його повний шлях
- пошук, фільтрацію, масштабування та управління перетягуванням
На верху покажіть назву репозиторію, час генерації та коміт, з якого він був згенерований.
docs/codemap/codemap.json
Використовуйте цю структуру:JSON{ "generated_at": "", "generated_from_commit": "", "scope": [], "nodes": [], "edges": [], "flows": [] }Кожен вузол повинен включати:
- id
- path
- role
- entrypoints
- tests
- constraints
- evidence
Кожен край повинен включати:
- from
- to
- type
- evidence
type може бути лише:
- imports
- calls
- reads
- writes
- publishes
- subscribes
Кожен потік повинен включати:
- trigger
- steps
- outcome
Кожен крок повинен посилатися на існуючий id вузла. Прикріпіть відповідний шлях джерела та символ до кожного вузла та краю. Позначте будь-які зв'язки без джерельних доказів як невідомі. Не здогадуйтесь.
docs/codemap/codemap.lock
Використовуйте парсований JSON для запису:- поточного коміту
- чи має робоче дерево незбережені зміни
- час генерації
- сканований обсяг
- виключені каталоги
- алгоритм відбитка
- детермінований відбиток для кожного верхнього модуля, розрахований з його відстежуваних шляхів файлів та поточного вмісту файлів
Якщо жоден існуючий
codemap.lockне знайдено, вважайте кожен модуль новим і згенеруйте повну карту.Коли закінчите, перевірте:
codemap.jsonуспішно парситься- кожен шлях вузла існує, і кожен символ доказу можна знайти в джерелі
- кожен край і крок потоку посилається на існуючий вузол
codemap.htmlтаcodemap.jsonвикористовують ті ж вузли, краї та потокиcodemap.lockвідповідає поточному коміту, стану робочого дерева та відбиткам модулів- кожна зв'язок без джерельного доказу позначена як невідома
Ці три файли завжди повинні генеруватися разом з поточного репозиторію. Ніколи не редагуйте лише один з них вручну.
Нарешті, покажіть:
- створені або змінені файли
- застарілі модулі
- залишкові невідомі
- результати валідації
- повний диф
Додаткове правило
Додайте правило в AGENTS.md, щоб карта коду завжди залишалася синхронізованою з репозиторієм:
На початку кожного завдання, що змінює код, порівняйте поточний репозиторій з docs/codemap/codemap.lock.
Перед зміною модуля використовуйте docs/codemap/codemap.json, щоб відповісти на три питання:
- Що його викликає?
- На що це впливає?
- Які тести його покривають?
Якщо карта застаріла або не може відповісти на ці питання, згенеруйте codemap.html, codemap.json та codemap.lock перед зміною коду.
Коли змінюються межі модулів, залежності, маршрути, бази даних, черги або основні потоки даних, оновлюйте карту коду в тому ж коміті, що й код.
Чому це важливо
АналітикаЦей підхід дозволяє підтримувати актуальність документації коду, що важливо для командної роботи та зменшує ризик помилок при внесенні змін. Використання інтерактивної карти коду спрощує розуміння структури проекту.
Обговорити новину у спільноті
Діліться своїм досвідом та думками з ШІ-розробниками
Пов'язані матеріали екосистеми
Практичні гайди, термінологія та агентські скіли
Codex для HR-команд — як організувати процеси за допомогою ШІ
Практичний гайд із системної автоматизації HR-процесів за допомогою OpenAI Codex: рекрутинг, онбординг, комплаєнс, дашборди та підключення до баз даних через MCP-сервер.
Оновлення ChatGPT: розробка та робочі процеси з плагінами й Codex
Повний практичний посібник зі створення, пакування, тестування та публікації плагінів для ChatGPT та Codex: специфікація маніфесту, MCP-сервери, lifecycle hooks, власні маркетплейси та процес рев'ю OpenAI.
MCP (Model Context Protocol)
Відкритий стандарт від Anthropic на базі JSON-RPC 2.0 для уніфікованого двостороннього підключення AI-асистентів до зовнішніх інструментів, баз даних і системного оточення.
MCP Server
Програмний сервіс або фоновий процес, що реалізує специфікацію MCP і надає зовнішнім AI-клієнтам стандартизований доступ до виконання функцій, читання ресурсів і шаблонів промптів.