import { Cli, z } from 'incur'
const cli = Cli.create('my-cli', { description: 'My CLI' })
// Version 1.x: both options supported, old one deprecated
cli.command('deploy', {
options: z.object({
env: z.string().optional()
.describe('Deployment environment (use --environment instead)')
.meta({ deprecated: true }),
environment: z.string().optional()
.describe('Deployment environment'),
}),
run(c) {
const environment = c.options.environment ?? c.options.env
if (!environment) {
return c.error({
code: 'MISSING_ENV',
message: 'environment is required. Use --environment <env>',
})
}
return { environment, deployed: true }
},
})
// Version 2.x: old option removed
cli.command('deploy', {
options: z.object({
environment: z.string().describe('Deployment environment'),
}),
run(c) {
return { environment: c.options.environment, deployed: true }
},
})