From c00bb27043ed67b97c914a33b762172dfda3ebc2 Mon Sep 17 00:00:00 2001 From: Jean-Gabriel Gill-Couture Date: Tue, 24 Jun 2025 16:36:46 -0400 Subject: [PATCH] doc(harmony_composer): Add README for harmony composer Explain the main usage and idea behind harmony_composer show a few examples Show how to run it in a single shell command --- harmony_composer/README.md | 65 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100644 harmony_composer/README.md diff --git a/harmony_composer/README.md b/harmony_composer/README.md new file mode 100644 index 0000000..7ac2860 --- /dev/null +++ b/harmony_composer/README.md @@ -0,0 +1,65 @@ +# harmony_composer + +`harmony_composer` is a command-line utility for compiling and bootstrapping deployments for the Harmony orchestration framework. + +It's designed to simplify the build process by either compiling a Harmony project found in a local harmony directory or by bootstrapping a new deployment through auto-detection of the current project type. + +## ⚡ Quick Install & Run (Linux x86-64) + +You can download and run the latest snapshot build with a single command. This will place the binary in ~/.local/bin, which should be in your PATH on most modern Linux distributions. + +```bash + +curl -Ls https://git.nationtech.io/NationTech/harmony/releases/download/snapshot-latest/harmony_composer \ + -o ~/.local/bin/harmony_composer && \ +chmod +x ~/.local/bin/harmony_composer +``` + +> ⚠️ Warning: Unstable Builds +> The snapshot-latest tag points to the latest build from the master branch. It is unstable, unsupported, and intended only for early testing of new features. Please do not use it in production environments. + +## ⚙️ How It Works + +harmony_composer requires either cargo or docker to be available on your system to compile the Harmony project. + +- If cargo is found: It will be used to compile the project locally. +- If cargo is not found: It will automatically download and run the harmony_composer Docker image. This image is a self-contained build environment with the required Cargo binary and build targets for both Linux and Windows. +- If both cargo and docker are unavailable, `harmony_composer` will fail. Please install one of them. + +## 📖 Basic Usage + +Here are some common commands: + +```bash + +# Run the full check, compile, and deploy pipeline +harmony_composer all --prod + +# Only compile the Harmony smart contracts +harmony_composer compile + +# Only run static checks on the project +harmony_composer check + +# Deploy a previously compiled build +harmony_composer deploy --staging +``` + +For a full list of commands and their options, run: +```bash + +harmony_composer --help +``` + +## 🏗️ Supported Architectures + +The build system currently supports compiling for: + + x86_64-unknown-linux-gnu + x86_64-pc-windows-gnu + +More target architectures are planned. If your platform is not yet supported, please open a feature request in the main repository. + +## 🔗 Main Project + +This tool is a small part of the main Harmony project. For complete documentation, contribution guidelines, and license information, please refer to the main repository.