Releases: VKirill/codex-starter-kit
v0.1.4 — Claude Companion Review Plugin
RU
Что добавлено
- Добавлен локальный Claude Companion plugin для Codex Starter Kit.
- Реализован runner для advisory reviews через interactive Claude Code в отдельной tmux-сессии.
- Добавлен Stop hook capture: итоговый ответ Claude сохраняется в markdown/json outbox.
- Добавлен adaptive tmux monitoring для долгих проверок: outbox detection, session liveness, pane activity, idle timeout и режим --wait-forever.
- Добавлены режимы ревью для планов, diff/code review, security, data consistency, UX, release readiness и других сценариев.
- Добавлены marketplace metadata, skills и документация по безопасному bootstrap/self-setup.
- Расширена validation pack проверка для локальных plugins и marketplace metadata.
Проверено
- python3 scripts/validate-pack.py
- git diff --check
- python3 -m py_compile для plugin hooks/runners/scripts
- End-to-end smoke Claude Companion на crm.psycab.pro
- Долгий data-consistency-review на crm.psycab.pro: outbox markdown/json успешно создан, runner дождался результата без абсолютного timeout
Важно
- Plugin не устанавливает Claude Code и tmux автоматически.
- Claude credentials не читаются и не копируются starter kit tooling.
- Claude output считается advisory feedback; Codex сам принимает или отклоняет рекомендации.
EN
Added
- Added a local Claude Companion plugin for Codex Starter Kit.
- Implemented a review runner through interactive Claude Code in an isolated tmux session.
- Added Stop hook capture: Claude's final answer is saved to markdown/json outbox files.
- Added adaptive tmux monitoring for long-running reviews: outbox detection, session liveness, pane activity, idle timeout, and --wait-forever mode.
- Added review modes for plans, diffs/code review, security, data consistency, UX, release readiness, and related workflows.
- Added marketplace metadata, plugin skills, and safe bootstrap/self-setup documentation.
- Extended pack validation for local plugins and marketplace metadata.
Verified
- python3 scripts/validate-pack.py
- git diff --check
- python3 -m py_compile for plugin hooks/runners/scripts
- End-to-end Claude Companion smoke on crm.psycab.pro
- Long data-consistency-review on crm.psycab.pro: markdown/json outbox was produced and the runner waited without an absolute timeout
Notes
- The plugin does not install Claude Code or tmux automatically.
- Claude credentials are not read or copied by starter-kit tooling.
- Claude output is advisory feedback; Codex remains responsible for accepting or rejecting recommendations.
v0.1.3 — Structured Handoff Classifier Output
v0.1.3 — Structured Handoff Classifier Output
RU
Этот релиз усиливает UserPromptSubmit handoff classifier: LLM-путь теперь работает через строгий typed JSON contract, а deterministic logic остаётся fallback/offline guard.
Что добавлено
- LLM classifier переведён на Responses API Structured Outputs через
text.format+json_schema+strict=true. - Добавлен canonical JSON Schema contract для classifier output:
intentс enum;- typed booleans:
should_edit,should_plan,should_use_task_ledger,subagents_authorized,requires_worktree_gate,requires_release_flow,requires_gitnexus_impact; - score/confidence;
reason,task_brief,architecture_terms,verification_commands,policy_notes.
- Plain JSON parsing оставлен только как compatibility fallback, если structured output не поддержан API/моделью.
- Итоговый hook context теперь рендерится компактно на английском:
Flags,Policy,Task brief,Terms,Suggested verification,Policy notes. autoиalwaysтеперь используют LLM при наличии credentials;HANDOFF_CLASSIFIER_LLM=offвключает deterministic-only offline mode.- Default timeout увеличен до
6.0, чтобы strict structured output не уходил в fallback из-за короткого окна.
Исправления поведения
- Release-запросы вроде
пуш на гит и делай новый релиз с информацией об обновленияхтеперь классифицируются как:intent=implementation;edit=true;ledger=true;release_flow=true.
- Release-only запросы больше не требуют
gitnexus_impact; GitNexus impact поднимается только когда есть code-change intent и проектные правила GitNexus в repo profile. - Suggested verification commands фильтруются от опасных/нежелательных команд вроде force/reset/rm/shell chaining.
- Previous follow-up state теперь хранит compact typed snapshot (
intent, flags, task brief, terms), а не весь длинный rendered context. - LLM input получает deterministic repo profile, чтобы модель видела project stack, scripts и project rules до генерации structured output.
Не включено
- Plain text / loose JSON mode не переводился в default. Мы оставили strict schema как основной контракт, а loose JSON только как compatibility fallback.
- 5-7 повторных LLM проверок не добавлялись, чтобы не увеличивать latency и стоимость.
Проверка
python3 -m py_compile hooks/handoff-intake-classifier.py scripts/validate-pack.pypython3 scripts/validate-pack.pygit diff --check- manual release prompt test:
intent=implementation,release_flow=true - manual question-only prompt test:
intent=question_only,edit=false - manual follow-up prompt test with previous context
- deterministic fallback release test
EN
This release strengthens the UserPromptSubmit handoff classifier. The LLM path now uses a strict typed JSON contract while deterministic logic remains the fallback/offline guard.
Added
- The LLM classifier now uses Responses API Structured Outputs through
text.format+json_schema+strict=true. - Added a canonical JSON Schema contract for classifier output:
- enum-backed
intent; - typed booleans:
should_edit,should_plan,should_use_task_ledger,subagents_authorized,requires_worktree_gate,requires_release_flow,requires_gitnexus_impact; - score/confidence;
reason,task_brief,architecture_terms,verification_commands,policy_notes.
- enum-backed
- Plain JSON parsing remains only as a compatibility fallback when structured output is unsupported by the API/model.
- Rendered hook context is now compact English:
Flags,Policy,Task brief,Terms,Suggested verification,Policy notes. autoandalwaysnow use the LLM whenever credentials are available;HANDOFF_CLASSIFIER_LLM=offenables deterministic-only offline mode.- Default timeout is now
6.0to reduce unnecessary fallback from strict structured output.
Behavior fixes
- Release requests such as
пуш на гит и делай новый релиз с информацией об обновленияхnow classify as:intent=implementation;edit=true;ledger=true;release_flow=true.
- Release-only requests no longer require
gitnexus_impact; GitNexus impact is raised only when there is code-change intent and the repo profile contains GitNexus rules. - Suggested verification commands are filtered to remove unsafe/unwanted commands such as force/reset/rm/shell chaining.
- Previous follow-up state now stores a compact typed snapshot (
intent, flags, task brief, terms) instead of the full rendered context. - LLM input now includes the deterministic repo profile so the model sees project stack, scripts, and project rules before generating structured output.
Not included
- Plain text / loose JSON mode was not made the default. Strict schema remains the primary contract; loose JSON is only a compatibility fallback.
- 5-7 repeated LLM checks were not added, to avoid extra latency and cost.
Verification
python3 -m py_compile hooks/handoff-intake-classifier.py scripts/validate-pack.pypython3 scripts/validate-pack.pygit diff --check- manual release prompt test:
intent=implementation,release_flow=true - manual question-only prompt test:
intent=question_only,edit=false - manual follow-up prompt test with previous context
- deterministic fallback release test
v0.1.2 — Handoff Prompt Enrichment
v0.1.2 — Handoff Prompt Enrichment
RU
В этом релизе улучшен UserPromptSubmit hook для handoff-режима Codex.
Что добавлено
handoff-intake-classifier.pyтеперь формирует не только intent/flags, но и более профессиональныйnormalized_task_briefдля implementation-запросов.- Для архитектурных запросов hook добавляет engineering vocabulary: root-cause analysis, architecture boundaries, typed contracts, canonical source of truth, call graph impact, migration/removal of obsolete paths, scoped verification.
- Добавлен deterministic repo profile из текущей рабочей директории:
- root и nearest-workspace
package.json; - runtime engines и
packageManager; - npm workspaces / monorepo layout;
- allowlist архитектурно значимых dependency versions: frameworks, backend, TypeScript, build tools, test/e2e, ORM/database, cache/queue, contracts/API, UI, quality, observability/logging;
AGENTS.mdправила, включая GitNexus impact analysis и detect_changes, если они есть в проекте.
- root и nearest-workspace
- Короткие follow-up prompts вроде
доработай,продолжай,ещё,тогда,сделай тактеперь могут использовать предыдущий локальный hook context перед вызовом LLM. - Добавлено приватное локальное state-хранилище для предыдущего prompt/context:
- сначала
~/.codex/private/handoff-classifier-state.json; - fallback
~/.codex/memories/handoff-classifier-state.json, если private path read-only; - override через
HANDOFF_CLASSIFIER_STATE_PATH; - state ограничен по размеру и пишется с правами
0600.
- сначала
- Добавлен redaction распространённых secrets перед повторным использованием контекста:
sk-*,OPENAI_API_KEY=...,TOKEN=...,Authorization: Bearer .... - Увеличен default LLM timeout до
4.0, чтобы расширенный prompt enrichment не откатывался в deterministic слишком часто. - README и README-RU обновлены под новый workflow.
Практический эффект
Фраза вроде доработай пожалуйста после предыдущей задачи больше не выглядит для classifier как пустой запрос. Hook подтягивает предыдущий локальный context и помогает модели понять, что именно нужно продолжать, сохраняя scope текущей сессии/репозитория.
Для проектов вроде Node/Nuxt hook теперь подставляет конкретный стек, например Nuxt/Vue/TypeScript/Vitest/Tailwind/Zod/Turbo версии, если они реально есть в package.json.
Проверка
python3 -m py_compile hooks/handoff-intake-classifier.py scripts/validate-pack.pypython3 scripts/validate-pack.pygit diff --check- ручной двухшаговый тест follow-up prompt: полный prompt ->
доработай пожалуйста - ручной тест repo profile для
selfystudio/apps/adminиselfystudio/packages/ai-prompts
EN
This release improves the Codex handoff UserPromptSubmit hook.
Added
handoff-intake-classifier.pynow emits not only intent/flags, but also a professionalnormalized_task_brieffor implementation prompts.- Architecture-grade prompts now receive engineering vocabulary: root-cause analysis, architecture boundaries, typed contracts, canonical source of truth, call graph impact, migration/removal of obsolete paths, and scoped verification.
- Added deterministic repo profile extraction from the current working directory:
- root and nearest-workspace
package.json; - runtime engines and
packageManager; - npm workspaces / monorepo layout;
- allowlisted architecture-significant dependency versions: frameworks, backend, TypeScript, build tools, test/e2e, ORM/database, cache/queue, contracts/API, UI, quality, observability/logging;
AGENTS.mdproject rules, including GitNexus impact analysis and detect_changes when present.
- root and nearest-workspace
- Short follow-up prompts like
доработай,продолжай,ещё,тогда, andсделай такcan now use the previous local hook context before calling the LLM. - Added private local state for the previous prompt/context:
- primary path:
~/.codex/private/handoff-classifier-state.json; - fallback path:
~/.codex/memories/handoff-classifier-state.jsonwhen the private path is read-only; - override via
HANDOFF_CLASSIFIER_STATE_PATH; - state is capped and written with
0600permissions.
- primary path:
- Added redaction for common secrets before context reuse:
sk-*,OPENAI_API_KEY=...,TOKEN=...,Authorization: Bearer .... - Raised the default LLM timeout to
4.0so richer prompt enrichment is less likely to fall back to deterministic mode. - Updated README and README-RU for the new workflow.
Practical impact
A phrase like доработай пожалуйста after a previous task no longer looks empty to the classifier. The hook uses previous local context to help the model understand what to continue while keeping scope anchored to the current session/repo.
For Node/Nuxt projects, the hook now injects the actual relevant stack, such as Nuxt/Vue/TypeScript/Vitest/Tailwind/Zod/Turbo versions, when those packages are present in package.json.
Verification
python3 -m py_compile hooks/handoff-intake-classifier.py scripts/validate-pack.pypython3 scripts/validate-pack.pygit diff --check- manual two-step follow-up prompt test: full prompt ->
доработай пожалуйста - manual repo profile tests for
selfystudio/apps/adminandselfystudio/packages/ai-prompts
Codex Starter Kit v0.1.1
Codex Starter Kit v0.1.1
RU
Этот релиз переводит starter kit ближе к handoff-режиму работы Codex: меньше лишних вопросов, понятнее intake, безопаснее автоматизация и лучше маршрутизация обычных пользовательских сообщений.
Главное
- Полностью переработан
agents_orchestratorпод Codex handoff: intake scoring, task ledger, inline-first workflow, поиск shared root causes, review/verification loop и subagents только при явном разрешении. - Добавлен
UserPromptSubmithookhandoff-intake-classifier.pyдля классификации пользовательских сообщений: question-only, analysis, planning, implementation, continue и execute-approved-plan. - Intake classifier теперь включается только при наличии private-файла
~/.codex/private/handoff-classifier.env; без него hook молча no-op и не влияет на Codex. - Добавлен optional LLM fallback через private env (
OPENAI_API_KEY,HANDOFF_CLASSIFIER_MODEL,HANDOFF_CLASSIFIER_LLM) с fail-open поведением, таймаутом и без записи секретов в repo. PostToolUsehook теперь подсказывает self-review послеgit diffи verification-команд, чтобы Codex сверял изменения с task ledger и явно называл непроверенные риски.templates/AGENTS.mdусилен handoff intake scoring и task-ledger правилами.- Глобальные hooks и AGENTS.md синхронизированы с новой handoff-моделью.
- Добавлен
ru-textskill и переносимый cross-link изcopywriter; созданcopywriteragent. - README EN/RU обновлены под новые hooks, prompt classification, ru-text/copywriter и handoff workflow.
Безопасность
- Prompt classifier не активируется без пользовательского private-файла.
- Private env не входит в repo и не должен попадать в git.
- Dangerous shell guard продолжает блокировать destructive flows:
git reset --hard,git clean, force push,npm audit fix, destructive Docker/systemd/database operations и mutating HTTP requests.
Проверка
python3 scripts/validate-pack.pyпрошёл.- Smoke tests classifier hook: no-op без private-файла, deterministic mode, LLM fallback через private env.
- Установленный
~/.codex/hooks.jsonпроверен на наличиеUserPromptSubmit,PermissionRequest,PreToolUse,PostToolUse.
EN
This release moves the starter kit closer to a handoff-style Codex workflow: fewer routine prompts, clearer intake, safer automation, and better routing for normal conversational user messages.
Highlights
- Reworked
agents_orchestratorfor Codex handoff: intake scoring, task ledger, inline-first workflow, shared-root-cause discovery, review/verification loop, and subagents only when explicitly authorized. - Added the
UserPromptSubmithookhandoff-intake-classifier.pyfor classifying user prompts into question-only, analysis, planning, implementation, continue, and execute-approved-plan modes. - The intake classifier now runs only when the private file
~/.codex/private/handoff-classifier.envexists; without it, the hook is a silent no-op and does not affect Codex. - Added optional LLM fallback through private env (
OPENAI_API_KEY,HANDOFF_CLASSIFIER_MODEL,HANDOFF_CLASSIFIER_LLM) with fail-open behavior, timeout handling, and no secrets committed to the repo. PostToolUsenow nudges self-review aftergit diffand verification commands so Codex maps changes back to the task ledger and reports unverified risk.- Strengthened
templates/AGENTS.mdwith handoff intake scoring and task-ledger rules. - Synced global hooks and AGENTS.md with the new handoff model.
- Added the
ru-textskill, portable cross-linking fromcopywriter, and a dedicatedcopywriteragent. - Updated README EN/RU for the new hooks, prompt classification, ru-text/copywriter, and handoff workflow.
Safety
- Prompt classification is disabled unless the user creates the private config file.
- The private env file is not part of the repo and must not be committed.
- The dangerous shell guard still blocks destructive flows such as
git reset --hard,git clean, force pushes,npm audit fix, destructive Docker/systemd/database operations, and mutating HTTP requests.
Verification
python3 scripts/validate-pack.pypassed.- Classifier hook smoke-tested: no-op without private file, deterministic mode, and LLM fallback through private env.
- Installed
~/.codex/hooks.jsonchecked forUserPromptSubmit,PermissionRequest,PreToolUse, andPostToolUse.
Codex Starter Kit v0.1.0
Codex Starter Kit v0.1.0
RU
Первый публичный релиз Codex Starter Kit: готовая базовая конфигурация для OpenAI Codex CLI, рассчитанная на режим handoff-разработки с меньшим количеством ручных подтверждений и с сохранением защит от действительно опасных операций.
Что входит
- Глобальный
AGENTS.mdс рабочими правилами для Codex: сохранение пользовательских изменений, аккуратная навигация по кодовой базе, правила верификации, Git-поведение, MCP routing, работа со skills и subagents. - Набор custom agents для разработки, ревью, QA, DevOps, продукта, дизайна, данных, безопасности, SRE и смежных ролей.
- Набор skills для прикладной разработки: backend/frontend, TypeScript, Python, Node.js, FastAPI, Next.js, Vue/Nuxt, базы данных, security, Docker, Terraform, GitHub, GitNexus, testing, architecture, planning и другие направления.
- Installer
install.py/install.sh, который разворачивает starter kit в~/.codexи~/.agents/skills, делает backups управляемых файлов и запускает базовую валидацию. - Baseline
config.tomlдля Codex CLI с GitHub и Superpowers plugins, публичными docs MCP servers, включёнными hooks и network access внутри workspace-write sandbox.
Handoff approvals и safety
- Добавлены
rules/default.rulesдля автоодобрения безопасных команд: чтение файлов, поиск, диагностика Linux, package metadata, test/lint/build/typecheck/format, GitHub CLI read flows, Docker/Kubernetes/Terraform inspection, npm/pnpm/yarn/bun/deno/python/go/rust/dotnet/java/php/ruby/swift/flutter common workflows. - Добавлены безопасные npm/pnpm workspace формы:
pnpm --filter,pnpm -F,pnpm -r,pnpm --dir,npm --workspace,npm -w,npm --workspaces,npm --prefix. - Добавлено автоодобрение
npx gitnexus analyze,npm install, package metadata checks и MCP tool calls для handoff flow. - Добавлена service/process handoff-когорта:
pm2 start|stop|restart|reload,supervisorctl,systemctl/service start|stop|restart|reload,docker/podman restart,docker compose restart/up -d/pull/build, reload для nginx, Angie, Apache и Caddy. - Опасные операции остаются заблокированы или требуют явного подтверждения:
rm,sudo, disk formatting, reboot/shutdown,git reset --hard,git cleanбез preflight, force push,npm audit fix, global package install,systemctl disable|mask|kill|daemon-reload, Docker prune/volume deletion, destructive DB/cluster operations, mutatingcurl/wget.
Hooks
PreToolUsesafety hook блокирует опасные shell-команды и даёт Codex конкретную следующую проверку вместо generic refusal.PermissionRequesthandoff hook автоодобряет безопасные approval prompts для команд изrules/default.rulesи MCP calls.PostToolUsehook добавляет контекст после package installs и failed commands: проверить diffs/lockfiles/tests или исправить конкретную причину падения перед повтором.- Git safety flow поддерживает stateful preflight: часть потенциально destructive Git-команд разрешается один раз после свежих
git status,git diffилиgit clean -ndв той же рабочей директории. - Конфиг обновлён на актуальный feature flag
[features].hooks = trueдля Codex 0.130.0+.
Documentation
- README на английском и русском языках.
- Описаны установка, dry-run, backup mode, безопасная модель, MCP coverage, plugins, hooks, rules, структура репозитория и рекомендации по публикации.
- Добавлены source links для plugins/MCP routes и инструкции по перезапуску Codex после установки.
Verification
- Добавлен
scripts/validate-pack.py. - Проверяется TOML agents, portability skill paths, YAML frontmatter skills, config template, hook syntax, hook template events и наличие безопасного command approval allowlist.
- На момент релиза validation проходит.
EN
First public release of Codex Starter Kit: a ready-to-use baseline for OpenAI Codex CLI, designed for handoff-style development with fewer manual prompts while keeping strong guardrails around truly dangerous operations.
Included
- Global
AGENTS.mdwith Codex working agreements: preserving user work, codebase navigation, verification rules, Git behavior, MCP routing, skills usage, and subagent policy. - Custom agents for development, review, QA, DevOps, product, design, data, security, SRE, and related roles.
- Skills for practical engineering work: backend/frontend, TypeScript, Python, Node.js, FastAPI, Next.js, Vue/Nuxt, databases, security, Docker, Terraform, GitHub, GitNexus, testing, architecture, planning, and more.
install.py/install.shinstaller that deploys the starter kit into~/.codexand~/.agents/skills, backs up managed files, and runs baseline validation.- Baseline
config.tomlfor Codex CLI with GitHub and Superpowers plugins, public docs MCP servers, hooks enabled, and network access inside the workspace-write sandbox.
Handoff Approvals And Safety
- Added
rules/default.rulesfor auto-approving safe commands: file reads, search, Linux diagnostics, package metadata, test/lint/build/typecheck/format, GitHub CLI read flows, Docker/Kubernetes/Terraform inspection, and common npm/pnpm/yarn/bun/deno/python/go/rust/dotnet/java/php/ruby/swift/flutter workflows. - Added safe npm/pnpm workspace forms:
pnpm --filter,pnpm -F,pnpm -r,pnpm --dir,npm --workspace,npm -w,npm --workspaces,npm --prefix. - Added auto-approval for
npx gitnexus analyze,npm install, package metadata checks, and MCP tool calls for handoff flow. - Added a service/process handoff cohort:
pm2 start|stop|restart|reload,supervisorctl,systemctl/service start|stop|restart|reload,docker/podman restart,docker compose restart/up -d/pull/build, and reload commands for nginx, Angie, Apache, and Caddy. - Dangerous operations remain blocked or require explicit approval:
rm,sudo, disk formatting, reboot/shutdown,git reset --hard,git cleanwithout preflight, force push,npm audit fix, global package installs,systemctl disable|mask|kill|daemon-reload, Docker prune/volume deletion, destructive DB/cluster operations, and mutatingcurl/wget.
Hooks
PreToolUsesafety hook blocks dangerous shell commands and gives Codex a concrete next check instead of a generic refusal.PermissionRequesthandoff hook auto-approves safe approval prompts for commands covered byrules/default.rulesand MCP calls.PostToolUsehook adds context after package installs and failed commands: inspect diffs/lockfiles/tests or fix the concrete failure before retrying.- Git safety flow supports stateful preflight: selected potentially destructive Git commands are allowed once after fresh
git status,git diff, orgit clean -ndin the same working directory. - Config uses the current
[features].hooks = truefeature flag for Codex 0.130.0+.
Documentation
- README in English and Russian.
- Documents installation, dry-run, backup mode, safety model, MCP coverage, plugins, hooks, rules, repository structure, and publishing guidance.
- Adds source links for plugins/MCP routes and restart instructions after installation.
Verification
- Added
scripts/validate-pack.py. - Validates agent TOML, portable skill paths, skill YAML frontmatter, config template, hook syntax, hook template events, and the safe command approval allowlist.
- Validation passes at release time.