/ src / registry-api.ts
registry-api.ts
 1  /**
 2   * Public API for opencli plugins.
 3   *
 4   * TS plugins should import from '@jackwener/opencli/registry' which resolves to
 5   * this file. It re-exports ONLY the core registration API — no serialization,
 6   * no transitive side-effects — to avoid circular dependency deadlocks when
 7   * plugins are dynamically imported during discoverPlugins().
 8   */
 9  
10  export { cli, Strategy, getRegistry, fullName, registerCommand } from './registry.js';
11  export type { CliCommand, Arg, CliOptions, CommandArgs } from './registry.js';
12  export type { IPage } from './types.js';
13  export { onStartup, onBeforeExecute, onAfterExecute } from './hooks.js';
14  export type { HookFn, HookContext, HookName } from './hooks.js';