Шаг 1

Полностью настроим твой проект

Привет. У меня есть готовый starter для Codex. Он поможет Codex подробно разобраться в проекте, записать правила работы и продолжать разработку в новых чатах без повторения одного и того же.

Один полный starter Новый или уже работающий проект Сначала вопросы, потом изменения

Starter лежит в открытом репозитории на GitHub

Репозиторий - это папка проекта на GitHub. Открытый репозиторий может посмотреть любой человек.

В публичный репозиторий GitHub нельзя добавлять пароли, API-ключи, токены, данные клиентов и файлы .env.

.env - это специальный файл, в котором программы часто хранят пароли, API-ключи и другие секретные настройки.

Что нужно делать:

  • хранить настоящий .env только на своем компьютере или в защищенном сервисе;
  • добавить .env и похожие файлы в .gitignore;
  • если нужен пример, использовать .env.example только с названиями переменных, но без настоящих значений;
  • запретить Codex читать, печатать, копировать, сохранять и отправлять значения секретов;
  • если секрет случайно попал в GitHub, сразу заменить его новым.

Этот запрет уже добавлен во все prompts ниже. Здесь я просто расписал это для тебя, чтобы было понятно, зачем он нужен. Если что-то осталось непонятным, задай вопрос перед началом работы.

Зачем это нужно

Что starter сделает для тебя

Он не меняет продукт сам по себе. Сначала он собирает информацию и наводит порядок для дальнейшей разработки.

1

Разберется в проекте

Спросит, что ты делаешь, для кого, какую проблему решаешь, что уже работает и что нужно сделать дальше.

2

Зафиксирует правила

Запишет, как запускать проект, какие файлы являются главными, какие проверки выполнять и что нельзя делать без разрешения.

3

Проверит безопасность

Проверит, что секреты не попадут в Git, существующие файлы не будут затерты, а опасные действия не выполнятся молча.

Выбери один путь

Новый проект или уже работающий

Если начинаешь с нуля, используй первый prompt. Если код уже существует и работает, используй второй prompt.

Вариант 1. Новый проект

Ты создаешь новую пустую папку, открываешь ее в Codex и вставляешь prompt для полного развертывания starter.

Вариант 2. Уже работающий проект

Ты открываешь папку своего проекта в Codex. Starter используется только как образец и не заменяет существующие файлы.

Вариант 1

Если создаешь новый проект

Сначала открой новую пустую папку. Путь внутрь prompt вставлять не нужно: Codex сам увидит папку, в которой запущен.

  1. Создай новую пустую папку на компьютере и назови ее именем проекта.
  2. Открой именно эту папку в Codex. В приложении выбери открытие папки. В терминале перейди в нее командой cd и запусти codex.
  3. Опиши проект в одном или нескольких предложениях внутри prompt ниже.
  4. Скопируй prompt целиком, вставь его в Codex и отвечай на вопросы по одному.
Новый проект - полная настройка
Привет. Я открыл в Codex новую пустую папку. Нужно развернуть в ней и полностью настроить Codex Starter.

Официальный starter:
https://github.com/maximsamus/codex-starter

Описание моего проекта:
[НАПИШИ ЗДЕСЬ, ЧТО ЭТО ЗА ПРОЕКТ, ДЛЯ КОГО ОН И ЧТО ДОЛЖЕН ДЕЛАТЬ]

Работай строго по шагам.

Шаг 1. Проверь открытую папку.
1. Покажи текущую рабочую папку.
2. Проверь, что в ней нет моих существующих файлов.
3. Если папка не пустая, ничего не копируй и не заменяй. Остановись, покажи найденные пути и спроси меня, что делать.
4. Не удаляй и не перезаписывай файлы.
5. Не меняй Git remote, не делай commit, push или deploy без моего отдельного разрешения.

Шаг 2. Защити секреты.
1. Никогда не читай, не печатай, не копируй и не отправляй значения из .env, .env.local, файлов ключей, токенов и других секретов.
2. Можно проверить только наличие файла и названия переменных без значений.
3. Убедись, что .env, .env.local, .env.*.local, *.pem и *.key добавлены в .gitignore.
4. Если нужен пример настроек, используй .env.example только с названиями переменных и пустыми или безопасными примерными значениями.
5. Если заметишь секрет в отслеживаемом файле, не повторяй его. Остановись и предупреди меня.

