# incur ## Docs - [Agent Detection](https://mintlify.wiki/wevm/incur/advanced/agent-detection.md): Detect when commands are invoked by agents vs humans - [Deprecated Options](https://mintlify.wiki/wevm/incur/advanced/deprecated-options.md): Mark options as deprecated with automatic warnings and documentation - [OpenAPI Integration](https://mintlify.wiki/wevm/incur/advanced/openapi-integration.md): Mount OpenAPI-compliant HTTP servers as typed CLI commands - [Output Policy](https://mintlify.wiki/wevm/incur/advanced/output-policy.md): Control when command output is displayed to humans vs agents - [Variables](https://mintlify.wiki/wevm/incur/advanced/variables.md): Typed dependency injection for middleware and command handlers - [Cli](https://mintlify.wiki/wevm/incur/api/cli.md): Core CLI creation and management API - [Commands](https://mintlify.wiki/wevm/incur/api/commands.md): Command definition and registration API - [Errors](https://mintlify.wiki/wevm/incur/api/errors.md): Error classes for structured error handling in CLI applications - [Fetch](https://mintlify.wiki/wevm/incur/api/fetch.md): Utilities for parsing and building HTTP requests and responses - [Formatter](https://mintlify.wiki/wevm/incur/api/formatter.md): Serialize data to multiple output formats including TOON, JSON, YAML, and Markdown - [Mcp](https://mintlify.wiki/wevm/incur/api/mcp.md): Expose CLI commands as MCP (Model Context Protocol) tools - [Middleware](https://mintlify.wiki/wevm/incur/api/middleware.md): Middleware system for cross-cutting concerns - [Openapi](https://mintlify.wiki/wevm/incur/api/openapi.md): Generate CLI commands from OpenAPI specifications - [Parser](https://mintlify.wiki/wevm/incur/api/parser.md): Parse command-line arguments and environment variables with Zod schema validation - [Schema](https://mintlify.wiki/wevm/incur/api/schema.md): Utilities for converting Zod schemas to JSON Schema format - [Skill](https://mintlify.wiki/wevm/incur/api/skill.md): Generate Markdown skill files from CLI commands for AI agent discovery - [Mounting APIs as CLIs](https://mintlify.wiki/wevm/incur/building/mounting-apis.md): Mount HTTP APIs directly as CLI commands using the fetch property - [Multi-Command CLIs](https://mintlify.wiki/wevm/incur/building/multi-command.md): Create router CLIs with multiple subcommands using .command() chaining - [Single-Command CLIs](https://mintlify.wiki/wevm/incur/building/single-command.md): Create CLIs that do one thing with a run handler passed directly to create() - [Sub-Commands & Command Groups](https://mintlify.wiki/wevm/incur/building/sub-commands.md): Create nested command hierarchies by mounting separate Cli instances - [CLI Creation](https://mintlify.wiki/wevm/incur/core-concepts/cli-creation.md): Learn how to create single-command and multi-command CLIs with incur - [Commands](https://mintlify.wiki/wevm/incur/core-concepts/commands.md): Register and define commands with arguments, options, and handlers - [Output](https://mintlify.wiki/wevm/incur/core-concepts/output.md): Learn about output formats, envelopes, and call-to-actions - [Schemas](https://mintlify.wiki/wevm/incur/core-concepts/schemas.md): Use Zod schemas for validation and automatic type inference - [Agent Discovery](https://mintlify.wiki/wevm/incur/features/agent-discovery.md): Built-in mechanisms for agents to discover your CLI automatically - [Call-to-Actions](https://mintlify.wiki/wevm/incur/features/call-to-actions.md): Suggest next commands to agents and humans after a run - [Global Options](https://mintlify.wiki/wevm/incur/features/global-options.md): Built-in flags available on every incur CLI - [Middleware](https://mintlify.wiki/wevm/incur/features/middleware.md): Composable before/after hooks with typed dependency injection - [Shell Completions](https://mintlify.wiki/wevm/incur/features/shell-completions.md): Dynamic tab completions for bash, zsh, fish, and nushell - [Streaming](https://mintlify.wiki/wevm/incur/features/streaming.md): Stream output incrementally with async generators - [TOON Output](https://mintlify.wiki/wevm/incur/features/toon-output.md): Token-efficient default format that agents parse easily - [Type Inference](https://mintlify.wiki/wevm/incur/features/type-inference.md): Generic type flow from schemas to callbacks with zero manual annotations - [Installation](https://mintlify.wiki/wevm/incur/installation.md): Get started with incur in your project - [Introduction](https://mintlify.wiki/wevm/incur/introduction.md): Build CLIs that work for AI agents and humans - [Quickstart](https://mintlify.wiki/wevm/incur/quickstart.md): Build your first incur CLI in 5 minutes