@gian-tiaga/eda 0.2.1 → 0.2.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -105,9 +105,9 @@ eda update # синхронизировать скилы в текущ
105
105
  | Среда | Куда |
106
106
  |---|---|
107
107
  | **Claude Code** | `<project>/.claude/skills/<skill>/SKILL.md` — отдельная папка на каждый скил |
108
- | **Codex CLI** | `<project>/.codex/skills/<skill>.md` — отдельный файл на каждый скил |
108
+ | **Codex CLI** | `<project>/.codex/skills/<skill>/SKILL.md` — отдельная папка на каждый скил |
109
109
 
110
- `eda update` идемпотентно перезаписывает файлы в обеих папках. Если ты хочешь подправить скил локально — лучше копию сделай рядом, а не прямо в `.claude/skills/` или `.codex/skills/`, иначе при следующем `update` твои правки потеряются.
110
+ `eda update` идемпотентно перезаписывает файлы в обеих папках. При обновлении старые файлы Codex-формата `<project>/.codex/skills/<skill>.md`, созданные версиями `eda` до этой структуры, удаляются. Если ты хочешь подправить скил локально — лучше копию сделай рядом, а не прямо в `.claude/skills/` или `.codex/skills/`, иначе при следующем `update` твои правки потеряются.
111
111
 
112
112
  `AGENTS.md` (как и любые другие файлы в корне проекта) установщик **не трогает**. Если хочешь, чтобы Codex автоматически подгружал скилы, дай ему знать сам — например, одной строкой в `AGENTS.md`: «следуй инструкциям из `.codex/skills/`».
113
113
 
@@ -72,9 +72,19 @@ sources:
72
72
  | Claude Code (`Agent` tool) | `model: "haiku"` | `model: "sonnet"` | `model: "opus"` |
73
73
  | Codex CLI (`codex exec --model …`) | `gpt-5.4-mini` | `gpt-5.3-codex` | `gpt-5.5` |
74
74
 
75
- В Codex запускай три параллельных `codex exec --model <id>` через `Bash` с `&`. Если `gpt-5.5` недоступен (ограничение account/auth) — возьми `gpt-5.4` как мощную. Если какой-либо идентификатор отсутствует у тебя — возьми ближайший аналог того же тира из доступных в твоей версии Codex.
75
+ В Claude Code запускай три параллельных `Agent` tool с моделями из таблицы и передавай им промпты нужной глубины из таблицы ниже. В Codex запускай три параллельных `codex exec --model <id>` через `Bash` с `&`. Если `gpt-5.5` недоступен (ограничение account/auth) — возьми `gpt-5.4` как мощную. Если какой-либо идентификатор отсутствует у тебя — возьми ближайший аналог того же тира из доступных в твоей версии Codex.
76
76
 
77
- Каждому передай путь к файлу плана и `docs/rules.md`, `docs/arch.md` (если есть). Попроси: «прочитай план; проверь, что шаги **реалистичны и не ломают ничего вокруг** нет ли пропущенных шагов, неучтённых зависимостей, нарушений правил и архитектуры, рисков для смежного кода, шагов без критерия готовности. Верни список `+ N | − N | ~ N: причина` без воды.»
77
+ Каждому передай путь к файлу плана, `docs/rules.md`, `docs/arch.md` (если есть), исследование из `sources.research` (если есть). Формулируй задание как содержательную проверку с глубиной чтения, указанной для тира модели ниже.
78
+
79
+ Глубина проверки зависит от модели:
80
+
81
+ | Модель | Что просить |
82
+ |---|---|
83
+ | Слабая | Быстро проверить план, правила, архитектуру и исследование; код смотреть только точечно, если без этого нельзя оценить риск. |
84
+ | Средняя | Проверить план по исследованию и прочитать релевантные файлы/контракты, которые прямо следуют из плана; найти пропущенные шаги, зависимости и тесты. |
85
+ | Мощная | Провести глубокую проверку: прочитать план, правила, архитектуру, исследование и релевантный код настолько глубоко, чтобы подтвердить реализуемость шагов, совместимость со смежным кодом, нужные тесты и отсутствие скрытых архитектурных рисков. |
86
+
87
+ Базовый формат ответа для всех: `+ N | − N | ~ N: причина`, без воды. Для мощной модели добавь явную инструкцию: «Если план ссылается на модуль, API, тесты или сценарий, открой соответствующие файлы и проверь фактическую структуру проекта.»
78
88
 