Шаг 3. Разверни starter.
1. Создай временную папку вне моего проекта командой mktemp -d.
2. Клонируй официальный starter только во временную папку.
3. Скопируй из временной папки содержимое starter в открытую пустую папку, но обязательно исключи папку .git.
4. Не удаляй временную папку без моего отдельного разрешения.
5. Проверь, что папка .git от starter не попала в мой проект и мой проект не связан с GitHub starter.
6. Если мой проект еще не подключен к Git, ничего не подключай автоматически. Объясни, что такое Git, и отдельно спроси разрешение на команду git init -b main.
7. Не создавай репозиторий GitHub и не добавляй Git remote без моего отдельного разрешения.
8. Никогда не используй адрес официального starter как Git remote моего проекта.
9. Покажи текущую ветку, git status и git remote, только если Git уже подключен.
10. Объясни простыми словами, что будет происходить дальше.

Шаг 4. Проведи полное интервью.
1. Работай по AUTOPILOT.md и используй настройку deep.
2. Задавай только один вопрос за раз.
3. Не спрашивай то, что уже есть в описании проекта или моих ответах.
4. Используй разделы deep как подсказку, а не как обязательную анкету.
5. Задай не больше семи вопросов. Один вопрос может коротко объединять близкие темы.
6. Спрашивай только о том, что действительно относится к моему проекту:
   - цель проекта, пользователь и его проблема;
   - что должно работать сначала и что оставляем на потом;
   - как проект устроен, запускается и проверяется;
   - пользователи, роли, данные и доступ к ним;
   - платежи и внешние сервисы, если они нужны;
   - публикация и безопасность;
   - важные показатели, уже принятые решения и следующий шаг.
7. Если тема не относится к проекту, запиши "не применимо" и не расспрашивай о ней.
8. Не придумывай ответы за меня.
9. Если ответ неполный, задай уточнение только вместо следующего вопроса, не увеличивая предел в семь вопросов.
10. Отделяй подтвержденные факты от предположений и вопросов на потом.

Шаг 5. Заполни starter.
1. Создавай только те файлы, которые нужны этому проекту.
2. Перед заменой AGENTS.md и PROJECT_STATE.md покажи мне, что именно изменится, и дождись подтверждения.
3. Не записывай секреты и закрытые данные в файлы Git.
4. Не делай commit и push.

Шаг 6. Проверь результат.
1. Перечитай созданные файлы.
2. Найди пустые разделы, противоречия, догадки и вопросы без ответа.
3. Задай не больше трех оставшихся вопросов, по одному. После третьего перечисли остальные открытые вопросы и остановись.
4. Проверь, что новый чат сможет понять проект без чтения всех файлов.
5. Запусти безопасные проверки starter и проверки проекта, если они уже появились.
6. Покажи git status и список измененных файлов.
7. Подтверди, что ничего не удалено, секреты не раскрыты, commit и push не выполнялись.
8. Отдельно скажи, подключены ли Git и мой GitHub. Если я не давал разрешения, они должны остаться неподключенными.

В конце дай простой итог:
- что настроено;
- какие вопросы остались;
- какие файлы созданы или изменены;
- как начать следующую сессию;
- какой один следующий шаг.

Что будет по итогам

  • starter будет развернут в новой папке;
  • Codex задаст вопросы по одному и заполнит информацию о проекте;
  • будут записаны правила запуска, разработки, проверки и безопасности;
  • появится понятная текущая задача и следующий шаг;
  • секреты не попадут в Git, а Git, GitHub, commit и push не будут подключены или выполнены без разрешения.

Вариант 2

Если проект уже работает

Открой папку существующего проекта. Не клонируй starter внутрь нее вручную и не копируй файлы поверх проекта.

  1. Открой папку своего проекта в Codex. Убедись, что видишь настоящий рабочий код.
  2. Проверь, что проект открывается и работает так же, как до подключения starter.
  3. Проверь, что проект вообще сохраняется в Git. Если папка еще не под Git или в репозитории нет ни одного commit, возвращаться будет некуда. Сначала сделай первый commit со всем проектом как есть и только потом иди дальше.
  4. Сохрани текущую рабочую версию. Попроси Codex проверить список файлов и секреты, затем сделать контрольные commit и push в твой GitHub. После этого при ошибке можно будет вернуться к рабочей версии.
  5. Убедись, что сохранение прошло. Codex должен показать чистый git status, последний commit и правильный адрес твоего репозитория GitHub.
  6. Опиши проект внутри prompt ниже, даже если в проекте уже есть README.
  7. Скопируй prompt целиком, вставь его в Codex и сначала дождись плана подключения.
