{"id":27148965,"url":"https://github.com/mach-composer/mach-composer-cli","last_synced_at":"2026-03-11T01:32:17.548Z","repository":{"id":36960041,"uuid":"299847087","full_name":"mach-composer/mach-composer-cli","owner":"mach-composer","description":"MACH composer is an orchestration tool for modern MACH ecosystems, powered by Terraform infrastructure-as-code underneath.","archived":false,"fork":false,"pushed_at":"2026-01-01T21:03:09.000Z","size":17558,"stargazers_count":49,"open_issues_count":29,"forks_count":12,"subscribers_count":7,"default_branch":"main","last_synced_at":"2026-01-07T06:36:42.337Z","etag":null,"topics":["aws","azure","commercetools","composable","gcp","headless","mach","storyblok","terraform"],"latest_commit_sha":null,"homepage":"https://docs.machcomposer.io","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mach-composer.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":".github/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":["labd"]}},"created_at":"2020-09-30T07:50:29.000Z","updated_at":"2025-10-07T07:22:01.000Z","dependencies_parsed_at":"2023-08-28T23:07:18.132Z","dependency_job_id":"d56eb4f6-e79e-4efb-8cd5-6472d1825177","html_url":"https://github.com/mach-composer/mach-composer-cli","commit_stats":{"total_commits":1380,"total_committers":28,"mean_commits":"49.285714285714285","dds":0.594927536231884,"last_synced_commit":"dec34ff4f22e188c96111655fa8c6ec320daa18c"},"previous_names":["mach-composer/mach-composer-cli","labd/mach-composer"],"tags_count":206,"template":false,"template_full_name":null,"purl":"pkg:github/mach-composer/mach-composer-cli","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mach-composer%2Fmach-composer-cli","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mach-composer%2Fmach-composer-cli/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mach-composer%2Fmach-composer-cli/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mach-composer%2Fmach-composer-cli/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mach-composer","download_url":"https://codeload.github.com/mach-composer/mach-composer-cli/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mach-composer%2Fmach-composer-cli/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30366051,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-10T21:41:54.280Z","status":"ssl_error","status_checked_at":"2026-03-10T21:40:59.357Z","response_time":106,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aws","azure","commercetools","composable","gcp","headless","mach","storyblok","terraform"],"created_at":"2025-04-08T12:34:52.807Z","updated_at":"2026-03-11T01:32:17.520Z","avatar_url":"https://github.com/mach-composer.png","language":"Go","funding_links":["https://github.com/sponsors/labd"],"categories":[],"sub_categories":[],"readme":"[![MACH composer](https://github.com/mach-composer/mach-composer-cli/blob/main/docs/src/_img/logo.png?raw=true)](https://docs.machcomposer.io)\n\n**Documentation:** [docs.machcomposer.io](https://docs.machcomposer.io)\n\n**Plug-ins overview:** [MACH composer plug-ins README](https://github.com/mach-composer#cli-plugins)\n\nMACH composer is a framework that you use to orchestrate and extend modern\ndigital commerce \u0026 experience platforms, based on MACH technologies and cloud\nnative services. It provides a standards-based, future-proof tool-set and\nmethodology to hand to your teams when building these types of platforms.\n\nIt includes:\n\n- A configuration framework for managing MACH-services configuration, using\n  infrastructure-as-code underneath (powered by Terraform)\n- A microservices architecture based on modern serverless technology (AWS\n  Lambda and Azure Functions), including (alpha) support for building your\n  microservices with the Serverless Framework\n- Multi-tenancy support for managing many instances of your platform, that\n  share the same library of micro services\n- CI/CD tools for automating the delivery of your MACH ecosystem\n- Tight integration with AWS an Azure, including an (opinionated) setup of\n  these cloud environments\n\nThe framework is intended as the 'center piece' of your MACH architecture and\nincorporates industry best practises such as the 12 Factor Methodology,\nInfrastrucure-as-code, DevOps, immutable deployments, FAAS, etc.\n\nWith combining (and requiring) these practises, using the framework has\nsignificant impact on your engineering methodology and organisation. On the\nother hand, by combining those practises we believe it offers an accelerated\n'way in' in terms of embracing modern engineering practises in your\norganisation.\n\n## Installation\n\n### MacOS\n\n```bash\nbrew tap mach-composer/mach-composer\nbrew install mach-composer\n```\n\n### Windows\n\nWindows installation through Chocolatery is currently unstable. We recommend to [download the latest release from GitHub\nReleases](https://github.com/mach-composer/mach-composer-cli/releases/latest). Also, it is recommended to run MACH composer through [WSL](https://learn.microsoft.com/en-us/windows/wsl/install).\n\n\u003c!--```ps\nchoco install mach-composer --version=2.5.0\n``` --\u003e\n\n### Nix\n\nAdd the flake input\n\n```\n  inputs.mach-composer = {\n    url = \"github:mach-composer/nix-mach-composer\";\n    inputs.nixpkgs.follows = \"nixpkgs\";\n  };\n\n  # in outputs, pass mach-composer into your configuration\n```\n\nThen add to your package list\n\n```\n  mach-composer.packages.${system}.mach-composer\n```\n\n#### making an overlay\n```\nlet\n  mach-composer-overlay = final: prev: {\n    mach-composer = mach-composer.packages.${system}.mach-composer;\n  };\n  pkgs = import nixpkgs {\n    inherit system;\n    config = {\n      allowUnfree = true;\n    };\n\n    overlays = [\n      mach-composer-overlay\n    ];\n  };\n```\n\n\u003e if using [numtide/devshell](https://github.com/numtide/devshell/), you can then put `mach-composer` in your `devshell.toml` packages list.\n\n## Getting started\n\nRead our [getting started guide](https://docs.machcomposer.io/gettingstarted.html)\non how to deploy your MACH stack with MACH composer.\n\n## Example yaml file\n\n```yaml\n---\nmach_composer:\n  version: 1\nglobal:\n  environment: test\n  cloud: aws\n  terraform_config:\n    aws_remote_state:\n      bucket: mach-tfstate-tst\n      key_prefix: mach-composer-tst\n      region: eu-central-1\nsites:\n  - identifier: my-site\n    aws:\n      account_id: 1234567890\n      region: eu-central-1\n    endpoints:\n      public: api.tst.mach-example.net\n    commercetools:\n      project_key: my-site-tst\n      client_id: ...\n      client_secret: ...\n      scopes: manage_project:my-site-tst manage_api_clients:my-site-tst view_api_clients:my-site-tst\n      token_url: https://auth.europe-west1.gcp.commercetools.com\n      api_url: https://api.europe-west1.gcp.commercetools.com\n      project_settings:\n        languages:\n          - en-GB\n          - nl-NL\n        currencies:\n          - GBP\n          - EUR\n        countries:\n          - GB\n          - NL\n    components:\n      - name: payment\n        variables:\n          STRIPE_ACCOUNT_ID: 0123456789\n        secrets:\n          STRIPE_SECRET_KEY: secret-value\ncomponents:\n  - name: payment\n    source: git::ssh://git@github.com/your-project/components/payment-component.git//terraform\n    endpoints:\n      main: public\n    version: e638e57\n```\n\n### Running MACH\n\nTo generate the files:\n\n```console\nmach-composer generate # generates config for main.yml\nmach-composer generate -f other-file.yml\n```\n\nTo plan Terraform:\n\n```console\nmach-composer plan\n```\n\nTo apply Terraform config:\n\n```console\nmach-composer apply\n```\n\nOptionally you can run a terraform init without taking any action:\n\n```console\nmach-composer terraform init\n```\n\n\n### Checking for updates\n\nMACH can check your components for available updates.\n\nTo do this, run:\n\n```console\nmach-composer update -f main.yml\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmach-composer%2Fmach-composer-cli","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmach-composer%2Fmach-composer-cli","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmach-composer%2Fmach-composer-cli/lists"}