79
89
  Когда все три ответили — прочитай ответы, **сам реши**, что применять (не вставляй чужие пункты механически). Внеси правки в файл плана. Допиши в конец раздел:
80
90
 
@@ -92,11 +102,16 @@ sources:
92
102
  ### 6. Кросс-CLI — только в `strict`
93
103
  Обычный режим — пропусти этапы 6–7, иди на финал.
94
104
 
95
- В `strict`: отдай файл соседнему агенту через `Bash`:
105
+ В `strict`: отдай файл соседнему агенту через `Bash`. Если ты в Claude Code — запускай Codex CLI:
106
+
107
+ ```bash
108
+ codex exec "Прочитай $PLAN_FILE, docs/rules.md, docs/arch.md, связанное исследование из sources.research при наличии. Затем глубоко проверь план по релевантному коду: открой файлы, модули, API и тесты, которые следуют из плана, и оцени фактическую реализуемость. Критическое ревью на русском: пропущенные шаги, неучтённые зависимости, нарушения правил и архитектуры, скрытые риски, риски для смежного кода, недостающие тесты, шаги без критериев готовности. Список '- [тип] описание — что предлагаешь'." > "${PLAN_FILE%.md}_review.md"
109
+ ```
110
+
111
+ Если ты в Codex — запускай Claude CLI с теми же требованиями глубины:
96
112
 
97
113
  ```bash
98
- codex exec "Прочитай $PLAN_FILE. Критическое ревью на русском: пропущенные шаги, неучтённые зависимости, нарушения docs/rules.md и docs/arch.md, скрытые риски, шаги без критериев готовности. Список '- [тип] описание — что предлагаешь'." > "${PLAN_FILE%.md}_review.md"
99
- # Если ты Codex — claude -p вместо codex exec.
114
+ claude -p "Прочитай $PLAN_FILE, docs/rules.md, docs/arch.md, связанное исследование из sources.research при наличии. Затем глубоко проверь план по релевантному коду: открой файлы, модули, API и тесты, которые следуют из плана, и оцени фактическую реализуемость. Критическое ревью на русском: пропущенные шаги, неучтённые зависимости, нарушения правил и архитектуры, скрытые риски, риски для смежного кода, недостающие тесты, шаги без критериев готовности. Список '- [тип] описание — что предлагаешь'." > "${PLAN_FILE%.md}_review.md"
100
115
  ```
101
116
 
102
117
  Соседней CLI нет — `AskUserQuestion`: продолжать без ревью или прервать.
@@ -72,11 +72,18 @@ reviewer: <pending | none | claude | codex>
72
72
  ### 5. Кросс-ревью — только в `strict`
73
73
  Обычный режим — пропусти этапы 5–6, иди на финал. `reviewer: none`, `status: draft`.
74
74
 
75
- В `strict`: отдай файл соседнему агенту через `Bash`:
75
+ В `strict`: отдай файл соседнему агенту через `Bash` и сформулируй задание как глубокую проверку исследования по коду, документам и источникам.
76
+
77
+ Если ты в Claude Code — запускай Codex CLI:
78
+
79
+ ```bash
80
+ codex exec "Прочитай $RESEARCH_FILE, docs/rules.md, docs/arch.md при наличии и все источники, на которые ссылается исследование. Затем глубоко проверь исследование по релевантному коду и документам: открой файлы, модули, API, тесты и внешние источники, которые нужны для проверки фактов. Критическое ревью на русском: фактические ошибки, пропущенные риски, неподтверждённые утверждения, неточности диаграмм, неверные выводы, риски для будущего плана/реализации. Список '- [тип] описание — что предлагаешь'." > "${RESEARCH_FILE%.md}_review.md"
81
+ ```
82
+
83
+ Если ты в Codex — запускай Claude CLI с теми же требованиями глубины:
76
84
 