Работающий проект - подключить starter без потери файлов
Привет. Я открыл в Codex папку уже работающего проекта. Нужно аккуратно добавить в него полезную структуру Codex Starter, не сломав и не затерев ничего существующего.

Официальный starter:
https://github.com/maximsamus/codex-starter

Описание моего проекта:
[НАПИШИ ЗДЕСЬ, ЧТО ЭТО ЗА ПРОЕКТ, ДЛЯ КОГО ОН, ЧТО УЖЕ РАБОТАЕТ И ЧТО ТЫ ХОЧЕШЬ ДЕЛАТЬ ДАЛЬШЕ]

Главное правило:
Существующий проект является главным. Starter является только образцом. Нельзя заменять проект файлами starter целиком.

Какой результат нужен:
1. Нужна полная настройка starter в режиме deep, а не сокращенная версия.
2. Не предлагай мне выбирать между lite, standard, minimal и deep. Выбор уже сделан: используй deep.
3. Полная настройка означает: правила проекта, короткое текущее состояние, подробный контекст проекта, планы работы, проверки, безопасность, сохранение итогов сессий и понятный следующий шаг.
4. Полная настройка не означает копирование всего репозитория starter. Не переноси примеры, историю разработки starter, служебные файлы автора и другие файлы, которые не нужны моему проекту.
5. Сначала покажи безопасный пофайловый план полной настройки. Ничего не меняй до моего явного подтверждения.

Жесткие запреты:
1. Не удаляй файлы и каталоги.
2. Не перезаписывай существующие файлы.
3. Не переименовывай и не перемещай существующие файлы.
4. Не выполняй git reset, git clean, git checkout для отката, git restore, rm и массовое копирование поверх проекта.
5. Не меняй package.json, lock-файлы, зависимости, миграции, сборку, CI, deploy и рабочий код до отдельного согласования.
6. Не меняй Git remote, ветку и историю.
7. Не делай commit, push или deploy, кроме одного контрольного commit и push на Этапе 0 после моего отдельного подтверждения.
8. Не трогай изменения, которые существовали до начала этой задачи.
9. Если есть сомнение или конфликт, остановись и спроси.

Защита секретов:
1. Никогда не читай, не печатай, не копируй и не отправляй значения из .env, .env.local, файлов ключей, токенов и других секретов.
2. Можно проверить только наличие файла и названия переменных без значений.
3. Проверь, что .env, .env.local, .env.*.local, *.pem и *.key игнорируются Git.
4. Если нужен .env.example, он может содержать только названия переменных и пустые или безопасные примерные значения.
5. Если заметишь секрет в отслеживаемом файле, не повторяй его. Остановись и предупреди меня.

Работай по этапам.

Этап 0. Сначала создай точку возврата.
1. Пока ничего не меняй в файлах проекта.
2. Покажи git status --short --branch и Git remote без токенов и секретов.
3. Выполни git log --oneline -1 и покажи результат. Если папка не под Git или в репозитории еще нет ни одного commit, остановись прямо здесь. Скажи об этом простыми словами и объясни, что сейчас вернуться к прошлому состоянию невозможно. Дальше не иди, пока мы не создадим первый commit со всем проектом как есть.
4. Убедись, что remote ведет в мой репозиторий GitHub, а не в репозиторий starter. Если remote отсутствует или ведет не туда, остановись и помоги мне безопасно подключить мой GitHub. Ничего не меняй без моего подтверждения.
5. Проверь, что .env, .env.local, .env.*.local, *.pem и *.key не попадут в Git. Не открывай и не показывай их содержимое.
6. Покажи точный список всех текущих изменений, которые предлагаешь сохранить. Не используй git add . и не добавляй секреты.
7. Спроси отдельное разрешение на контрольные commit и push.
8. Только после моего подтверждения добавь перечисленные безопасные файлы по именам, создай commit с понятным названием и отправь текущую ветку в мой GitHub.
9. Если commit или push не получился, остановись. Не начинай подключение starter.
10. После успешного push покажи чистый git status, последний commit и адрес remote.
11. Считай Этап 0 пройденным только тогда, когда git log --oneline -1 показывает настоящий commit и push прошел успешно. Если хотя бы одно из этого не выполнено, ты не имеешь права переходить к следующим этапам, даже если я тороплю. Вместо этого скажи, чего именно не хватает.
12. Только после этого переходи к Этапу 1.

