thanh-kit 2.5.10 → 2.5.11
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/dist/index.js +45 -13
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/templates/codex/AGENTS.md +65 -0
- package/templates/codex/config.local.toml +17 -0
- package/templates/codex/config.toml +68 -4
- package/templates/gemini/GEMINI.md +44 -0
- package/templates/gemini/settings.json +68 -2
- package/templates/gemini/settings.local.json +51 -0
package/dist/index.js
CHANGED
|
@@ -175,9 +175,11 @@ function isAkProject(dir = process.cwd()) {
|
|
|
175
175
|
const akConfig = join(dir, ".ak", "state.json");
|
|
176
176
|
const claudeDir = join(dir, ".claude");
|
|
177
177
|
const geminiDir = join(dir, ".gemini");
|
|
178
|
+
const codexDir = join(dir, ".codex");
|
|
179
|
+
const agentsDir = join(dir, ".agents");
|
|
178
180
|
const opencodeDir = join(dir, ".opencode");
|
|
179
181
|
const agentDir = join(dir, ".agent");
|
|
180
|
-
return existsSync(akConfig) || existsSync(claudeDir) || existsSync(geminiDir) || existsSync(opencodeDir) || existsSync(agentDir);
|
|
182
|
+
return existsSync(akConfig) || existsSync(claudeDir) || existsSync(geminiDir) || existsSync(codexDir) || existsSync(agentsDir) || existsSync(opencodeDir) || existsSync(agentDir);
|
|
181
183
|
}
|
|
182
184
|
function getTargetDir(projectDir, target = "claude") {
|
|
183
185
|
const folder = TARGETS[target] || TARGETS.claude;
|
|
@@ -245,6 +247,8 @@ var init_paths = __esm({
|
|
|
245
247
|
TARGETS = {
|
|
246
248
|
claude: ".claude",
|
|
247
249
|
gemini: ".gemini",
|
|
250
|
+
codex: ".agents",
|
|
251
|
+
// Codex uses .agents for skills, .codex for config
|
|
248
252
|
discord: ".discord",
|
|
249
253
|
opencode: ".opencode",
|
|
250
254
|
generic: ".agent"
|
|
@@ -732,12 +736,24 @@ var init_gemini_adapter = __esm({
|
|
|
732
736
|
const { CLI_ROOT: CLI_ROOT2 } = await Promise.resolve().then(() => (init_paths(), paths_exports));
|
|
733
737
|
const geminiTemplates = join4(CLI_ROOT2, "templates", "gemini");
|
|
734
738
|
const copied = [];
|
|
735
|
-
const
|
|
736
|
-
const
|
|
737
|
-
|
|
738
|
-
|
|
739
|
-
|
|
740
|
-
|
|
739
|
+
const projectRoot = join4(targetDir, "..");
|
|
740
|
+
const settingsFiles = ["settings.json", "settings.local.json"];
|
|
741
|
+
for (const file of settingsFiles) {
|
|
742
|
+
const srcPath = join4(geminiTemplates, file);
|
|
743
|
+
const destPath = join4(targetDir, file);
|
|
744
|
+
if (fs3.existsSync(srcPath)) {
|
|
745
|
+
if (!(mergeMode && fs3.existsSync(destPath))) {
|
|
746
|
+
await fs3.copy(srcPath, destPath, { overwrite: !mergeMode });
|
|
747
|
+
copied.push(file);
|
|
748
|
+
}
|
|
749
|
+
}
|
|
750
|
+
}
|
|
751
|
+
const geminiMdSrc = join4(geminiTemplates, "GEMINI.md");
|
|
752
|
+
const geminiMdDest = join4(projectRoot, "GEMINI.md");
|
|
753
|
+
if (fs3.existsSync(geminiMdSrc)) {
|
|
754
|
+
if (!(mergeMode && fs3.existsSync(geminiMdDest))) {
|
|
755
|
+
await fs3.copy(geminiMdSrc, geminiMdDest, { overwrite: !mergeMode });
|
|
756
|
+
copied.push("GEMINI.md (project root)");
|
|
741
757
|
}
|
|
742
758
|
}
|
|
743
759
|
return copied;
|
|
@@ -791,6 +807,7 @@ var init_codex_adapter = __esm({
|
|
|
791
807
|
name: "codex",
|
|
792
808
|
displayName: "Codex CLI",
|
|
793
809
|
directory: ".agents",
|
|
810
|
+
// Main directory for skills/agents
|
|
794
811
|
features: {
|
|
795
812
|
agents: true,
|
|
796
813
|
skills: true,
|
|
@@ -895,12 +912,26 @@ var init_codex_adapter = __esm({
|
|
|
895
912
|
const { CLI_ROOT: CLI_ROOT2 } = await Promise.resolve().then(() => (init_paths(), paths_exports));
|
|
896
913
|
const codexTemplates = join5(CLI_ROOT2, "templates", "codex");
|
|
897
914
|
const copied = [];
|
|
898
|
-
const
|
|
899
|
-
const
|
|
900
|
-
|
|
901
|
-
|
|
902
|
-
|
|
903
|
-
|
|
915
|
+
const projectRoot = join5(targetDir, "..");
|
|
916
|
+
const codexConfigDir = join5(projectRoot, ".codex");
|
|
917
|
+
await fs4.ensureDir(codexConfigDir);
|
|
918
|
+
const configFiles = ["config.toml", "config.local.toml"];
|
|
919
|
+
for (const file of configFiles) {
|
|
920
|
+
const srcPath = join5(codexTemplates, file);
|
|
921
|
+
const destPath = join5(codexConfigDir, file);
|
|
922
|
+
if (fs4.existsSync(srcPath)) {
|
|
923
|
+
if (!(mergeMode && fs4.existsSync(destPath))) {
|
|
924
|
+
await fs4.copy(srcPath, destPath, { overwrite: !mergeMode });
|
|
925
|
+
copied.push(`.codex/${file}`);
|
|
926
|
+
}
|
|
927
|
+
}
|
|
928
|
+
}
|
|
929
|
+
const agentsMdSrc = join5(codexTemplates, "AGENTS.md");
|
|
930
|
+
const agentsMdDest = join5(projectRoot, "AGENTS.md");
|
|
931
|
+
if (fs4.existsSync(agentsMdSrc)) {
|
|
932
|
+
if (!(mergeMode && fs4.existsSync(agentsMdDest))) {
|
|
933
|
+
await fs4.copy(agentsMdSrc, agentsMdDest, { overwrite: !mergeMode });
|
|
934
|
+
copied.push("AGENTS.md");
|
|
904
935
|
}
|
|
905
936
|
}
|
|
906
937
|
return copied;
|
|
@@ -1615,6 +1646,7 @@ async function promptCliTargets() {
|
|
|
1615
1646
|
options: [
|
|
1616
1647
|
{ value: "claude", label: "Claude Code", hint: ".claude/" },
|
|
1617
1648
|
{ value: "gemini", label: "Gemini CLI", hint: ".gemini/" },
|
|
1649
|
+
{ value: "codex", label: "Codex CLI", hint: ".agents/ + .codex/" },
|
|
1618
1650
|
{ value: "discord", label: "Discord + Clawbot", hint: ".discord/" }
|
|
1619
1651
|
],
|
|
1620
1652
|
initialValues: ["claude"],
|