The Algorand AlgoKit CLI is the one-stop shop tool for developers building on the Algorand network.
AlgoKit is a command-line interface (CLI) tool designed to streamline development on the Algorand blockchain network. It provides developers with a comprehensive suite of utilities to build, test, and deploy applications efficiently.
Key Features:
Seamless integration with Algorand’s blockchain for smart contract deployment and transaction processing.
Local development environment that mirrors production settings for accurate testing.
Pre-built transaction templates to simplify complex operations.
Package management to easily install, update, and manage dependencies.
Audience & Benefit:
Ideal for developers building decentralized applications (dApps) on Algorand. It accelerates the development process, reduces errors, and ensures compatibility with the Algorand network.
AlgoKit can be installed via winget, making it easy to integrate into your existing workflow.
README
The Algorand AlgoKit CLI is the one-stop shop tool for developers building on the Algorand network.
AlgoKit gets developers of all levels up and running with a familiar, fun and productive development environment in minutes. The goal of AlgoKit is to help developers build and launch secure, automated production-ready applications rapidly.
Interaction: AlgoKit exposes a number of interaction methods, namely:
AlgoKit CLI: A Command Line Interface (CLI) so you can quickly access AlgoKit capabilities
VS Code: All AlgoKit project templates include VS Code configurations so you have a smooth out-of-the-box development experience using VS Code
lora: AlgoKit has integrations with lora; a web-based user interface that let's you visualise and interact with an Algorand network
Getting Started: AlgoKit helps you get started quickly when building new solutions:
AlgoKit Templates: Template libraries to get you started faster and quickly set up a productive dev experience
Development: AlgoKit provides SDKs, tools and libraries that help you quickly and effectively build high quality Algorand solutions:
AlgoKit Utils (Python | TypeScript): A set of utility libraries so you can develop, test, build and deploy Algorand solutions quickly and easily
Algorand SDKs - The core Algorand SDK providing Algorand protocol API calls, which AlgoKit Utils wraps, but still exposes for advanced scenarios
Algorand Python: A semantically and syntactically compatible, typed Python language that works with standard Python tooling and allows you to express smart contracts (apps) and smart signatures (logic signatures) for deployment on the Algorand Virtual Machine (AVM).
Algorand TypeScript (Beta): A semantically and syntactically compatible, typed TypeScript language that works with standard TypeScript tooling and allows you to express smart contracts (apps) and smart signatures (logic signatures) for deployment on the Algorand Virtual Machine (AVM). This language is currently in beta.
TEALScript: A subset of TypeScript that can be used to express smart contracts (apps) and smart signatures (logic signatures) for deployment on the Algorand Virtual Machine (AVM).
AlgoKit LocalNet: A local isolated Algorand network so you can simulate real transactions and workloads on your computer
Operate
AlgoKit can help you deploy and operate Algorand solutions.
The target audience for this tool is software developers building applications on the Algorand network. A working knowledge of using a command line interfaces and experience using the supported programming languages is assumed.
How can I contribute?
This is an open source project managed by the Algorand Foundation. See the contributing page to learn about making improvements to the CLI tool itself, including developer setup instructions.
Install
> Note Refer to Troubleshooting for more details on mitigation of known edge cases when installing AlgoKit.
Prerequisites
The installation pre-requisites change depending on the method you use to install. Please refer to Installation Methods.
Depending on the features you choose to leverage from the AlgoKit CLI, additional dependencies may be required.
The AlgoKit CLI will tell you if you are missing one for a given command. These optional dependencies are:
Git: Essential for creating and updating projects from templates. Installation guide available at Git Installation.
Docker: Necessary for running the AlgoKit LocalNet environment. Docker Compose version 2.5.0 or higher is required. See Docker Installation.
Python: For those installing the AlgoKit CLI via pipx or building contracts using Algorand Python. Minimum required version is Python 3.12+ when working with Algorand Python. See Python Installation.
Node.js: For those working on frontend templates or building contracts using Algorand TypeScript or TEALScript. Minimum required versions are Node.js v22 and npm v10. See Node.js Installation.
> Note
> If you have previously installed AlgoKit using pipx and would like to switch to a different installation method, please ensure that
> you first uninstall the existing version by running pipx uninstall algokit. Once uninstalled, you can follow the installation instructions for your preferred platform.
Cross-platform installation
AlgoKit can be installed using OS specific package managers, or using the python tool pipx.
See below for specific installation instructions.
> Note
> AlgoKit is supported on Windows 10 1709 (build 16299) and later.
> We only publish an x64 binary, however it also runs on ARM devices by default using the built in x64 emulation feature.
Ensure prerequisites are installed
WinGet (should be installed by default on recent Windows 10 or later)
Some useful commands for updating or removing AlgoKit in the future.
To update AlgoKit: brew upgrade algokit
To remove AlgoKit: brew uninstall algokit
Install AlgoKit on Linux
> Note
> AlgoKit is compatible with Ubuntu 16.04 and later, Debian, RedHat, and any distribution that supports Snap, but it is only supported on x64 architecture; ARM is not supported.
Ensure prerequisites are installed
Snap (should be installed by default on Ubuntu 16.04.4 LTS (Xenial Xerus) or later)
Some useful commands for updating or removing AlgoKit in the future.
To update AlgoKit: pipx upgrade algokit
To remove AlgoKit: pipx uninstall algokit
Verify installation
Verify AlgoKit is installed correctly by running algokit --version and you should see output similar to:
algokit, version 1.0.1
> Note
> If you get receive one of the following errors:
>
> - command not found: algokit (bash/zsh)
> - The term 'algokit' is not recognized as the name of a cmdlet, function, script file, or operable program. (PowerShell)
>
> Then ensure that algokit is available on the PATH by running pipx ensurepath and restarting the terminal.
It is also recommended that you run algokit doctor to verify there are no issues in your local environment and to diagnose any problems if you do have difficulties running AlgoKit. The output of this command will look similar to:
timestamp: 2023-03-27T01:23:45+00:00
AlgoKit: 1.0.1
AlgoKit Python: 3.11.1 (main, Dec 23 2022, 09:28:24) [Clang 14.0.0 (clang-1400.0.29.202)] (location: /Users/algokit/.local/pipx/venvs/algokit)
OS: macOS-13.1-arm64-arm-64bit
docker: 20.10.21
docker compose: 2.13.0
git: 2.37.1
python: 3.10.9 (location: /opt/homebrew/bin/python)
python3: 3.10.9 (location: /opt/homebrew/bin/python3)
pipx: 1.1.0
poetry: 1.3.2
node: 18.12.1
npm: 8.19.2
brew: 3.6.18
If you are experiencing a problem with AlgoKit, feel free to submit an issue via:
https://github.com/algorandfoundation/algokit-cli/issues/new
Please include this output, if you want to populate this message in your clipboard, run `algokit doctor -c`
Per the above output, the doctor command output is a helpful tool if you need to ask for support or raise an issue.
Troubleshooting
This section addresses specific edge cases and issues that some users might encounter when interacting with the CLI. The following table provides solutions to known edge cases:
Issue Description
OS(s) with observed behaviour
Steps to mitigate
References
This scenario may arise if installed python was build without --with-ssl flag enabled, causing pip to fail when trying to install dependencies.
Debian 12
Run sudo apt-get install -y libssl-dev to install the required openssl dependency. Afterwards, ensure to reinstall python with --with-ssl flag enabled. This includes options like building python from source code or using tools like pyenv.
poetry install invoked directly or via algokit project bootstrap all fails on Could NOT find PkgConfig (missing: PKG_CONFIG_EXECUTABLE).
MacOS >=14 using python 3.13 installed via homebrew
Install dependencies deprecated in 3.13 and latest MacOS versions via brew install pkg-config, delete the virtual environment folder and retry the poetry install command invocation.