(baseDir: string, scope: 'project' | 'user')
| 155 | * Idempotent — rewrites the plugin file each time. |
| 156 | */ |
| 157 | export async function injectOpencodeHooks(baseDir: string, scope: 'project' | 'user'): Promise<void> { |
| 158 | const dir = resolveOpencodePluginDir(baseDir, scope); |
| 159 | await ensureDir(dir); |
| 160 | const file = path.join(dir, OPENCODE_HOOK_FILE); |
| 161 | await writeFile(file, buildPluginSource()); |
| 162 | log.success(`Injected teamai OpenCode hook into ${file}`); |
| 163 | } |
| 164 | |
| 165 | /** Remove the teamai OpenCode plugin for a scope if present. */ |
| 166 | export async function removeOpencodeHooks(baseDir: string, scope: 'project' | 'user'): Promise<void> { |
no test coverage detected