import { Command } from "../src/index"; const app = new Command() .setName("app") .setDescription("app to demonstrate context inference") .addFlag("verbose", { short: "v", description: "enable verbose output" }) .addStringArgument("env", { required: true, short: "e" }) .addNumberArgument("port", { short: "p", required: false }) .addChoiceArgument("mode", { choices: ["development", "production"] as const, required: true, }) .addPositional("input", { required: true }) .setAction((ctx) => { console.log("context:", ctx); console.log(`verbose: ${ctx.verbose}`); // (property) verbose: boolean console.log(`environment: ${ctx.env}`); // (property) env: string console.log(`port: ${ctx.port}`); // (property) port: number | undefined console.log(`mode: ${ctx.mode}`); // (property) mode: "development" | "production" console.log(`input: ${ctx.input}`); // (property) input: string }); app.parse(process.argv.slice(2)).catch(console.error);