# Gunshi > Modern JavaScript Command-line Library Robust, modular, flexible, and localizable CLI library ## Table of Contents ### Introduction - [What's Gunshi?](/guide/introduction/what-is-gunshi.md) - [Setup](/guide/introduction/setup.md) ### Essentials - [Getting Started](/guide/essentials/getting-started.md) - [Declarative Configuration](/guide/essentials/declarative.md) - [Type Safe](/guide/essentials/type-safe.md) - [Composable Sub-commands](/guide/essentials/composable.md) - [Lazy & Async Command Loading](/guide/essentials/lazy-async.md) - [Auto Usage Generation](/guide/essentials/auto-usage.md) - [Plugin System](/guide/essentials/plugin-system.md) ### Advanced - [Type System](/guide/advanced/type-system.md) - [Command Hooks](/guide/advanced/command-hooks.md) - [Context Extensions](/guide/advanced/context-extensions.md) - [Custom Rendering](/guide/advanced/custom-rendering.md) - [Internationalization](/guide/advanced/internationalization.md) - [Documentation Generation](/guide/advanced/docs-gen.md) - [Advanced Lazy Loading and Sub-Commands](/guide/advanced/advanced-lazy-loading.md) - [Nested Sub-Commands](/guide/advanced/nested-sub-commands.md) ### Experimentals - [Parser Combinators](/guide/experimentals/parser-combinators.md) ### Plugin - [Plugin System Introduction](/guide/plugin/introduction.md) - [Getting Started with Plugin Development](/guide/plugin/getting-started.md) - [Plugin Lifecycle](/guide/plugin/lifecycle.md) - [Plugin Dependencies](/guide/plugin/dependencies.md) - [Plugin Decorators](/guide/plugin/decorators.md) - [Plugin Extensions](/guide/plugin/extensions.md) - [Plugin Type System](/guide/plugin/type-system.md) - [Plugin Testing](/guide/plugin/testing.md) - [Plugin Development Guidelines](/guide/plugin/guidelines.md) - [Plugin List](/guide/plugin/list.md) ### API References - [combinators](/api/combinators.md) - [context](/api/context.md) - [default](/api/default.md) - [definition](/api/definition.md) - [generator](/api/generator.md) - [plugin](/api/plugin.md) - [renderer](/api/renderer.md) #### combinators ##### Functions - [Function: args()](/api/combinators/functions/args.md) - [Function: boolean()](/api/combinators/functions/boolean.md) - [Function: choice()](/api/combinators/functions/choice.md) - [Function: combinator()](/api/combinators/functions/combinator.md) - [Function: describe()](/api/combinators/functions/describe.md) - [Function: extend()](/api/combinators/functions/extend.md) - [Function: float()](/api/combinators/functions/float.md) - [Function: integer()](/api/combinators/functions/integer.md) - [Function: map()](/api/combinators/functions/map.md) - [Function: merge()](/api/combinators/functions/merge.md) - [Function: multiple()](/api/combinators/functions/multiple.md) - [Function: number()](/api/combinators/functions/number.md) - [Function: positional()](/api/combinators/functions/positional.md) - [Function: required()](/api/combinators/functions/required.md) - [Function: short()](/api/combinators/functions/short.md) - [Function: string()](/api/combinators/functions/string.md) - [Function: unrequired()](/api/combinators/functions/unrequired.md) - [Function: withDefault()](/api/combinators/functions/withDefault.md) ##### Interfaces - [Interface: BaseOptions](/api/combinators/interfaces/BaseOptions.md) - [Interface: BooleanOptions](/api/combinators/interfaces/BooleanOptions.md) - [Interface: CombinatorOptions\](/api/combinators/interfaces/CombinatorOptions.md) - [Interface: FloatOptions](/api/combinators/interfaces/FloatOptions.md) - [Interface: IntegerOptions](/api/combinators/interfaces/IntegerOptions.md) - [Interface: NumberOptions](/api/combinators/interfaces/NumberOptions.md) - [Interface: StringOptions](/api/combinators/interfaces/StringOptions.md) ##### Type Aliases - [Type Alias: Combinator\](/api/combinators/type-aliases/Combinator.md) - [Type Alias: CombinatorSchema\](/api/combinators/type-aliases/CombinatorSchema.md) #### context ##### Functions - [Function: createCommandContext()](/api/context/functions/createCommandContext.md) ##### Interfaces - [Interface: CommandContextParams\](/api/context/interfaces/CommandContextParams.md) #### default ##### Variables - [Variable: ANONYMOUS\_COMMAND\_NAME](/api/default/variables/ANONYMOUS_COMMAND_NAME.md) ##### Functions - [Function: cli()](/api/default/functions/cli.md) - [Function: parseArgs()](/api/default/functions/parseArgs.md) - [Function: plugin()](/api/default/functions/plugin.md) - [Function: resolveArgs()](/api/default/functions/resolveArgs.md) ##### Classes - [Class: DefaultTranslation](/api/default/classes/DefaultTranslation.md) ##### Interfaces - [Interface: Args](/api/default/interfaces/Args.md) - [Interface: ArgSchema](/api/default/interfaces/ArgSchema.md) - [Interface: ArgToken](/api/default/interfaces/ArgToken.md) - [Interface: CliOptions\](/api/default/interfaces/CliOptions.md) - [Interface: Command\](/api/default/interfaces/Command.md) - [Interface: CommandContext\](/api/default/interfaces/CommandContext.md) - [Interface: CommandContextExtension\](/api/default/interfaces/CommandContextExtension.md) - [Interface: CommandEnvironment\](/api/default/interfaces/CommandEnvironment.md) - [Interface: GunshiParams\

](/api/default/interfaces/GunshiParams.md) - [Interface: PluginContext\](/api/default/interfaces/PluginContext.md) - [Interface: PluginDependency](/api/default/interfaces/PluginDependency.md) - [Interface: PluginOptions\](/api/default/interfaces/PluginOptions.md) - [Interface: PluginWithExtension()\](/api/default/interfaces/PluginWithExtension.md) - [Interface: PluginWithoutExtension()\](/api/default/interfaces/PluginWithoutExtension.md) - [Interface: RenderingOptions\](/api/default/interfaces/RenderingOptions.md) - [Interface: SubCommandable](/api/default/interfaces/SubCommandable.md) ##### Type Aliases - [Type Alias: ArgValues\](/api/default/type-aliases/ArgValues.md) - [Type Alias: Awaitable\](/api/default/type-aliases/Awaitable.md) - [Type Alias: Commandable\](/api/default/type-aliases/Commandable.md) - [Type Alias: CommandCallMode](/api/default/type-aliases/CommandCallMode.md) - [Type Alias: CommandContextCore\](/api/default/type-aliases/CommandContextCore.md) - [Type Alias: CommandDecorator()\](/api/default/type-aliases/CommandDecorator.md) - [Type Alias: CommandExamplesFetcher()\](/api/default/type-aliases/CommandExamplesFetcher.md) - [Type Alias: CommandLoader()\](/api/default/type-aliases/CommandLoader.md) - [Type Alias: CommandRunner()\](/api/default/type-aliases/CommandRunner.md) - [Type Alias: DefaultGunshiParams](/api/default/type-aliases/DefaultGunshiParams.md) - [Type Alias: ExtendContext](/api/default/type-aliases/ExtendContext.md) - [Type Alias: GunshiParamsConstraint](/api/default/type-aliases/GunshiParamsConstraint.md) - [Type Alias: LazyCommand\](/api/default/type-aliases/LazyCommand.md) - [Type Alias: OnPluginExtension()\](/api/default/type-aliases/OnPluginExtension.md) - [Type Alias: Plugin\](/api/default/type-aliases/Plugin.md) - [Type Alias: PluginExtension()\](/api/default/type-aliases/PluginExtension.md) - [Type Alias: PluginFunction()\](/api/default/type-aliases/PluginFunction.md) - [Type Alias: Prettify\](/api/default/type-aliases/Prettify.md) - [Type Alias: RendererDecorator()\](/api/default/type-aliases/RendererDecorator.md) - [Type Alias: ValidationErrorsDecorator()\](/api/default/type-aliases/ValidationErrorsDecorator.md) #### definition ##### Functions - [Function: define()](/api/definition/functions/define.md) - [Function: defineWithTypes()](/api/definition/functions/defineWithTypes.md) - [Function: lazy()](/api/definition/functions/lazy.md) - [Function: lazyWithTypes()](/api/definition/functions/lazyWithTypes.md) #### generator ##### Functions - [Function: generate()](/api/generator/functions/generate.md) ##### Type Aliases - [Type Alias: GenerateOptions\](/api/generator/type-aliases/GenerateOptions.md) #### plugin ##### Variables - [Variable: CLI\_OPTIONS\_DEFAULT](/api/plugin/variables/CLI_OPTIONS_DEFAULT.md) #### renderer ##### Functions - [Function: renderHeader()](/api/renderer/functions/renderHeader.md) - [Function: renderUsage()](/api/renderer/functions/renderUsage.md) - [Function: renderValidationErrors()](/api/renderer/functions/renderValidationErrors.md) ### Extra Topics - [Showcase](/showcase.md) ### Release Notes - [Gunshi v0.27 Release Notes](/release/v0.27.md) ### Other - [gunshi](/api.md)