@gian-tiaga/eda 0.2.0 → 0.2.2
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 +2 -2
- package/lib/install.js +12 -1
- package/package.json +2 -2
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
|
|
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
|
|
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(
|
|
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.
|
|
3
|
+
"version": "0.2.2",
|
|
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",
|