Этап 1. Сначала только изучение.
1. Покажи текущую папку, корень Git, ветку и git status --short --branch.
2. Покажи Git remote без токенов и секретов.
3. Если есть незакоммиченные изменения, перечисли только пути. Не меняй эти файлы.
4. Изучи структуру проекта, README, существующие AGENTS.md, документацию, тестовые команды и основные настройки.
5. Не читай .env и другие секретные файлы.
6. Получи starter в отдельную временную или соседнюю папку вне рабочего проекта.
7. Никогда не клонируй starter внутрь рабочего проекта и не копируй его целиком поверх проекта.
8. Прочитай в starter файл prompts/methodology/import-existing-project.md и используй его как инструкцию.
9. Составь понятную таблицу:
   - что уже есть в проекте;
   - что предлагает starter;
   - где совпадают имена файлов;
   - что нужно оставить без изменений;
   - что можно добавить;
   - что придется аккуратно объединять.
10. Покажи план подключения по каждому файлу.
11. Остановись. Не меняй ни одного файла, пока я явно не подтвержу план.

Этап 2. После моего подтверждения проведи полное интервью.
1. Задавай один вопрос за раз.
2. Сначала собери пробелы, которые уже нашел при изучении проекта и по инструкции import-existing-project.md.
3. Не повторяй вопросы, на которые уже отвечают код, README, документация или мое описание.
4. Используй разделы deep как подсказку, а не как обязательную анкету.
5. Задай не больше семи вопросов. Спрашивай только о важных пробелах для этого проекта.
6. Один короткий вопрос может объединять близкие темы: цель и пользователь; ближайшая версия; запуск и проверки; роли и данные; платежи и внешние сервисы; публикация и безопасность; решения и следующий шаг.
7. Если тема не относится к проекту, запиши "не применимо" и не задавай о ней дополнительные вопросы.
8. Не придумывай ответы.
9. Если ответ неполный, уточнение считается одним из семи вопросов.
10. После седьмого вопроса покажи оставшиеся неизвестные и останови интервью.
11. Отделяй подтвержденные факты от предположений и открытых вопросов.

Этап 3. После отдельного подтверждения аккуратно добавь структуру.
1. Добавляй только согласованные новые файлы.
2. Используй только те имена файлов и папок, которые действительно есть в starter: AGENTS.md, PROJECT_STATE.md, AUTOPILOT.md, plans, retrospectives и остальные из его структуры. Не придумывай вместо них свои названия документов и не заменяй ими файлы starter.
3. Если AGENTS.md уже существует, не заменяй его. Сохрани действующие правила и предложи только точечные дополнения.
4. Если PROJECT_STATE.md или похожий файл уже существует, не заменяй его. Сначала предложи объединенную версию и покажи разницу.
5. Перед изменением любого уже существующего файла сначала покажи мне его текущее содержимое и то, что предлагаешь получить. Полная перезапись существующего файла запрещена, даже если новая версия кажется тебе лучше и короче.
6. Если .gitignore уже существует, только добавь недостающие безопасные строки. Не удаляй существующие правила.
7. Не заменяй README, документацию, настройки, scripts, hooks и GitHub workflows.
8. Не создавай дубликаты файлов с той же задачей.
9. Сохраняй стиль, язык и структуру существующего проекта.
10. После каждого небольшого изменения показывай, что изменено.

Этап 4. Проверь результат.
1. Покажи git status --short и git diff --name-status.
2. Если git diff не показывает ничего, а файлы ты создавал или менял, значит они еще не сохранены в Git. Скажи об этом прямо и не выдавай пустой diff за отсутствие изменений.
3. В списке не должно быть удаленных файлов. Если есть статус D, остановись.
4. Сравни текущий Git remote с тем, что был до начала. Он не должен измениться.
5. Подтверди, что исходные изменения проекта не были затронуты.
6. Запусти существующие тесты, проверку кода и сборку, если команды безопасны и известны.
7. Перечитай добавленную структуру и найди пустые места, противоречия и догадки.
8. Задай оставшиеся вопросы по одному.
9. Проверь, что новый чат сможет понять текущую задачу без чтения всего проекта.
10. Не делай commit, push или deploy.