77
85
  ```bash
78
- codex exec "Прочитай $RESEARCH_FILE. Критическое ревью на русском: фактические ошибки, пропущенные риски, неподтверждённые утверждения, неточности диаграмм. Список '- [тип] описание — что предлагаешь'." > "${RESEARCH_FILE%.md}_review.md"
79
- # Если ты Codex — claude -p вместо codex exec.
86
+ claude -p "Прочитай $RESEARCH_FILE, docs/rules.md, docs/arch.md при наличии и все источники, на которые ссылается исследование. Затем глубоко проверь исследование по релевантному коду и документам: открой файлы, модули, API, тесты и внешние источники, которые нужны для проверки фактов. Критическое ревью на русском: фактические ошибки, пропущенные риски, неподтверждённые утверждения, неточности диаграмм, неверные выводы, риски для будущего плана/реализации. Список '- [тип] описание — что предлагаешь'." > "${RESEARCH_FILE%.md}_review.md"
80
87
  ```
81
88
 
82
89
  CLI нет — `AskUserQuestion`: продолжать без ревью или прервать.
@@ -74,9 +74,19 @@ meta_reviewers: []
74
74
  | Claude Code (`Agent` tool) | `model: "haiku"` | `model: "sonnet"` | `model: "opus"` |
75
75
  | Codex CLI (`codex exec --model …`) | `gpt-5.4-mini` | `gpt-5.3-codex` | `gpt-5.5` |
76
76
 
77
- В Codex три параллельных `codex exec --model <id>` через `Bash` с `&`. Если `gpt-5.5` недоступен (ограничение account/auth) — возьми `gpt-5.4` как мощную. Если какой-либо идентификатор отсутствует у тебя — возьми ближайший аналог того же тира из доступных в твоей версии Codex.
77
+ В Claude Code запускай три параллельных `Agent` tool с моделями из таблицы и передавай им промпты нужной глубины из таблицы ниже. В Codex запускай три параллельных `codex exec --model <id>` через `Bash` с `&`. Если `gpt-5.5` недоступен (ограничение account/auth) — возьми `gpt-5.4` как мощную. Если какой-либо идентификатор отсутствует у тебя — возьми ближайший аналог того же тира из доступных в твоей версии Codex.
78
78
 
79
- Каждому дай путь к файлу ревью + указание на `$TARGET` и попроси: «прочитай ревью и diff; предложи, какие пункты добавить (которых не хватает), какие убрать (избыточные/неверные), какие переформулировать. Список `+ N | N | ~ N: причина`. Без воды.»
79
+ Каждому дай путь к файлу ревью, указание на `$TARGET`, `docs/rules.md`, `docs/arch.md` (если есть), связанный план/research (если ревью на них ссылается). Формулируй задание как содержательную проверку с глубиной чтения, указанной для тира модели ниже.
80
+
81
+ Глубина проверки зависит от модели:
82
+
83
+ | Модель | Что просить |
84
+ |---|---|
85
+ | Слабая | Быстро проверить ревью, diff и правила; код смотреть только точечно, если без этого нельзя оценить пункт. |
86
+ | Средняя | Проверить ревью по diff и прочитать релевантные файлы/контракты, которые прямо следуют из изменений; найти пропущенные или неверные замечания. |
87
+ | Мощная | Провести глубокую проверку: прочитать ревью, diff, правила, архитектуру, связанный план/research и релевантный код настолько глубоко, чтобы подтвердить корректность замечаний, найти пропущенные баги, риски для смежного кода и недостающие тесты. |
88
+
89
+ Базовый формат ответа для всех: `+ N | − N | ~ N: причина`, без воды. Для мощной модели добавь явную инструкцию: «Если ревью или diff ссылаются на модуль, API, тесты или сценарий, открой соответствующие файлы и проверь фактическое поведение проекта.»
80
90
 
81
91
  Когда все три ответили: прочитай ответы, **сам реши**, что применять. Внеси правки в файл ревью. В разделе `## Изменения после мета-ревью` запиши:
82
92
 
