feat: integrate learning module
Some checks failed
Electron E2E / Electron E2E (macos-latest) (push) Has been cancelled
Electron E2E / Electron E2E (ubuntu-latest) (push) Has been cancelled
Electron E2E / Electron E2E (windows-latest) (push) Has been cancelled

This commit is contained in:
inman
2026-08-16 20:52:16 +08:00
parent 26b52d76e3
commit 01bee3188b
107 changed files with 6318 additions and 12063 deletions

View File

@@ -859,16 +859,20 @@ describe('OpencodeManager', () => {
it('removes retired bundled skills from the managed config before spawning', async () => {
expect(BUNDLED_COURSE_SKILL_IDS).not.toContain('deploy-publish-check');
expect(BUNDLED_COURSE_SKILL_IDS).not.toContain('game-engine');
const userDataDir = mkdtempSync(join(tmpdir(), 'niancode-opencode-manager-'));
const bundledCourseSkillsDir = mkdtempSync(join(tmpdir(), 'niancode-course-skills-source-'));
const retiredSkillDir = join(userDataDir, 'opencode', 'niancode-config', 'skills', 'student-growth-logger');
const retiredDeploySkillDir = join(userDataDir, 'opencode', 'niancode-config', 'skills', 'deploy-publish-check');
const retiredGameEngineSkillDir = join(userDataDir, 'opencode', 'niancode-config', 'skills', 'game-engine');
try {
mkdirSync(retiredSkillDir, { recursive: true });
mkdirSync(retiredDeploySkillDir, { recursive: true });
mkdirSync(retiredGameEngineSkillDir, { recursive: true });
writeFileSync(join(retiredSkillDir, 'SKILL.md'), '---\nname: student-growth-logger\n---\n');
writeFileSync(join(retiredDeploySkillDir, 'SKILL.md'), '---\nname: deploy-publish-check\n---\n');
writeFileSync(join(retiredGameEngineSkillDir, 'SKILL.md'), '---\nname: game-engine\n---\n');
const { children, spawn } = createSpawnHarness();
const manager = new OpencodeManager({
@@ -889,6 +893,7 @@ describe('OpencodeManager', () => {
expect(existsSync(retiredSkillDir)).toBe(false);
expect(existsSync(retiredDeploySkillDir)).toBe(false);
expect(existsSync(retiredGameEngineSkillDir)).toBe(false);
} finally {
rmSync(userDataDir, { recursive: true, force: true });
rmSync(bundledCourseSkillsDir, { recursive: true, force: true });