The aake CLI Commands
Last modified: 24 May 2026
What is this?
The aake CLI is the built-in command-line interface that ships with the ArkCode compiler. It acts as the central nervous system for your environment, serving as your project manager, compiler, and installer.
What is its purpose?
Its purpose is to eliminate the fragmented tooling ecosystem of C++ (where you typically need CMake, Make, Ninja, vcpkg, Conan, etc.) by unifying everything under a single binary command.
Where and how it can be used
It can be used in your terminal to bootstrap projects, manage tests, and execute applications. When you run aake project create, the compiler parses your intent and automatically creates a fully-structured ArkCode project repository. You can then run aake test to instantly execute the example.
# Scaffold a new project structure
aake project create
# Run the project tests automatically
aake test
# Clean the project structure and build artifacts
aake clean
# Execute an ArkCode script directly
aake main.arkc1. Run Script (JIT Mode)
aake <script.arkc>
Launches the file in immediate JIT interpreter mode. Useful for rapid prototyping and scripting.
2. Build Binary (AOT Mode)
aake build <script.arkc>
Transpiles the ArkCode source tree directly into optimized C++17, then invokes g++ to compile it down to a native machine binary located at ./build/app.
3. Project Scaffolding
aake project create
Creates a fully-structured new ArkCode project directory, complete with boilerplate configurations and folders.
4. Clean Cache & Build
aake clean
Cleans out compiled binary assets and purges cached module files from the local .aake_cache directory.
5. Run Tests
aake test
Automatically triggers an AOT compilation and runs the master test suite located at examples/test.arkc, detailing exactly which language features pass and fail.
6. Language Server (LSP)
aake lsp
Launches a Language Server Protocol server over standard I/O (JSON-RPC), providing live autocompletion, hover support, and DSL validation diagnostics to integrated development environments (IDEs).
7. UI Hot Reload Flag
aake <script.arkc> --hot
When appended to UI scripts, watches the source files for modifications. When saved, it validates the DSL and dynamically re-renders the GTK runtime layout on the fly.
8. System Installation
sudo make install
Installs the aake toolchain system-wide. On Arch Linux, you can alternatively install via the AUR using yay -S arkcode-git.
How it works
The CLI operates by intercepting the standard argc and argv parameters within the C++ runtime. Before attempting to parse a script file, it evaluates if a known sub-command (like build, test, or lsp) was passed. If matched, it routes the execution flow into dedicated internal C++ automation routines rather than the standard interpreter engine.
Where it can't be used and why
It cannot be used to manage external language packages (like NPM or PyPI). aake is strictly isolated to the ArkCode ecosystem to maintain a zero-dependency, highly secure footprint. You cannot install third-party C++ libraries through the aake command.