# aux4 > aux4 is an open source CLI (Command-line Interface) generator that creates high-level scripts by parsing JSON-based `.aux4` configuration files. It lets you automate daily tasks, build CLI tools, and distribute them as packages through the aux4 Hub. aux4 works by reading a `.aux4` JSON file from your current directory (or parent directories) and generating a CLI tool at runtime. Commands are defined as profiles containing execute arrays, variables, and help documentation. ## Documentation - [Home](https://docs.aux4.io/wiki/index.md): Overview of aux4, the .aux4 file format, profiles, and commands - [Getting Started](https://docs.aux4.io/wiki/getting-started/index.md): Step-by-step tutorials covering hello world, variables, JSON parsing, confirmation prompts, iteration, profiles, and nested folders - [Installation](https://docs.aux4.io/wiki/install/index.md): How to install aux4 via curl or Docker - [IDEs](https://docs.aux4.io/wiki/ides/index.md): Editor plugins for Visual Studio Code and Vim/Neovim - [Variables](https://docs.aux4.io/wiki/variables/index.md): Parameters, prompts, defaults, environment variables, hidden values, arguments, options, multiple values, predefined variables, dynamic access, dollar escape, lookup order - [Executors](https://docs.aux4.io/wiki/executors/index.md): All executor types — command-line, set, log, debug, nout, confirm, json, each, range, profile, stdin, file, alias, aux4, comment, and when - [Functions](https://docs.aux4.io/wiki/functions/index.md): Built-in function resolvers — if, param, params, value, values, object, arg, args, and working with nested data - [Configuration](https://docs.aux4.io/wiki/config/index.md): Loading variables from YAML/JSON config files, config get/set/merge CLI commands, named configurations, nested config, auto-detection - [Commands](https://docs.aux4.io/wiki/commands/index.md): Built-in commands — version, man, source, which, shell, completion, and global flags (--local, --noPackages) - [Hooks](https://docs.aux4.io/wiki/hooks/index.md): Cross-cutting before/after/error interceptors defined in .aux4 files — command patterns, variable injection, ordering, conditional (params) matching, skipping, discovery - [Security](https://docs.aux4.io/wiki/security/index.md): Runtime command-exposure policy (allow/ask/deny) — expose a curated subset of commands while keeping the rest callable internally; deny hides, most-specific-match wins, env->config->param precedence - [Render](https://docs.aux4.io/wiki/render/index.md): Format captured command output via the render field — TTY auto-detection, --render selection, automatic silent output capture, and the aux4/render package (list, table, csv, kv, yaml) - [Testing](https://docs.aux4.io/wiki/testing/index.md): Markdown-based test framework with execute/expect/error blocks, modifiers (partial, ignoreCase, regex, json, ai, similar), datasets, test suites, variable substitution - [Package Manager](https://docs.aux4.io/wiki/package-manager/index.md): pkger commands — install, uninstall, list, search, build, publish, man, login/logout, semver version ranges, dependency auto-upgrade, system dependencies - [Packaging](https://docs.aux4.io/wiki/packaging/index.md): Creating and distributing aux4 packages — structure, metadata, dependencies, multi-platform builds, system installers - [GitHub Actions](https://docs.aux4.io/wiki/github-actions/index.md): CI/CD with the aux4/action@v1 GitHub Action — lint, test, and publish aux4 packages; setup, inputs, recommended pipeline, and full workflow examples - [Docker](https://docs.aux4.io/wiki/docker/index.md): Running aux4 in Docker containers