> For the complete documentation index, see [llms.txt](https://zefi.gitbook.io/circomjs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://zefi.gitbook.io/circomjs/introduction/circomjs.md).

# CircomJS

CircomJS is a javascript framework for automating and easing workflow around developing in the [Circom](https://docs.circom.io) DSL.

A Circom project can be divided into the following phases:

* Writing circuits.
* Building the circuits.
* Consuming the builds.

The below diagram captures the workflow of a basic Circom project.

<figure><img src="/files/Tcjofm31LkDnMtozrc5R" alt=""><figcaption><p>Circom-worflow</p></figcaption></figure>

Circom JS aims to ease the process around `Building` your circuits and `Consuming` the builds.&#x20;

You can think of it as [hardhat](https://hardhat.org/docs) + [ethers](https://docs.ethers.org/v5/) for Circom.
