Skip to content

Releases: VKirill/codex-starter-kit

v0.1.4 — Claude Companion Review Plugin

14 May 14:00

Choose a tag to compare

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

14 May 00:15

Choose a tag to compare

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.py
  • python3 scripts/validate-pack.py
  • git 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.
  • 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.
  • auto and always now use the LLM whenever credentials are available; HANDOFF_CLASSIFIER_LLM=off enables deterministic-only offline mode.
  • Default timeout is now 6.0 to 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.py
  • python3 scripts/validate-pack.py
  • git 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

13 May 23:59

Choose a tag to compare

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, если они есть в проекте.
  • Короткие 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.py
  • python3 scripts/validate-pack.py
  • git 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.py now emits not only intent/flags, but also a professional normalized_task_brief for 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.md project rules, including GitNexus impact analysis and detect_changes when present.
  • 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.json when the private path is read-only;
    • override via HANDOFF_CLASSIFIER_STATE_PATH;
    • state is capped and written with 0600 permissions.
  • Added redaction for common secrets before context reuse: sk-*, OPENAI_API_KEY=..., TOKEN=..., Authorization: Bearer ....
  • Raised the default LLM timeout to 4.0 so 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.py
  • python3 scripts/validate-pack.py
  • git diff --check
  • manual two-step follow-up prompt test: full prompt -> доработай пожалуйста
  • manual repo profile tests for selfystudio/apps/admin and selfystudio/packages/ai-prompts

Codex Starter Kit v0.1.1

13 May 20:47

Choose a tag to compare

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 только при явном разрешении.
  • Добавлен UserPromptSubmit hook handoff-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.
  • PostToolUse hook теперь подсказывает self-review после git diff и verification-команд, чтобы Codex сверял изменения с task ledger и явно называл непроверенные риски.
  • templates/AGENTS.md усилен handoff intake scoring и task-ledger правилами.
  • Глобальные hooks и AGENTS.md синхронизированы с новой handoff-моделью.
  • Добавлен ru-text skill и переносимый cross-link из copywriter; создан copywriter agent.
  • 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_orchestrator for Codex handoff: intake scoring, task ledger, inline-first workflow, shared-root-cause discovery, review/verification loop, and subagents only when explicitly authorized.
  • Added the UserPromptSubmit hook handoff-intake-classifier.py for 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.env exists; 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.
  • PostToolUse now nudges self-review after git diff and verification commands so Codex maps changes back to the task ledger and reports unverified risk.
  • Strengthened templates/AGENTS.md with handoff intake scoring and task-ledger rules.
  • Synced global hooks and AGENTS.md with the new handoff model.
  • Added the ru-text skill, portable cross-linking from copywriter, and a dedicated copywriter agent.
  • 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.py passed.
  • Classifier hook smoke-tested: no-op without private file, deterministic mode, and LLM fallback through private env.
  • Installed ~/.codex/hooks.json checked for UserPromptSubmit, PermissionRequest, PreToolUse, and PostToolUse.

Codex Starter Kit v0.1.0

13 May 17:00

Choose a tag to compare

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, mutating curl/wget.

Hooks

  • PreToolUse safety hook блокирует опасные shell-команды и даёт Codex конкретную следующую проверку вместо generic refusal.
  • PermissionRequest handoff hook автоодобряет безопасные approval prompts для команд из rules/default.rules и MCP calls.
  • PostToolUse hook добавляет контекст после 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.md with 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.sh installer that deploys the starter kit into ~/.codex and ~/.agents/skills, backs up managed files, and runs baseline validation.
  • Baseline config.toml for 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.rules for 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 clean without preflight, force push, npm audit fix, global package installs, systemctl disable|mask|kill|daemon-reload, Docker prune/volume deletion, destructive DB/cluster operations, and mutating curl/wget.

Hooks

  • PreToolUse safety hook blocks dangerous shell commands and gives Codex a concrete next check instead of a generic refusal.
  • PermissionRequest handoff hook auto-approves safe approval prompts for commands covered by rules/default.rules and MCP calls.
  • PostToolUse hook 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, or git clean -nd in the same working directory.
  • Config uses the current [features].hooks = true feature 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.