/**
 * @fileoverview OrdoJS CLI - Command registration
 */

import { Command } from 'commander';
import { createAccessibilityCommand } from './accessibility.js';
import { registerBuildCommand } from './build.js';
import { registerCSSFrameworkCommand } from './css-framework.js';
import { registerDeployCommand } from './deploy.js';
import { registerDevCommand } from './dev.js';
import { createI18nCommand } from './i18n.js';
import { registerInfrastructureCommand } from './infrastructure.js';
import { registerInitCommand } from './init.js';

/**
 * Register all CLI commands
 */
export function registerCommands(program: Command): void {
  registerBuildCommand(program);
  registerDevCommand(program);
  registerInitCommand(program);
  registerDeployCommand(program);
  registerInfrastructureCommand(program);
  registerCSSFrameworkCommand(program);

  // Add accessibility and i18n commands
  program.addCommand(createAccessibilityCommand());
  program.addCommand(createI18nCommand());
}

export * from './accessibility.js';
export * from './build.js';
export * from './css-framework.js';
export * from './deploy.js';
export * from './dev.js';
export * from './i18n.js';
export * from './infrastructure.js';
export * from './init.js';

