# Development

- [Circom Language](https://battlezips.gitbook.io/battlezips/development/circom-language.md)
- [Installation](https://battlezips.gitbook.io/battlezips/development/circom-language/installation.md): How do I put Circom on my computer?
- [IDE](https://battlezips.gitbook.io/battlezips/development/circom-language/ide.md): How do I augment my development experience?
- [Signals and Variables](https://battlezips.gitbook.io/battlezips/development/circom-language/signals-and-variables.md): Data vessels in Circom
- [Signal Assignment and Constraint Generation](https://battlezips.gitbook.io/battlezips/development/circom-language/signal-assignment-and-constraint-generation.md): Restricting circuits to achieve verifiable private computation
- [Conditional Statements](https://battlezips.gitbook.io/battlezips/development/circom-language/conditional-statements.md): The misleading inclusion of the "if" statement in Circom, and the use of multiplexers to actually compute branching logi
- [Components and Templates](https://battlezips.gitbook.io/battlezips/development/circom-language/components-and-templates.md): C++ has Classes. Solidity has Contracts. Circom has Components.
- [Circuit Compilation](https://battlezips.gitbook.io/battlezips/development/circom-language/circuit-compilation.md)
- [Syntax](https://battlezips.gitbook.io/battlezips/development/circom-language/syntax.md): Relevant syntactical rules and conventions
- [SnarkJS](https://battlezips.gitbook.io/battlezips/development/snarkjs.md): Library that drives all things Circom
- [Proving Schemes](https://battlezips.gitbook.io/battlezips/development/snarkjs/proving-schemes.md): That's a lovely choice of car. Would you like to drive it "manual", or "automatic"?
- [Powers of Tau](https://battlezips.gitbook.io/battlezips/development/snarkjs/powers-of-tau.md): How do I perform the Powers of Tau ceremony?
- [ZK Keys](https://battlezips.gitbook.io/battlezips/development/snarkjs/zk-keys.md): ZK Keys - shorthand for the Proving and Verifying keys - found in xxx.zkey files
- [Zero Knowledge Proofs](https://battlezips.gitbook.io/battlezips/development/snarkjs/zero-knowledge-proofs.md)
- [On-Chain ZKP](https://battlezips.gitbook.io/battlezips/development/snarkjs/on-chain-zkp.md)
- [Page 2](https://battlezips.gitbook.io/battlezips/development/snarkjs/page-2.md)
- [circomlib](https://battlezips.gitbook.io/battlezips/development/circomlib.md): Prefab library of commonly needed circuits - circomlib is for Circom what @openzeppelin/contracts is for solidity
- [Basic Math Constraints](https://battlezips.gitbook.io/battlezips/development/circomlib/basic-math-constraints.md): Constraining validity of basic logical and arithmetic computations made in zero knowledge
- [Multiplexing](https://battlezips.gitbook.io/battlezips/development/circomlib/multiplexing.md): MANDATORY use of the first party conditional signal selector. Do not skip!
- [Hashing](https://battlezips.gitbook.io/battlezips/development/circomlib/hashing.md): Using 1st party implementations of circuit friendly (and unfriendly) hash functions in Circom circuits
- [EdDSA](https://battlezips.gitbook.io/battlezips/development/circomlib/eddsa.md)
- [circomlibjs](https://battlezips.gitbook.io/battlezips/development/circomlib/circomlibjs.md)
- [circom-tester](https://battlezips.gitbook.io/battlezips/development/circom-tester.md): Unit test the execution of circuit logic without running the overhead of a zkSNARK
- [hardhat-circom](https://battlezips.gitbook.io/battlezips/development/hardhat-circom.md): Overview of the hardhat-circom npm package
- [SHIELD](https://battlezips.gitbook.io/battlezips/development/shield.md): SHIELD; A Swiss Army Knife for ZKPs Development
- [Circomspect](https://battlezips.gitbook.io/battlezips/development/circomspect.md): Static analyzer for Circom syntax and safety


---

# 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.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.
