import { defineCommand, arg } from "politty";
import { z } from "zod";
import { executeCommand } from "../../lib/command-result";
import { runDocModules } from "./modules";

export const modulesCommand = defineCommand({
  name: "modules",
  description: "List all modules with capabilities overview",
  args: z.object({
    format: arg(z.enum(["text", "json"]).default("text"), {
      alias: "f",
      description: "Output format (text or json)",
    }),
  }),
  run: (args) => {
    return executeCommand(() => runDocModules(args.format));
  },
});
