@monoes/monomindcli 2.10.26 → 2.10.28

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.
@@ -4,7 +4,7 @@
4
4
  import * as fs from 'node:fs';
5
5
  import * as path from 'node:path';
6
6
  import { convertAgentMd, convertCommandMd, convertSkillMd, generateAgentsMd, generateHooksPlugin, generateOpencodeJson, generateStatusCommand, opencodeCommandFilename, } from './opencode-generator.js';
7
- import { atomicWriteFile, extractFmName, isLikelyUserFile, walkMdFiles } from './shared.js';
7
+ import { atomicWriteFile, extractFmName, isLikelyUserFile, isSafeConversionTarget, walkMdFiles, } from './shared.js';
8
8
  /**
9
9
  * Write opencode artifacts. ADDITIVE — only invoked when
10
10
  * `components.opencode` is set. Never touches .claude/ or .gemini/.
@@ -68,56 +68,63 @@ export async function writeOpencodeFiles(targetDir, options, result) {
68
68
  const srcAgents = path.join(claudeDir, 'agents');
69
69
  if (fs.existsSync(srcAgents)) {
70
70
  const destAgents = path.join(targetDir, '.opencode', 'agent');
71
- for (const rel of walkMdFiles(srcAgents)) {
72
- const abs = path.join(srcAgents, rel);
73
- if (!isLikelyUserFile(rel))
74
- continue; // skip READMEs etc.
75
- const src = fs.readFileSync(abs, 'utf-8');
76
- const fallback = path.basename(rel, '.md');
77
- const converted = convertAgentMd(src, fallback);
78
- const name = extractFmName(converted) || fallback;
79
- if (seenAgents.has(name))
80
- continue;
81
- seenAgents.add(name);
82
- fs.mkdirSync(destAgents, { recursive: true });
83
- atomicWriteFile(path.join(destAgents, `${name}.md`), converted);
84
- agentCount++;
71
+ if (isSafeConversionTarget(destAgents, claudeDir, result, '.opencode/agent')) {
72
+ for (const rel of walkMdFiles(srcAgents)) {
73
+ const abs = path.join(srcAgents, rel);
74
+ if (!isLikelyUserFile(rel))
75
+ continue; // skip READMEs etc.
76
+ const src = fs.readFileSync(abs, 'utf-8');
77
+ const fallback = path.basename(rel, '.md');
78
+ const converted = convertAgentMd(src, fallback);
79
+ const name = extractFmName(converted) || fallback;
80
+ if (seenAgents.has(name))
81
+ continue;
82
+ seenAgents.add(name);
83
+ fs.mkdirSync(destAgents, { recursive: true });
84
+ atomicWriteFile(path.join(destAgents, `${name}.md`), converted);
85
+ agentCount++;
86
+ }
85
87
  }
86
88
  }
87
89
  // Commands → .opencode/command/<category>-<name>.md (namespace preserved)
88
90
  const srcCommands = path.join(claudeDir, 'commands');
89
91
  if (fs.existsSync(srcCommands)) {
90
92
  const destCommands = path.join(targetDir, '.opencode', 'command');
91
- for (const rel of walkMdFiles(srcCommands)) {
92
- const abs = path.join(srcCommands, rel);
93
- if (!isLikelyUserFile(rel))
94
- continue;
95
- const segs = rel.split(path.sep);
96
- const category = segs.length > 1 ? segs[0] : 'monomind';
97
- const fileBase = path.basename(rel, '.md');
98
- const src = fs.readFileSync(abs, 'utf-8');
99
- const converted = convertCommandMd(src, category, fileBase);
100
- fs.mkdirSync(destCommands, { recursive: true });
101
- atomicWriteFile(path.join(destCommands, opencodeCommandFilename(category, fileBase)), converted);
102
- commandCount++;
93
+ if (isSafeConversionTarget(destCommands, claudeDir, result, '.opencode/command')) {
94
+ for (const rel of walkMdFiles(srcCommands)) {
95
+ const abs = path.join(srcCommands, rel);
96
+ if (!isLikelyUserFile(rel))
97
+ continue;
98
+ const segs = rel.split(path.sep);
99
+ const category = segs.length > 1 ? segs[0] : 'monomind';
100
+ const fileBase = path.basename(rel, '.md');
101
+ const src = fs.readFileSync(abs, 'utf-8');
102
+ const converted = convertCommandMd(src, category, fileBase);
103
+ fs.mkdirSync(destCommands, { recursive: true });
104
+ atomicWriteFile(path.join(destCommands, opencodeCommandFilename(category, fileBase)), converted);
105
+ commandCount++;
106
+ }
103
107
  }
104
108
  }
105
109
  // Skills → .opencode/skills/<name>/SKILL.md (same shape)
106
110
  const srcSkills = path.join(claudeDir, 'skills');
107
111
  if (fs.existsSync(srcSkills)) {
108
- for (const rel of walkMdFiles(srcSkills)) {
109
- // rel looks like "<skillName>/SKILL.md"
110
- const segs = rel.split(path.sep);
111
- if (segs.length < 2 || segs[segs.length - 1] !== 'SKILL.md')
112
- continue;
113
- const skillName = segs[0];
114
- const abs = path.join(srcSkills, rel);
115
- const src = fs.readFileSync(abs, 'utf-8');
116
- const converted = convertSkillMd(src, skillName);
117
- const destDir = path.join(targetDir, '.opencode', 'skills', skillName);
118
- fs.mkdirSync(destDir, { recursive: true });
119
- atomicWriteFile(path.join(destDir, 'SKILL.md'), converted);
120
- skillCount++;
112
+ const destSkillsRoot = path.join(targetDir, '.opencode', 'skills');
113
+ if (isSafeConversionTarget(destSkillsRoot, claudeDir, result, '.opencode/skills')) {
114
+ for (const rel of walkMdFiles(srcSkills)) {
115
+ // rel looks like "<skillName>/SKILL.md"
116
+ const segs = rel.split(path.sep);
117
+ if (segs.length < 2 || segs[segs.length - 1] !== 'SKILL.md')
118
+ continue;
119
+ const skillName = segs[0];
120
+ const abs = path.join(srcSkills, rel);
121
+ const src = fs.readFileSync(abs, 'utf-8');
122
+ const converted = convertSkillMd(src, skillName);
123
+ const destDir = path.join(destSkillsRoot, skillName);
124
+ fs.mkdirSync(destDir, { recursive: true });
125
+ atomicWriteFile(path.join(destDir, 'SKILL.md'), converted);
126
+ skillCount++;
127
+ }
121
128
  }
122
129
  }
123
130
  if (agentCount)
@@ -1 +1 @@
1
- {"version":3,"file":"write-opencode.js","sourceRoot":"","sources":["../../../src/init/write-opencode.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"write-opencode.js","sourceRoot":"","sources":["../../../src/init/write-opencode.ts"],"names":[],"mappings":"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"}