README.md

February 4, 2025 ยท View on GitHub

MPC CLI

A set of CLIs for creating Multi-Party Computation (MPC) web projects with ease.

Github license GitHub Workflow Linter eslint Code style prettier Commitizen friendly

๐Ÿ‘ฅ Contributing ย ย |ย ย  ๐Ÿค Code of conduct ย ย |ย ย  ๐Ÿ”Ž Issues

MPC-CLI provides a set of interactive command-line tools that simplifies the development of multi-party computation (MPC) web applications with modern web development frameworks (e.g. Next.js, Vite). MPC-CLI is powered by mpc-framework and summon-ts.

CLI Usage

Create

A streamlined tool for creating Multi-Party Computation (MPC) projects with ease.

npm create @mpc-cli
cd <your-app>
npm install
npm run dev

The following templates are currently supported:

Summon

A streamlined CLI to compile Summon circuits.

npx @mpc-cli/summon main.ts

Or:

npm i -g @mpc-cli/summon && summonc main.ts

Repo Usage

Clone this repository:

git clone https://github.com/cedoor/mpc-cli.git

And install the dependencies:

cd mpc-cli && yarn

Code quality and formatting

Run ESLint to analyze the code and catch bugs:

yarn lint

Run Prettier to check formatting rules:

yarn format

Or to automatically format the code:

yarn format:write

Conventional commits

MPC-CLI uses conventional commits. A command line utility to commit using the correct syntax can be used by running:

git commit

It will also automatically check that the modified files comply with ESLint and Prettier rules.

Build libraries

Run Rollup to build all the packages:

yarn build

Releases

Bump a new version with:

yarn version:bump <version>
# e.g. yarn version:bump 2.0.0

It will create a commit and a git tag that will need to be pushed on the main branch. A workflow will be triggered and will publish the MPC-CLI packages on npm and release a new version on Github with its changelogs automatically.