First beta release of icp-cli

Hello everyone, the first beta release of icp-cli is available here: Release Release v0.1.0-beta.0 · dfinity/icp-cli · GitHub

For now you’ll need to download the binary from the release page and put it in your path.

We will follow up with the ability to install with some common package managers. If you’re feeling adventurous, you can try installing with homebrew, see instructions at GitHub - raymondk/homebrew-icp-cli: Homebrew tap for icp-cli, a command-line utility for developing and deploying applications on the Internet Computer Protocol (ICP).

Take a look at:

Your feedback is welcome and your contributions even more, specially as far as clarifying docs and examples.

16 Likes

Hey,
I didnt fully checked doc yet, but can you share what’s the difference with DFX ?
Thanks !

Interesting improvements :+1:

Only checked the docs, but this .yaml config is sick! Big congrats :clap:

Allowing for cli to sync canisters at this level of precision is very interesting for professional developers that are optimizing and working on a team.

Think it’s a significant and worthwhile improvement. Keep it up!

If I catch any improvs / bugs will open an issue :+1:

The important features are:

  • Decoupling the cli tool from the toolchains used to build the canisters - for eg updating your cli doesn’t necessarily force you to update your motoko version, you can do that when you are ready.
  • “Recipes” allow you to share build patterns within your team or with the community instead of the common build patterns being hard coded into the cli itself. You can write your own or used the ones published by the foundation.
  • There is a concept of “environment” which is a logical set of canisters on a network. So you are able to deploy the same canisters to different environments and manage their settings independently.
  • You can build the canisters once and deploy the same compiled code to different environments - canister ids don’t need to be hard coded into your canister code instead the cli automatically injects canister environment variables at deployment time so that ids: “Build once, deploy many times”
2 Likes

Hi folks, there’s an updated beta release v0.1.0-beta.1 that introduces some new features:

For now, you can install manually or for those of you on mac os you can install it with an experimental homebrew tap:

brew tap raymondk/icp-cli
brew install icp-cli

To see the new cli in action, check out this video: icp-cli with brew install - asciinema.org

What we’re working on next:

  • Native support for docker based networks:
    • This allows developers to easily use complex network setups for local development and share them across teams.
    • Will allow us to release a windows native version of the cli
  • Make the CLI installable through common package managers

As always, if you have feedback, we’re happy to hear it.

4 Likes