perf(init): integrate async skill/command loaders
🤖 GENERATED WITH ASSISTANCE OF [OhMyOpenCode](https://github.com/code-yeongyu/oh-my-opencode) - Replace synchronous skill discovery calls in src/index.ts with async versions - Use Promise.all to parallelize 4 skill directory scans - Wrap conditional calls in Promise.resolve for consistent Promise types - Imports: discoverUserClaudeSkillsAsync, discoverProjectClaudeSkillsAsync, discoverOpencodeGlobalSkillsAsync, discoverOpencodeProjectSkillsAsync - Verification: bun test passes (571 pass, 1 pre-existing failure), bun run typecheck passes
This commit is contained in:
22
src/index.ts
22
src/index.ts
@@ -33,10 +33,10 @@ import {
|
|||||||
} from "./features/context-injector";
|
} from "./features/context-injector";
|
||||||
import { createGoogleAntigravityAuthPlugin } from "./auth/antigravity";
|
import { createGoogleAntigravityAuthPlugin } from "./auth/antigravity";
|
||||||
import {
|
import {
|
||||||
discoverUserClaudeSkills,
|
discoverUserClaudeSkillsAsync,
|
||||||
discoverProjectClaudeSkills,
|
discoverProjectClaudeSkillsAsync,
|
||||||
discoverOpencodeGlobalSkills,
|
discoverOpencodeGlobalSkillsAsync,
|
||||||
discoverOpencodeProjectSkills,
|
discoverOpencodeProjectSkillsAsync,
|
||||||
mergeSkills,
|
mergeSkills,
|
||||||
} from "./features/opencode-skill-loader";
|
} from "./features/opencode-skill-loader";
|
||||||
import { createBuiltinSkills } from "./features/builtin-skills";
|
import { createBuiltinSkills } from "./features/builtin-skills";
|
||||||
@@ -201,13 +201,19 @@ const OhMyOpenCodePlugin: Plugin = async (ctx) => {
|
|||||||
return true;
|
return true;
|
||||||
});
|
});
|
||||||
const includeClaudeSkills = pluginConfig.claude_code?.skills !== false;
|
const includeClaudeSkills = pluginConfig.claude_code?.skills !== false;
|
||||||
|
const [userSkills, globalSkills, projectSkills, opencodeProjectSkills] = await Promise.all([
|
||||||
|
includeClaudeSkills ? discoverUserClaudeSkillsAsync() : Promise.resolve([]),
|
||||||
|
discoverOpencodeGlobalSkillsAsync(),
|
||||||
|
includeClaudeSkills ? discoverProjectClaudeSkillsAsync() : Promise.resolve([]),
|
||||||
|
discoverOpencodeProjectSkillsAsync(),
|
||||||
|
]);
|
||||||
const mergedSkills = mergeSkills(
|
const mergedSkills = mergeSkills(
|
||||||
builtinSkills,
|
builtinSkills,
|
||||||
pluginConfig.skills,
|
pluginConfig.skills,
|
||||||
includeClaudeSkills ? discoverUserClaudeSkills() : [],
|
userSkills,
|
||||||
discoverOpencodeGlobalSkills(),
|
globalSkills,
|
||||||
includeClaudeSkills ? discoverProjectClaudeSkills() : [],
|
projectSkills,
|
||||||
discoverOpencodeProjectSkills()
|
opencodeProjectSkills
|
||||||
);
|
);
|
||||||
const skillMcpManager = new SkillMcpManager();
|
const skillMcpManager = new SkillMcpManager();
|
||||||
const getSessionIDForMcp = () => getMainSessionID() || "";
|
const getSessionIDForMcp = () => getMainSessionID() || "";
|
||||||
|
|||||||
Reference in New Issue
Block a user