@miniidealab/openlogos 0.5.3 → 0.5.5
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/commands/init.d.ts +9 -1
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +94 -2
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/sync.d.ts.map +1 -1
- package/dist/commands/sync.js +13 -1
- package/dist/commands/sync.js.map +1 -1
- package/dist/i18n.d.ts.map +1 -1
- package/dist/i18n.js +14 -4
- package/dist/i18n.js.map +1 -1
- package/dist/index.js +2 -2
- package/opencode-plugin-template/openlogos.js +130 -0
- package/package.json +5 -4
- package/spec/agents-md.md +7 -2
- package/spec/opencode-plugin.md +183 -0
package/dist/commands/init.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type Locale } from '../i18n.js';
|
|
2
|
-
export type AiTool = 'cursor' | 'claude-code' | 'other';
|
|
2
|
+
export type AiTool = 'cursor' | 'claude-code' | 'opencode' | 'other';
|
|
3
3
|
type NameSource = 'argument' | 'package.json' | 'Cargo.toml' | 'pyproject.toml' | 'directory';
|
|
4
4
|
interface NameResult {
|
|
5
5
|
name: string;
|
|
@@ -10,6 +10,14 @@ export declare function detectProjectName(root: string): NameResult;
|
|
|
10
10
|
export declare const SKILL_NAMES: readonly ["project-init", "prd-writer", "product-designer", "architecture-designer", "scenario-architect", "api-designer", "db-designer", "test-writer", "test-orchestrator", "code-reviewer", "change-writer", "merge-executor"];
|
|
11
11
|
export declare function findSkillsSource(): string | null;
|
|
12
12
|
export declare function findSpecSource(): string | null;
|
|
13
|
+
export declare function findOpenCodePluginTemplateSource(): string | null;
|
|
14
|
+
export declare function deployOpenCodePlugin(root: string, locale?: Locale): {
|
|
15
|
+
target: string;
|
|
16
|
+
config: {
|
|
17
|
+
created: boolean;
|
|
18
|
+
updated: boolean;
|
|
19
|
+
};
|
|
20
|
+
} | null;
|
|
13
21
|
export declare function deploySpecs(root: string): {
|
|
14
22
|
count: number;
|
|
15
23
|
} | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,MAAM,EAAiD,MAAM,YAAY,CAAC;AAExF,MAAM,MAAM,MAAM,GAAG,QAAQ,GAAG,aAAa,GAAG,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,MAAM,EAAiD,MAAM,YAAY,CAAC;AAExF,MAAM,MAAM,MAAM,GAAG,QAAQ,GAAG,aAAa,GAAG,UAAU,GAAG,OAAO,CAAC;AAErE,KAAK,UAAU,GAAG,UAAU,GAAG,cAAc,GAAG,YAAY,GAAG,gBAAgB,GAAG,WAAW,CAAC;AAE9F,UAAU,UAAU;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,UAAU,CAAC;CACpB;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CA+B9D;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CAI1D;AAoFD,eAAO,MAAM,WAAW,mOAad,CAAC;AAiBX,wBAAgB,gBAAgB,IAAI,MAAM,GAAG,IAAI,CAahD;AAED,wBAAgB,cAAc,IAAI,MAAM,GAAG,IAAI,CAW9C;AAED,wBAAgB,gCAAgC,IAAI,MAAM,GAAG,IAAI,CAahE;AAuDD,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,GAAE,MAAa,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,CAAA;CAAE,GAAG,IAAI,CAiBnJ;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAalE;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,GAAE,SAAqB,GAAG,MAAM,CAkE1F;AAYD,wBAAgB,YAAY,CAC1B,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,MAAM,GAAE,MAAa,EACrB,SAAS,GAAE,SAAqB,EAChC,YAAY,CAAC,EAAE,MAAM,GACpB;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAkC1C;AAuFD,MAAM,MAAM,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAC;AAE7C,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAE,MAAiB,GAAG,MAAM,CAgDjG;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAYvE;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,QAAQ,GAAG,QAAQ,EAAE,SAAS,GAAE,SAAqB,GAAG,MAAM,CAgJtI;AAED,wBAAsB,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,iBAqFvF"}
|
package/dist/commands/init.js
CHANGED
|
@@ -84,7 +84,7 @@ async function chooseLocale() {
|
|
|
84
84
|
if (!isTTY()) {
|
|
85
85
|
console.error('Error: --locale is required in non-interactive mode.');
|
|
86
86
|
console.error('');
|
|
87
|
-
console.error('Usage: openlogos init --locale <en|zh> [--ai-tool <cursor|claude-code|other>] [name]');
|
|
87
|
+
console.error('Usage: openlogos init --locale <en|zh> [--ai-tool <cursor|claude-code|opencode|other>] [name]');
|
|
88
88
|
console.error('');
|
|
89
89
|
console.error('Ask the user to choose a language first:');
|
|
90
90
|
console.error(' --locale en English');
|
|
@@ -103,11 +103,14 @@ async function chooseAiTool(locale) {
|
|
|
103
103
|
console.log(`\n${t(locale, 'init.aiToolHeader')}`);
|
|
104
104
|
console.log(t(locale, 'init.aiToolCursor'));
|
|
105
105
|
console.log(t(locale, 'init.aiToolClaudeCode'));
|
|
106
|
+
console.log(t(locale, 'init.aiToolOpenCode'));
|
|
106
107
|
console.log(t(locale, 'init.aiToolOther') + '\n');
|
|
107
108
|
const answer = await askQuestion(t(locale, 'init.aiToolPrompt'));
|
|
108
109
|
if (answer === '2')
|
|
109
110
|
return 'claude-code';
|
|
110
111
|
if (answer === '3')
|
|
112
|
+
return 'opencode';
|
|
113
|
+
if (answer === '4')
|
|
111
114
|
return 'other';
|
|
112
115
|
return 'cursor';
|
|
113
116
|
}
|
|
@@ -163,6 +166,81 @@ export function findSpecSource() {
|
|
|
163
166
|
return devSpec;
|
|
164
167
|
return null;
|
|
165
168
|
}
|
|
169
|
+
export function findOpenCodePluginTemplateSource() {
|
|
170
|
+
const currentFile = fileURLToPath(import.meta.url);
|
|
171
|
+
const currentDir = dirname(currentFile);
|
|
172
|
+
// npm package layout: <pkg>/dist/commands/init.js → <pkg>/opencode-plugin-template/
|
|
173
|
+
const packageTemplate = join(currentDir, '..', '..', 'opencode-plugin-template');
|
|
174
|
+
if (existsSync(packageTemplate))
|
|
175
|
+
return packageTemplate;
|
|
176
|
+
// dev layout: cli/src/commands/init.ts → <repo>/plugin-opencode/template/
|
|
177
|
+
const devTemplate = join(currentDir, '..', '..', '..', 'plugin-opencode', 'template');
|
|
178
|
+
if (existsSync(devTemplate))
|
|
179
|
+
return devTemplate;
|
|
180
|
+
return null;
|
|
181
|
+
}
|
|
182
|
+
function mergeOpenCodeConfig(root) {
|
|
183
|
+
const configPath = join(root, 'opencode.json');
|
|
184
|
+
const defaultConfig = {
|
|
185
|
+
'$schema': 'https://opencode.ai/config.json',
|
|
186
|
+
permission: {
|
|
187
|
+
bash: 'ask',
|
|
188
|
+
edit: 'ask',
|
|
189
|
+
read: 'allow',
|
|
190
|
+
glob: 'allow',
|
|
191
|
+
grep: 'allow',
|
|
192
|
+
skill: 'allow',
|
|
193
|
+
},
|
|
194
|
+
};
|
|
195
|
+
if (!existsSync(configPath)) {
|
|
196
|
+
writeFileSync(configPath, JSON.stringify(defaultConfig, null, 2));
|
|
197
|
+
return { created: true, updated: true };
|
|
198
|
+
}
|
|
199
|
+
let changed = false;
|
|
200
|
+
let data = {};
|
|
201
|
+
try {
|
|
202
|
+
data = JSON.parse(readFileSync(configPath, 'utf-8'));
|
|
203
|
+
}
|
|
204
|
+
catch {
|
|
205
|
+
// invalid json: keep file intact and skip merge
|
|
206
|
+
return { created: false, updated: false };
|
|
207
|
+
}
|
|
208
|
+
if (!data['$schema']) {
|
|
209
|
+
data['$schema'] = 'https://opencode.ai/config.json';
|
|
210
|
+
changed = true;
|
|
211
|
+
}
|
|
212
|
+
const permission = (data.permission && typeof data.permission === 'object' && !Array.isArray(data.permission))
|
|
213
|
+
? data.permission
|
|
214
|
+
: {};
|
|
215
|
+
const defaults = defaultConfig.permission;
|
|
216
|
+
for (const [key, value] of Object.entries(defaults)) {
|
|
217
|
+
if (!(key in permission)) {
|
|
218
|
+
permission[key] = value;
|
|
219
|
+
changed = true;
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
data.permission = permission;
|
|
223
|
+
if (changed) {
|
|
224
|
+
writeFileSync(configPath, JSON.stringify(data, null, 2));
|
|
225
|
+
}
|
|
226
|
+
return { created: false, updated: changed };
|
|
227
|
+
}
|
|
228
|
+
export function deployOpenCodePlugin(root, locale = 'en') {
|
|
229
|
+
const source = findOpenCodePluginTemplateSource();
|
|
230
|
+
if (!source || !existsSync(source))
|
|
231
|
+
return null;
|
|
232
|
+
const pluginTargetDir = join(root, '.opencode', 'plugins');
|
|
233
|
+
mkdirSync(pluginTargetDir, { recursive: true });
|
|
234
|
+
const sourceFile = join(source, 'openlogos.js');
|
|
235
|
+
if (!existsSync(sourceFile))
|
|
236
|
+
return null;
|
|
237
|
+
copyFileSync(sourceFile, join(pluginTargetDir, 'openlogos.js'));
|
|
238
|
+
const configResult = mergeOpenCodeConfig(root);
|
|
239
|
+
return {
|
|
240
|
+
target: locale === 'zh' ? '.opencode/plugins/openlogos.js + opencode.json' : '.opencode/plugins/openlogos.js + opencode.json',
|
|
241
|
+
config: configResult,
|
|
242
|
+
};
|
|
243
|
+
}
|
|
166
244
|
export function deploySpecs(root) {
|
|
167
245
|
const source = findSpecSource();
|
|
168
246
|
if (!source || !existsSync(source))
|
|
@@ -289,6 +367,8 @@ function shouldIncludeActiveSkills(aiTool, target) {
|
|
|
289
367
|
return target === 'agents';
|
|
290
368
|
if (aiTool === 'claude-code')
|
|
291
369
|
return target === 'claude';
|
|
370
|
+
if (aiTool === 'opencode')
|
|
371
|
+
return target === 'agents';
|
|
292
372
|
return true;
|
|
293
373
|
}
|
|
294
374
|
function generateActiveSkillsSection(locale) {
|
|
@@ -571,7 +651,7 @@ export async function init(name, options) {
|
|
|
571
651
|
process.exit(1);
|
|
572
652
|
}
|
|
573
653
|
const locale = options?.locale === 'zh' ? 'zh' : options?.locale === 'en' ? 'en' : await chooseLocale();
|
|
574
|
-
const aiTool = options?.aiTool === 'claude-code' ? 'claude-code' : options?.aiTool === 'cursor' ? 'cursor' : options?.aiTool === 'other' ? 'other' : await chooseAiTool(locale);
|
|
654
|
+
const aiTool = options?.aiTool === 'claude-code' ? 'claude-code' : options?.aiTool === 'opencode' ? 'opencode' : options?.aiTool === 'cursor' ? 'cursor' : options?.aiTool === 'other' ? 'other' : await chooseAiTool(locale);
|
|
575
655
|
const { name: projectName, source: nameSource } = await resolveProjectName(locale, root, name);
|
|
576
656
|
const sourceLabel = {
|
|
577
657
|
'argument': '',
|
|
@@ -599,6 +679,18 @@ export async function init(name, options) {
|
|
|
599
679
|
if (deployResult && deployResult.count > 0) {
|
|
600
680
|
console.log(` ✓ ${t(locale, 'init.skillsDeployed', { count: String(deployResult.count), target: deployResult.target })}`);
|
|
601
681
|
}
|
|
682
|
+
if (aiTool === 'opencode') {
|
|
683
|
+
const pluginResult = deployOpenCodePlugin(root, locale);
|
|
684
|
+
if (pluginResult) {
|
|
685
|
+
console.log(` ✓ ${t(locale, 'init.opencodePluginDeployed', { target: pluginResult.target })}`);
|
|
686
|
+
if (pluginResult.config.created) {
|
|
687
|
+
console.log(` ✓ ${t(locale, 'init.opencodeConfigCreated')}`);
|
|
688
|
+
}
|
|
689
|
+
else if (pluginResult.config.updated) {
|
|
690
|
+
console.log(` ✓ ${t(locale, 'init.opencodeConfigUpdated')}`);
|
|
691
|
+
}
|
|
692
|
+
}
|
|
693
|
+
}
|
|
602
694
|
const specResult = deploySpecs(root);
|
|
603
695
|
if (specResult && specResult.count > 0) {
|
|
604
696
|
console.log(` ✓ ${specResult.count} specs deployed to logos/spec/`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../src/commands/sync.ts"],"names":[],"mappings":"AAKA,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,WAerE;AAED,wBAAgB,IAAI,
|
|
1
|
+
{"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../src/commands/sync.ts"],"names":[],"mappings":"AAKA,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,WAerE;AAED,wBAAgB,IAAI,SAyEnB"}
|
package/dist/commands/sync.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { readFileSync, writeFileSync, existsSync } from 'node:fs';
|
|
2
2
|
import { join } from 'node:path';
|
|
3
3
|
import { readLocale, t } from '../i18n.js';
|
|
4
|
-
import { createAgentsMd, deploySkills, deploySpecs } from './init.js';
|
|
4
|
+
import { createAgentsMd, deploySkills, deploySpecs, deployOpenCodePlugin } from './init.js';
|
|
5
5
|
export function syncLogosProjectName(root, projectName) {
|
|
6
6
|
const yamlPath = join(root, 'logos', 'logos-project.yaml');
|
|
7
7
|
if (!existsSync(yamlPath))
|
|
@@ -60,6 +60,18 @@ export function sync() {
|
|
|
60
60
|
if (deployResult && deployResult.count > 0) {
|
|
61
61
|
console.log(` ✓ ${t(locale, 'init.skillsSynced', { count: String(deployResult.count), target: deployResult.target })}`);
|
|
62
62
|
}
|
|
63
|
+
if (aiTool === 'opencode') {
|
|
64
|
+
const pluginResult = deployOpenCodePlugin(root, locale);
|
|
65
|
+
if (pluginResult) {
|
|
66
|
+
console.log(` ✓ ${t(locale, 'init.opencodePluginSynced', { target: pluginResult.target })}`);
|
|
67
|
+
if (pluginResult.config.created) {
|
|
68
|
+
console.log(` ✓ ${t(locale, 'init.opencodeConfigCreated')}`);
|
|
69
|
+
}
|
|
70
|
+
else if (pluginResult.config.updated) {
|
|
71
|
+
console.log(` ✓ ${t(locale, 'init.opencodeConfigUpdated')}`);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
}
|
|
63
75
|
const specResult = deploySpecs(root);
|
|
64
76
|
if (specResult && specResult.count > 0) {
|
|
65
77
|
console.log(` ✓ ${specResult.count} specs synced to logos/spec/`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync.js","sourceRoot":"","sources":["../../src/commands/sync.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAClE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,WAAW,EAA+B,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"sync.js","sourceRoot":"","sources":["../../src/commands/sync.ts"],"names":[],"mappings":"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"}
|
package/dist/i18n.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"i18n.d.ts","sourceRoot":"","sources":["../src/i18n.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC;AAEjC,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAQ/C;
|
|
1
|
+
{"version":3,"file":"i18n.d.ts","sourceRoot":"","sources":["../src/i18n.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC;AAEjC,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAQ/C;AA2ND,wBAAgB,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAQpF;AAGD,eAAO,MAAM,UAAU,qIAIb,CAAC;AAEX,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAU/C,CAAC;AAIF,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAyCrE;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAuCpD;AAED,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,eAAe,EAAE,MAAM,EACvB,MAAM,EAAE,KAAK,CAAC;IAAE,YAAY,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC,GAChF,MAAM,CA0ER;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CASzD;AAED,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAO7D"}
|
package/dist/i18n.js
CHANGED
|
@@ -29,10 +29,15 @@ const messages = {
|
|
|
29
29
|
'init.aiToolHeader': 'Choose AI coding tool / 选择 AI 编码工具:',
|
|
30
30
|
'init.aiToolCursor': ' 1. Cursor (default)',
|
|
31
31
|
'init.aiToolClaudeCode': ' 2. Claude Code',
|
|
32
|
-
'init.
|
|
33
|
-
'init.
|
|
32
|
+
'init.aiToolOpenCode': ' 3. OpenCode',
|
|
33
|
+
'init.aiToolOther': ' 4. Other',
|
|
34
|
+
'init.aiToolPrompt': 'Your choice [1/2/3/4] (default: 1): ',
|
|
34
35
|
'init.skillsDeployed': '{count} skills deployed to {target}',
|
|
35
36
|
'init.skillsSynced': '{count} skills synced to {target}',
|
|
37
|
+
'init.opencodePluginDeployed': 'OpenCode plugin deployed to {target}',
|
|
38
|
+
'init.opencodePluginSynced': 'OpenCode plugin synced to {target}',
|
|
39
|
+
'init.opencodeConfigCreated': 'opencode.json created with recommended permission defaults',
|
|
40
|
+
'init.opencodeConfigUpdated': 'opencode.json merged with missing recommended permission defaults',
|
|
36
41
|
// status
|
|
37
42
|
'phase.1': 'Phase 1 · Requirements (WHY)',
|
|
38
43
|
'phase.2': 'Phase 2 · Product Design (WHAT)',
|
|
@@ -125,10 +130,15 @@ const messages = {
|
|
|
125
130
|
'init.aiToolHeader': '选择 AI 编码工具:',
|
|
126
131
|
'init.aiToolCursor': ' 1. Cursor(默认)',
|
|
127
132
|
'init.aiToolClaudeCode': ' 2. Claude Code',
|
|
128
|
-
'init.
|
|
129
|
-
'init.
|
|
133
|
+
'init.aiToolOpenCode': ' 3. OpenCode',
|
|
134
|
+
'init.aiToolOther': ' 4. 其他',
|
|
135
|
+
'init.aiToolPrompt': '请选择 [1/2/3/4](默认: 1): ',
|
|
130
136
|
'init.skillsDeployed': '{count} 个 Skills 已部署到 {target}',
|
|
131
137
|
'init.skillsSynced': '{count} 个 Skills 已同步到 {target}',
|
|
138
|
+
'init.opencodePluginDeployed': 'OpenCode 插件已部署到 {target}',
|
|
139
|
+
'init.opencodePluginSynced': 'OpenCode 插件已同步到 {target}',
|
|
140
|
+
'init.opencodeConfigCreated': '已创建 opencode.json,并写入推荐权限默认值',
|
|
141
|
+
'init.opencodeConfigUpdated': '已为 opencode.json 补齐缺失的推荐权限默认值',
|
|
132
142
|
// status
|
|
133
143
|
'phase.1': 'Phase 1 · 需求文档 (WHY)',
|
|
134
144
|
'phase.2': 'Phase 2 · 产品设计 (WHAT)',
|
package/dist/i18n.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"i18n.js","sourceRoot":"","sources":["../src/i18n.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAIjC,MAAM,UAAU,UAAU,CAAC,IAAY;IACrC,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,mBAAmB,CAAC,CAAC;IAC5D,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC;QAAE,OAAO,IAAI,CAAC;IACzC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;QAC7D,IAAI,MAAM,CAAC,MAAM,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;IAC1C,CAAC;IAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;IACxB,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,QAAQ,GAA2C;IACvD,EAAE,EAAE;QACF,OAAO;QACP,eAAe,EAAE,8DAA8D;QAC/E,WAAW,EAAE,kCAAkC;QAC/C,YAAY,EAAE,gEAAgE;QAC9E,cAAc,EAAE,sIAAsI;QACtJ,YAAY,EAAE,+DAA+D;QAC7E,YAAY,EAAE,2DAA2D;QACzE,mBAAmB,EAAE,iCAAiC;QACtD,kBAAkB,EAAE,6BAA6B;QACjD,kBAAkB,EAAE,mCAAmC;QACvD,iBAAiB,EAAE,wDAAwD;QAC3E,iBAAiB,EAAE,kCAAkC;QACrD,mBAAmB,EAAE,qCAAqC;QAC1D,mBAAmB,EAAE,uBAAuB;QAC5C,uBAAuB,EAAE,kBAAkB;QAC3C,kBAAkB,EAAE,YAAY;QAChC,mBAAmB,EAAE,
|
|
1
|
+
{"version":3,"file":"i18n.js","sourceRoot":"","sources":["../src/i18n.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -16,7 +16,7 @@ Usage:
|
|
|
16
16
|
Commands:
|
|
17
17
|
init [name] Initialize a new OpenLogos project structure
|
|
18
18
|
--locale <en|zh> Set language (skip prompt)
|
|
19
|
-
--ai-tool <cursor|claude-code|other> Set AI tool (skip prompt)
|
|
19
|
+
--ai-tool <cursor|claude-code|opencode|other> Set AI tool (skip prompt)
|
|
20
20
|
sync Regenerate AI instruction files (AGENTS.md, CLAUDE.md)
|
|
21
21
|
status Show current project phase and suggest next steps
|
|
22
22
|
verify Verify test results against test case specs
|
|
@@ -40,7 +40,7 @@ Examples:
|
|
|
40
40
|
|
|
41
41
|
Learn more: https://openlogos.ai
|
|
42
42
|
`;
|
|
43
|
-
const VERSION = '0.5.
|
|
43
|
+
const VERSION = '0.5.4';
|
|
44
44
|
async function main() {
|
|
45
45
|
const args = process.argv.slice(2);
|
|
46
46
|
if (args.length === 0 || args.includes('--help') || args.includes('-h')) {
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
import { spawn } from "node:child_process";
|
|
2
|
+
import { access } from "node:fs/promises";
|
|
3
|
+
import { constants } from "node:fs";
|
|
4
|
+
import { join } from "node:path";
|
|
5
|
+
|
|
6
|
+
const SLUG_RE = /^[a-z0-9]+(-[a-z0-9]+)*$/;
|
|
7
|
+
const PREFIX = "/openlogos:";
|
|
8
|
+
|
|
9
|
+
const COMMANDS = {
|
|
10
|
+
status: { cli: ["status"], args: "none" },
|
|
11
|
+
// CLI 暂无 next 子命令,先映射到 status
|
|
12
|
+
next: { cli: ["status"], args: "none" },
|
|
13
|
+
sync: { cli: ["sync"], args: "none" },
|
|
14
|
+
verify: { cli: ["verify"], args: "none" },
|
|
15
|
+
launch: { cli: ["launch"], args: "none" },
|
|
16
|
+
init: { cli: ["init"], args: "optionalName" },
|
|
17
|
+
change: { cli: ["change"], args: "requiredSlug" },
|
|
18
|
+
merge: { cli: ["merge"], args: "requiredSlug" },
|
|
19
|
+
archive: { cli: ["archive"], args: "requiredSlug" },
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
function parse(raw) {
|
|
23
|
+
const cmd = String(raw || "").trim();
|
|
24
|
+
if (!cmd.startsWith(PREFIX)) return { matched: false };
|
|
25
|
+
|
|
26
|
+
const body = cmd.slice(PREFIX.length).trim();
|
|
27
|
+
if (!body) return { matched: true, ok: false, code: "E_ARG_INVALID", message: "缺少子命令" };
|
|
28
|
+
|
|
29
|
+
const [name, ...rest] = body.split(/\s+/);
|
|
30
|
+
const spec = COMMANDS[name];
|
|
31
|
+
if (!spec) return { matched: true, ok: false, code: "E_ARG_INVALID", message: `未知子命令: ${name}` };
|
|
32
|
+
|
|
33
|
+
if (spec.args === "none" && rest.length > 0) {
|
|
34
|
+
return { matched: true, ok: false, code: "E_ARG_INVALID", message: `${name} 不接受参数` };
|
|
35
|
+
}
|
|
36
|
+
if (spec.args === "optionalName" && rest.length > 1) {
|
|
37
|
+
return { matched: true, ok: false, code: "E_ARG_INVALID", message: "init 最多接受 1 个参数" };
|
|
38
|
+
}
|
|
39
|
+
if (spec.args === "requiredSlug") {
|
|
40
|
+
if (rest.length !== 1 || !SLUG_RE.test(rest[0])) {
|
|
41
|
+
return { matched: true, ok: false, code: "E_ARG_INVALID", message: `${name} 需要合法 slug` };
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
return { matched: true, ok: true, name, cliArgs: [...spec.cli, ...rest] };
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
async function ensureInitialized(cwd) {
|
|
49
|
+
try {
|
|
50
|
+
await access(join(cwd, "logos", "logos.config.json"), constants.F_OK);
|
|
51
|
+
return { ok: true };
|
|
52
|
+
} catch {
|
|
53
|
+
return { ok: false, code: "E_PROJECT_NOT_INIT", message: "项目未初始化(缺少 logos/logos.config.json)" };
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
function runOpenLogos(args, cwd, timeoutMs = 15000) {
|
|
58
|
+
return new Promise((resolve) => {
|
|
59
|
+
let stdout = "";
|
|
60
|
+
let stderr = "";
|
|
61
|
+
const child = spawn("openlogos", args, { cwd, env: process.env });
|
|
62
|
+
|
|
63
|
+
const timer = setTimeout(() => {
|
|
64
|
+
child.kill("SIGTERM");
|
|
65
|
+
resolve({ ok: false, code: "E_CMD_TIMEOUT", message: "命令超时", stdout, stderr });
|
|
66
|
+
}, timeoutMs);
|
|
67
|
+
|
|
68
|
+
child.stdout.on("data", (d) => { stdout += String(d); });
|
|
69
|
+
child.stderr.on("data", (d) => { stderr += String(d); });
|
|
70
|
+
child.on("error", (err) => {
|
|
71
|
+
clearTimeout(timer);
|
|
72
|
+
if (err?.code === "ENOENT") {
|
|
73
|
+
resolve({ ok: false, code: "E_CLI_NOT_FOUND", message: "未找到 openlogos 命令", stdout, stderr });
|
|
74
|
+
} else {
|
|
75
|
+
resolve({ ok: false, code: "E_CMD_FAILED", message: err?.message || "命令执行失败", stdout, stderr });
|
|
76
|
+
}
|
|
77
|
+
});
|
|
78
|
+
child.on("close", (code) => {
|
|
79
|
+
clearTimeout(timer);
|
|
80
|
+
if (code === 0) resolve({ ok: true, code: "OK", stdout, stderr });
|
|
81
|
+
else resolve({ ok: false, code: "E_CMD_FAILED", message: `退出码 ${code}`, stdout, stderr });
|
|
82
|
+
});
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
function commandFromInput(input) {
|
|
87
|
+
return input?.command || input?.value || input?.text || input?.args?.command || "";
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
function formatResult(res) {
|
|
91
|
+
if (res.ok) return `OpenLogos 执行成功\n\n${String(res.stdout || "").trim()}`;
|
|
92
|
+
const details = [res.message, String(res.stderr || "").trim(), String(res.stdout || "").trim()].filter(Boolean).join("\n");
|
|
93
|
+
return `OpenLogos 执行失败(${res.code})\n\n${details}`;
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
export const OpenLogosPlugin = async (ctx) => {
|
|
97
|
+
return {
|
|
98
|
+
async "session.created"(_input, output = {}) {
|
|
99
|
+
const cwd = ctx?.directory || process.cwd();
|
|
100
|
+
const check = await ensureInitialized(cwd);
|
|
101
|
+
if (!check.ok) return;
|
|
102
|
+
|
|
103
|
+
const res = await runOpenLogos(["status"], cwd, 8000);
|
|
104
|
+
const summary = res.ok
|
|
105
|
+
? `当前 OpenLogos 状态:\n${String(res.stdout || "").trim()}`
|
|
106
|
+
: `OpenLogos 状态注入失败(${res.code}):${res.message}`;
|
|
107
|
+
|
|
108
|
+
if (Array.isArray(output.context)) output.context.push(summary);
|
|
109
|
+
if (typeof output.prompt === "string") output.prompt += `\n\n${summary}`;
|
|
110
|
+
output.openlogos = { summary };
|
|
111
|
+
},
|
|
112
|
+
|
|
113
|
+
async "tui.command.execute"(input, output = {}) {
|
|
114
|
+
const parsed = parse(commandFromInput(input));
|
|
115
|
+
if (!parsed.matched) return;
|
|
116
|
+
if (!parsed.ok) {
|
|
117
|
+
output.message = `OpenLogos 参数错误(${parsed.code}):${parsed.message}`;
|
|
118
|
+
output.openlogos = { ok: false, code: parsed.code };
|
|
119
|
+
return;
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
const cwd = ctx?.directory || process.cwd();
|
|
123
|
+
const res = await runOpenLogos(parsed.cliArgs, cwd);
|
|
124
|
+
output.message = formatResult(res);
|
|
125
|
+
output.openlogos = { ok: res.ok, code: res.code, command: parsed.name };
|
|
126
|
+
},
|
|
127
|
+
};
|
|
128
|
+
};
|
|
129
|
+
|
|
130
|
+
export default OpenLogosPlugin;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@miniidealab/openlogos",
|
|
3
|
-
"version": "0.5.
|
|
3
|
+
"version": "0.5.5",
|
|
4
4
|
"description": "CLI tool for the OpenLogos software engineering methodology",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -8,8 +8,8 @@
|
|
|
8
8
|
},
|
|
9
9
|
"scripts": {
|
|
10
10
|
"build": "tsc",
|
|
11
|
-
"prepack": "npm run build && node -e \"require('fs').cpSync('../skills','./skills',{recursive:true});require('fs').cpSync('../spec','./spec',{recursive:true})\"",
|
|
12
|
-
"postpack": "node -e \"require('fs').rmSync('./skills',{recursive:true,force:true});require('fs').rmSync('./spec',{recursive:true,force:true})\"",
|
|
11
|
+
"prepack": "npm run build && node -e \"require('fs').cpSync('../skills','./skills',{recursive:true});require('fs').cpSync('../spec','./spec',{recursive:true});require('fs').cpSync('../plugin-opencode/template','./opencode-plugin-template',{recursive:true})\"",
|
|
12
|
+
"postpack": "node -e \"require('fs').rmSync('./skills',{recursive:true,force:true});require('fs').rmSync('./spec',{recursive:true,force:true});require('fs').rmSync('./opencode-plugin-template',{recursive:true,force:true})\"",
|
|
13
13
|
"dev": "tsc --watch",
|
|
14
14
|
"start": "node dist/index.js",
|
|
15
15
|
"lint": "eslint src/",
|
|
@@ -43,7 +43,8 @@
|
|
|
43
43
|
"files": [
|
|
44
44
|
"dist",
|
|
45
45
|
"skills",
|
|
46
|
-
"spec"
|
|
46
|
+
"spec",
|
|
47
|
+
"opencode-plugin-template"
|
|
47
48
|
],
|
|
48
49
|
"devDependencies": {
|
|
49
50
|
"@eslint/js": "^9.39.4",
|
package/spec/agents-md.md
CHANGED
|
@@ -59,6 +59,10 @@ Phase detection logic:
|
|
|
59
59
|
- `skills/product-designer` — `logos/skills/product-designer/SKILL.md`
|
|
60
60
|
- ...(共 12 项)
|
|
61
61
|
|
|
62
|
+
当 aiTool = "opencode" 时:
|
|
63
|
+
- **兼容模式**:继续使用 `AGENTS.md` + `logos/skills/*/SKILL.md`
|
|
64
|
+
- **原生插件模式(推荐)**:通过 `opencode.json` 的 `plugin` 字段或 `.opencode/plugins/` 加载 OpenLogos 插件;`AGENTS.md` 作为兜底指令保留
|
|
65
|
+
|
|
62
66
|
## Conventions
|
|
63
67
|
- [从 logos-project.yaml 的 conventions 段读取]
|
|
64
68
|
- When writing Markdown files that contain triple-backtick code blocks inside other code blocks, use 4-backtick fences (````) for the outer block
|
|
@@ -102,10 +106,11 @@ AGENTS.md 的内容从以下文件中自动提取:
|
|
|
102
106
|
|------|---------|---------------|---------|
|
|
103
107
|
| **Cursor** | `AGENTS.md`(原生支持) | `.cursor/rules/*.mdc` | `init` / `sync` 自动部署 |
|
|
104
108
|
| **Claude Code** | `CLAUDE.md` | `logos/skills/*/SKILL.md` | `init` / `sync` 自动部署 |
|
|
105
|
-
| **OpenCode
|
|
109
|
+
| **OpenCode(兼容模式)** | `AGENTS.md` | `logos/skills/*/SKILL.md` | `init` / `sync` 自动部署 |
|
|
110
|
+
| **OpenCode(原生插件模式)** | `opencode.json` + `.opencode/plugins/` | 插件内置/按需加载 | 由插件负责命令桥接与会话注入,`AGENTS.md` 作为兜底 |
|
|
106
111
|
| **GitHub Copilot** | `.github/copilot-instructions.md` | 规划中 | Phase 1.5 |
|
|
107
112
|
|
|
108
|
-
`openlogos sync` 命令会同时生成所有需要的指令文件,确保不同 AI
|
|
113
|
+
`openlogos sync` 命令会同时生成所有需要的指令文件,确保不同 AI 工具看到的指令一致。对于 OpenCode 原生插件模式,`sync` 仍保留 `AGENTS.md` 作为降级路径,避免插件不可用时流程中断。
|
|
109
114
|
|
|
110
115
|
## 与 logos-project.yaml 的关系
|
|
111
116
|
|
|
@@ -0,0 +1,183 @@
|
|
|
1
|
+
# OpenCode 原生插件规范(OpenLogos)
|
|
2
|
+
|
|
3
|
+
> 版本:0.1.0(草案)
|
|
4
|
+
>
|
|
5
|
+
> 本文档定义 OpenLogos 在 OpenCode 平台上的原生插件方案,目标是把当前“AGENTS 兼容模式”升级为“插件优先 + 文档兜底”的双轨机制。
|
|
6
|
+
|
|
7
|
+
## 目标
|
|
8
|
+
|
|
9
|
+
1. 提供与 Claude Code 插件接近的交互体验(命令桥接 + 生命周期上下文)
|
|
10
|
+
2. 最大化复用现有 CLI(`openlogos *`)与 Skills(`logos/skills/*`)
|
|
11
|
+
3. 保留 `AGENTS.md` 兜底,确保插件不可用时流程不中断
|
|
12
|
+
|
|
13
|
+
## 运行模式
|
|
14
|
+
|
|
15
|
+
### 模式 A:兼容模式(当前可用)
|
|
16
|
+
|
|
17
|
+
- 输入:`AGENTS.md` + `logos/skills/*/SKILL.md`
|
|
18
|
+
- 适用:未安装插件或插件异常时
|
|
19
|
+
- 特点:零额外安装,体验相对基础
|
|
20
|
+
|
|
21
|
+
### 模式 B:原生插件模式(推荐)
|
|
22
|
+
|
|
23
|
+
- 输入:`openlogos init/sync` 自动生成的 `.opencode/plugins/openlogos.js` 与 `opencode.json`
|
|
24
|
+
- 适用:希望获得命令入口、自动 Phase 注入、统一工作流控制
|
|
25
|
+
- 特点:体验增强,便于分发与版本管理
|
|
26
|
+
|
|
27
|
+
## 目录建议
|
|
28
|
+
|
|
29
|
+
```text
|
|
30
|
+
openlogos/
|
|
31
|
+
├── plugin-opencode/
|
|
32
|
+
│ ├── src/
|
|
33
|
+
│ │ ├── index.ts # 插件入口
|
|
34
|
+
│ │ ├── hooks.ts # hook 注册与分发
|
|
35
|
+
│ │ ├── commands.ts # /openlogos:* 命令映射
|
|
36
|
+
│ │ ├── cli-bridge.ts # 调用 openlogos CLI 的桥接层
|
|
37
|
+
│ │ └── types.ts
|
|
38
|
+
│ ├── package.json
|
|
39
|
+
│ └── README.md
|
|
40
|
+
└── spec/opencode-plugin.md
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
## 构建与发布边界
|
|
44
|
+
|
|
45
|
+
1. 插件模板随 `@miniidealab/openlogos`(CLI 单包)一起发布,不单独发布插件 npm 包。
|
|
46
|
+
2. 插件只负责“命令路由 + hook 注入 + 结果格式化”,不复制 CLI 业务逻辑。
|
|
47
|
+
3. 版本策略:
|
|
48
|
+
- 插件模板版本与 CLI 版本保持同步
|
|
49
|
+
- 当依赖 CLI 新参数/新输出时,在同一 CLI 版本内联动升级
|
|
50
|
+
4. 发布产物包含 `opencode-plugin-template/`,由 `init/sync` 自动部署到用户项目。
|
|
51
|
+
|
|
52
|
+
## 事件模型(MVP)
|
|
53
|
+
|
|
54
|
+
MVP 至少覆盖以下事件:
|
|
55
|
+
|
|
56
|
+
1. `session.created`
|
|
57
|
+
- 目的:会话启动时注入当前 Phase 与下一步建议
|
|
58
|
+
- 行为:调用 `openlogos status`(推荐支持 JSON 输出)并构建上下文
|
|
59
|
+
|
|
60
|
+
2. `tui.command.execute`
|
|
61
|
+
- 目的:拦截并分发 `/openlogos:*` 命令
|
|
62
|
+
- 行为:解析命令参数,调用 CLI,回传结构化结果(成功/失败)
|
|
63
|
+
|
|
64
|
+
可选增强事件:
|
|
65
|
+
|
|
66
|
+
- `tool.execute.before`:限制高风险调用(如误读敏感文件)
|
|
67
|
+
- `tui.toast.show`:关键结果提示(如已创建 change)
|
|
68
|
+
|
|
69
|
+
## 命令映射(建议)
|
|
70
|
+
|
|
71
|
+
| OpenCode 命令 | 对应 CLI | 说明 |
|
|
72
|
+
|---|---|---|
|
|
73
|
+
| `/openlogos:status` | `openlogos status` | 显示阶段状态 |
|
|
74
|
+
| `/openlogos:next` | `openlogos status`(兼容映射) | 显示下一步建议(当前由 status 输出承载) |
|
|
75
|
+
| `/openlogos:init [name]` | `openlogos init [name]` | 初始化项目 |
|
|
76
|
+
| `/openlogos:sync` | `openlogos sync` | 同步指令与技能 |
|
|
77
|
+
| `/openlogos:change <slug>` | `openlogos change <slug>` | 创建变更提案 |
|
|
78
|
+
| `/openlogos:merge <slug>` | `openlogos merge <slug>` | 生成合并指令 |
|
|
79
|
+
| `/openlogos:archive <slug>` | `openlogos archive <slug>` | 归档变更 |
|
|
80
|
+
| `/openlogos:verify` | `openlogos verify` | 执行验收 |
|
|
81
|
+
| `/openlogos:launch` | `openlogos launch` | 激活变更管理 |
|
|
82
|
+
|
|
83
|
+
### 命令参数契约(MVP)
|
|
84
|
+
|
|
85
|
+
- 无参命令:`status`、`next`、`sync`、`verify`、`launch`
|
|
86
|
+
- 可选参命令:`init [name]`
|
|
87
|
+
- 必填参命令:`change <slug>`、`merge <slug>`、`archive <slug>`
|
|
88
|
+
|
|
89
|
+
解析规则:
|
|
90
|
+
|
|
91
|
+
1. 统一前缀:`/openlogos:`
|
|
92
|
+
2. 参数按空格分词,不做 shell 拼接
|
|
93
|
+
3. 对 `slug` 做白名单校验:`^[a-z0-9]+(-[a-z0-9]+)*$`
|
|
94
|
+
4. 参数缺失时直接返回用户可读错误,不触发 CLI 调用
|
|
95
|
+
|
|
96
|
+
## 安全边界
|
|
97
|
+
|
|
98
|
+
1. **最小权限原则**:仅放行插件必要的命令与路径访问
|
|
99
|
+
2. **路径约束**:仅在工作区内执行,不允许跨目录危险写入
|
|
100
|
+
3. **错误可观测性**:所有 CLI 失败返回统一错误码与可读提示
|
|
101
|
+
4. **降级策略**:插件不可用时,回退到 `AGENTS.md` 兼容模式
|
|
102
|
+
|
|
103
|
+
## 错误处理规范
|
|
104
|
+
|
|
105
|
+
至少覆盖以下错误分支:
|
|
106
|
+
|
|
107
|
+
- CLI 不存在(`openlogos` 不在 PATH)
|
|
108
|
+
- 项目未初始化(缺失 `logos/logos.config.json`)
|
|
109
|
+
- 命令参数不完整(如 `change` 缺 slug)
|
|
110
|
+
- 命令超时或非 0 退出
|
|
111
|
+
- 权限拒绝(OpenCode permission 拦截)
|
|
112
|
+
|
|
113
|
+
### 错误码约定(插件内)
|
|
114
|
+
|
|
115
|
+
| 错误码 | 场景 | 用户提示 |
|
|
116
|
+
|---|---|---|
|
|
117
|
+
| `E_CLI_NOT_FOUND` | 找不到 `openlogos` 命令 | 请先安装或将 `openlogos` 加入 PATH |
|
|
118
|
+
| `E_PROJECT_NOT_INIT` | 缺失 `logos/logos.config.json` | 请先在项目根执行 `openlogos init` |
|
|
119
|
+
| `E_ARG_INVALID` | 参数缺失或格式非法 | 检查命令参数(如 `slug`)后重试 |
|
|
120
|
+
| `E_CMD_TIMEOUT` | CLI 超时 | 稍后重试或改在终端手动执行 |
|
|
121
|
+
| `E_CMD_FAILED` | CLI 非 0 退出 | 查看错误详情并按提示修复 |
|
|
122
|
+
| `E_PERMISSION_DENIED` | OpenCode 权限拒绝 | 在 `opencode.json` 允许对应能力 |
|
|
123
|
+
|
|
124
|
+
## Hook 策略(详细)
|
|
125
|
+
|
|
126
|
+
### `session.created`
|
|
127
|
+
|
|
128
|
+
执行顺序:
|
|
129
|
+
|
|
130
|
+
1. 检查项目是否已初始化(`logos/logos.config.json`)
|
|
131
|
+
2. 调用 `openlogos status`(优先 JSON 输出)
|
|
132
|
+
3. 生成注入上下文:
|
|
133
|
+
- 当前 Phase
|
|
134
|
+
- 下一步建议
|
|
135
|
+
- 关键阻塞项(如缺失文档)
|
|
136
|
+
4. 注入失败时降级为静默,不阻断会话
|
|
137
|
+
|
|
138
|
+
### `tui.command.execute`
|
|
139
|
+
|
|
140
|
+
执行顺序:
|
|
141
|
+
|
|
142
|
+
1. 识别 `/openlogos:*` 前缀命令
|
|
143
|
+
2. 参数校验
|
|
144
|
+
3. 调用 `cli-bridge` 执行对应 CLI
|
|
145
|
+
4. 统一格式化输出(成功/失败)
|
|
146
|
+
5. 对高价值动作显示提示(如 `change` 创建成功)
|
|
147
|
+
|
|
148
|
+
## 发布建议
|
|
149
|
+
|
|
150
|
+
1. 仅发布 `@miniidealab/openlogos`,不拆独立 OpenCode 插件包。
|
|
151
|
+
2. `openlogos init --ai-tool opencode` 与 `openlogos sync` 自动部署插件模板到 `.opencode/plugins/`。
|
|
152
|
+
3. 对外文档明确:原生插件为推荐路径,`AGENTS.md` 为兼容路径(降级兜底)。
|
|
153
|
+
|
|
154
|
+
## 权限与安全策略
|
|
155
|
+
|
|
156
|
+
建议在 OpenCode 配置中采用最小权限:
|
|
157
|
+
|
|
158
|
+
```json
|
|
159
|
+
{
|
|
160
|
+
"$schema": "https://opencode.ai/config.json",
|
|
161
|
+
"permission": {
|
|
162
|
+
"bash": "ask",
|
|
163
|
+
"edit": "ask",
|
|
164
|
+
"read": "allow",
|
|
165
|
+
"glob": "allow",
|
|
166
|
+
"grep": "allow",
|
|
167
|
+
"skill": "allow"
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
插件内部安全策略:
|
|
173
|
+
|
|
174
|
+
1. 禁止执行与 OpenLogos 无关的任意 shell 字符串
|
|
175
|
+
2. 所有 CLI 调用使用参数数组,不进行字符串拼接
|
|
176
|
+
3. 仅允许工作区内路径作为命令上下文
|
|
177
|
+
4. 记录结构化日志(命令名、耗时、退出码、错误码),不记录敏感内容
|
|
178
|
+
|
|
179
|
+
## 验收标准(文档阶段)
|
|
180
|
+
|
|
181
|
+
- `README.md` 已包含 OpenCode 原生插件安装说明
|
|
182
|
+
- `spec/agents-md.md` 已明确双轨模式
|
|
183
|
+
- 本文档定义了插件边界、事件、命令映射与安全策略
|