80 lines
3.2 KiB
TypeScript
80 lines
3.2 KiB
TypeScript
import { feature } from 'bun:bundle'
|
|
import { shouldAutoEnableClaudeInChrome } from 'src/utils/claudeInChrome/setup.js'
|
|
import { registerBatchSkill } from './batch.js'
|
|
import { registerClaudeInChromeSkill } from './claudeInChrome.js'
|
|
import { registerDebugSkill } from './debug.js'
|
|
import { registerKeybindingsSkill } from './keybindings.js'
|
|
import { registerLoremIpsumSkill } from './loremIpsum.js'
|
|
import { registerRememberSkill } from './remember.js'
|
|
import { registerSimplifySkill } from './simplify.js'
|
|
import { registerSkillifySkill } from './skillify.js'
|
|
import { registerStuckSkill } from './stuck.js'
|
|
import { registerUpdateConfigSkill } from './updateConfig.js'
|
|
import { registerVerifySkill } from './verify.js'
|
|
|
|
/**
|
|
* Initialize all bundled skills.
|
|
* Called at startup to register skills that ship with the CLI.
|
|
*
|
|
* To add a new bundled skill:
|
|
* 1. Create a new file in src/skills/bundled/ (e.g., myskill.ts)
|
|
* 2. Export a register function that calls registerBundledSkill()
|
|
* 3. Import and call that function here
|
|
*/
|
|
export function initBundledSkills(): void {
|
|
registerUpdateConfigSkill()
|
|
registerKeybindingsSkill()
|
|
registerVerifySkill()
|
|
registerDebugSkill()
|
|
registerLoremIpsumSkill()
|
|
registerSkillifySkill()
|
|
registerRememberSkill()
|
|
registerSimplifySkill()
|
|
registerBatchSkill()
|
|
registerStuckSkill()
|
|
if (feature('KAIROS') || feature('KAIROS_DREAM')) {
|
|
/* eslint-disable @typescript-eslint/no-require-imports */
|
|
const { registerDreamSkill } = require('./dream.js')
|
|
/* eslint-enable @typescript-eslint/no-require-imports */
|
|
registerDreamSkill()
|
|
}
|
|
if (feature('REVIEW_ARTIFACT')) {
|
|
/* eslint-disable @typescript-eslint/no-require-imports */
|
|
const { registerHunterSkill } = require('./hunter.js')
|
|
/* eslint-enable @typescript-eslint/no-require-imports */
|
|
registerHunterSkill()
|
|
}
|
|
if (feature('AGENT_TRIGGERS')) {
|
|
/* eslint-disable @typescript-eslint/no-require-imports */
|
|
const { registerLoopSkill } = require('./loop.js')
|
|
/* eslint-enable @typescript-eslint/no-require-imports */
|
|
// /loop's isEnabled delegates to isKairosCronEnabled() — same lazy
|
|
// per-invocation pattern as the cron tools. Registered unconditionally;
|
|
// the skill's own isEnabled callback decides visibility.
|
|
registerLoopSkill()
|
|
}
|
|
if (feature('AGENT_TRIGGERS_REMOTE')) {
|
|
/* eslint-disable @typescript-eslint/no-require-imports */
|
|
const {
|
|
registerScheduleRemoteAgentsSkill,
|
|
} = require('./scheduleRemoteAgents.js')
|
|
/* eslint-enable @typescript-eslint/no-require-imports */
|
|
registerScheduleRemoteAgentsSkill()
|
|
}
|
|
if (feature('BUILDING_CLAUDE_APPS')) {
|
|
/* eslint-disable @typescript-eslint/no-require-imports */
|
|
const { registerClaudeApiSkill } = require('./claudeApi.js')
|
|
/* eslint-enable @typescript-eslint/no-require-imports */
|
|
registerClaudeApiSkill()
|
|
}
|
|
if (shouldAutoEnableClaudeInChrome()) {
|
|
registerClaudeInChromeSkill()
|
|
}
|
|
if (feature('RUN_SKILL_GENERATOR')) {
|
|
/* eslint-disable @typescript-eslint/no-require-imports */
|
|
const { registerRunSkillGeneratorSkill } = require('./runSkillGenerator.js')
|
|
/* eslint-enable @typescript-eslint/no-require-imports */
|
|
registerRunSkillGeneratorSkill()
|
|
}
|
|
}
|