@@ -92,10 +102,16 @@ meta_reviewers: []
92
102
  ### 4. Кросс-CLI: отдать соседнему агенту — только в `strict`
93
103
  Обычный режим — пропусти этап 4, иди на финал. `status: meta-reviewed` оставь как есть.
94
104
 
95
- В `strict`: если ты Claude отдай Codex, и наоборот. Передай путь к файлу ревью и `$TARGET`:
105
+ В `strict`: отдай файл соседнему агенту через `Bash`. Если ты в Claude Code запускай Codex CLI:
106
+
107
+ ```bash
108
+ codex exec "Прочитай $REVIEW_FILE, $TARGET, docs/rules.md, docs/arch.md, связанный план/research при наличии. Затем глубоко проверь ревью по релевантному коду: открой файлы, модули, API и тесты, которые следуют из diff и замечаний, и оцени фактическую корректность. Мета-ревью на русском: какие пункты добавить, убрать, переформулировать; какие баги, риски для смежного кода и недостающие тесты пропущены. Список '+ N | − N | ~ N: причина'." > "${REVIEW_FILE%.md}_cli_meta.md"
109
+ ```
110
+
111
+ Если ты в Codex — запускай Claude CLI с теми же требованиями глубины:
96
112
 
97
113
  ```bash
98
- codex exec "Прочитай $REVIEW_FILE и $TARGET. Мета-ревью на русском: какие пункты добавить, убрать, переформулировать. Список '+ N | − N | ~ N: причина'." > "${REVIEW_FILE%.md}_cli_meta.md"
114
+ claude -p "Прочитай $REVIEW_FILE, $TARGET, docs/rules.md, docs/arch.md, связанный план/research при наличии. Затем глубоко проверь ревью по релевантному коду: открой файлы, модули, API и тесты, которые следуют из diff и замечаний, и оцени фактическую корректность. Мета-ревью на русском: какие пункты добавить, убрать, переформулировать; какие баги, риски для смежного кода и недостающие тесты пропущены. Список '+ N | − N | ~ N: причина'." > "${REVIEW_FILE%.md}_cli_meta.md"
99
115
  ```
100
116
 
101
117
  Соседней CLI нет — `AskUserQuestion`: завершить как есть или прервать.
package/lib/install.js CHANGED
@@ -92,12 +92,23 @@ async function installToCodex(cwd, skills) {
92
92
  const dst = path.join(cwd, '.codex/skills');
93
93
  await fs.mkdir(dst, { recursive: true });
94
94
  for (const skill of skills) {
95
+ const skillDir = path.join(dst, skill.name);
96
+ await fs.mkdir(skillDir, { recursive: true });
95
97
  const content = await fs.readFile(skill.path, 'utf-8');
96
- await fs.writeFile(path.join(dst, `${skill.name}.md`), content);
98
+ await fs.writeFile(path.join(skillDir, 'SKILL.md'), content);
99
+ await removeObsoleteCodexFile(dst, skill.name);
97
100
  }
98
101
  process.stdout.write(` ✓ Codex CLI: ${dst}\n`);
99
102
  }
100
103
 
104
+ async function removeObsoleteCodexFile(dst, skillName) {
105
+ try {
106
+ await fs.rm(path.join(dst, `${skillName}.md`));
107
+ } catch (err) {
108
+ if (err?.code !== 'ENOENT') throw err;
109
+ }
110
+ }
111
+
101
112
  async function dirExists(p) {
102
113
  try {
103
114
  const st = await fs.stat(p);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gian-tiaga/eda",
3
- "version": "0.2.1",
3
+ "version": "0.2.3",
4
4
  "description": "Набор скилов eda-* для Claude Code и Codex CLI: research, plan, execute, review, fix, send-review, commit, docs, automate",
5
5
  "type": "module",
6
6
  "bin": {
@@ -16,7 +16,7 @@
16
16
  "node": ">=18"
17
17
  },
18
18
  "scripts": {
19
- "test": "node --test test/"
19
+ "test": "node --test \"test/**/*.test.js\""
20
20
  },
21
21
  "keywords": [
22
22
  "claude",