В конце дай простой отчет:
- какой контрольный commit создан до подключения starter и в какой GitHub он отправлен;
- что было в проекте до начала;
- что добавлено;
- какие существующие файлы точечно дополнены;
- что намеренно не трогалось;
- какие проверки прошли;
- что не проверялось;
- какие вопросы остались;
- какой следующий шаг.

Что будет по итогам

  • до подключения starter появится сохраненная рабочая версия, к которой можно вернуться;
  • если такой версии нет, Codex остановится и скажет об этом, вместо того чтобы менять файлы вслепую;
  • существующий код и файлы останутся на месте;
  • Codex сначала покажет план подключения и дождется разрешения;
  • после подтверждения Codex задаст вопросы по одному;
  • starter будет добавлен точечно, без замены проекта целиком;
  • будет видно, что добавлено, что не трогалось и какие проверки прошли.

После настройки

Финальная проверка заполнения

Используй этот prompt после любого из двух вариантов. Он ничего не меняет сразу: сначала проверяет заполнение и задает недостающие вопросы.

  1. Скопируй prompt финальной проверки после завершения настройки starter.
  2. Codex проверит заполнение и разделит факты, догадки и неизвестное.
  3. Ответь на вопросы по одному. Codex не должен придумывать ответы за тебя.
  4. Подтверди предлагаемые правки только после того, как увидишь их список.
Проверить качество заполнения starter
Проверь качество и полноту заполнения Codex Starter в этом проекте.

Сначала ничего не меняй.

Защита секретов:
1. Никогда не читай, не печатай, не копируй и не отправляй значения из .env, .env.local, файлов ключей, токенов и других секретов.
2. Можно проверить только наличие файлов и названия переменных без значений.
3. Если заметишь секрет в отслеживаемом файле, не повторяй его. Остановись и предупреди меня.
4. Не делай commit, push или deploy.

Проверка:
1. Прочитай AGENTS.md, PROJECT_STATE.md и только те файлы с описанием проекта, на которые они ссылаются.
2. Объясни простыми словами, что ты понял о проекте.
3. Найди пустые разделы, противоречия, догадки и важные вопросы без ответа.
4. Отдельно перечисли:
   - подтвержденные факты;
   - предположения;
   - неизвестное;
   - решения, которые должен принять владелец.
5. Проверь только относящиеся к этому проекту темы. Не требуй заполнить разделы, которые честно отмечены как "не применимо".
6. Проверь, записано ли:
   - что это за проект;
   - кто его пользователь;
   - какую проблему он решает;
   - что уже работает;
   - что делаем сейчас;
   - что делаем потом;
   - как запускать проект;
   - как запускать тесты и другие проверки;
   - где лежат главные файлы;
   - какие есть роли, данные, платежи и внешние сервисы;
   - какие действия запрещены без разрешения;
   - какой следующий шаг.
7. Если чего-то не хватает, сначала составь список пробелов.
8. Задай не больше пяти вопросов, по одному короткому вопросу за сообщение. Не повторяй уже известное.
9. Если после пятого вопроса что-то осталось неизвестным, перечисли это и остановись. Не продолжай бесконечную анкету.
10. Не придумывай ответы.
11. После моих ответов покажи список предлагаемых изменений и дождись подтверждения.
12. После подтверждения внеси только согласованные точечные изменения.
13. Не удаляй и не перезаписывай существующие файлы целиком.
14. После изменений снова перечитай результат и проверь, что вопросы закрыты или явно оставлены открытыми.

В конце дай отчет:
- что заполнено полностью;
- какие вопросы еще остались;
- какие факты подтверждены;
- какие изменения внесены;
- какие файлы не трогались;
- может ли новый чат понять проект;
- какой следующий шаг.

Что будет по итогам финальной проверки

  • Codex покажет, что заполнено хорошо, а чего не хватает;
  • задаст недостающие вопросы по одному;
  • не будет придумывать неизвестные факты;
  • перед изменениями покажет их список и дождется подтверждения;
  • в конце даст отчет о заполнении и назовет следующий шаг.
Источник: GitHub Максима Самусь. После полного заполнения starter переходи к следующему шагу.