# SHIELD

## Overview

The SHIELD is a development framework for circom developers; Circom development requires a set of pre-requisite skills. From both technical and mathematical perspectives. SHIELD makes these pre-requisite skills acquisition easy and makes the circom circuits development as hardhat/truffle does for the smart solidity contracts; it also improves the developer experience and makes it attractive to increase the mass adoption of zkps.

SHIELD CLI is the main component you interact with when using SHIELD. It's a flexible and extensible CLI tool that helps you to generate optimized boilerplates and circuits compilation without writing .sh compilation script files. And develop interfaces to interact with smart contracts and dApps.

SHIELD also makes the circom debugging easy. You get circom stack traces, input/output signal values, circom circuit logs, and detailed calculation/ mathematical equations of every constraint getting passed or failed in the circuit.

## Installation

SHIELD is used through global installation in your system. This way, you can use the SHIELD cli anywhere and compile circuits without needing any external dependency or npm project setup.

To install it, you need to have the npm, or you can use another package manager. For example, to install SHIELD globally, run the following:

{% code overflow="wrap" %}

```shell

$ npm i -g @xorddotcom/shield

```

{% endcode %}

or with yarn

```shell

$ yarn add -g @xorddotcom/shield
```

## Quick Links

* [Notion](https://xord.notion.site/SHIELD-5306223ca4f745d19f54b9a5f4004cd6)
* [Twitter](https://twitter.com/ShieldFramework)
* [Github](https://github.com/xorddotcom/SHIELD)
* [Medium](https://shieldframework.medium.com/)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://battlezips.gitbook.io/battlezips/development/shield.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
