# dApp Development Framework

![](/files/-LvPYVHBCuwnoNGKwMqh)

**Punica suite** is the first `dApp` development framework based on the Ontology platform that encapsulates and provides all the necessary development tools and resources in a package so as to allow developers to swiftly get acquainted with `dApp` development.

The primary functions and attributes of the framework as as follows:

* Supports **unit** and **functional testing**, relatively simpler than the `SDK` testing mechanism, thus faster and convenient.
* Smart contract **compilation, deployment, and testing** can all be carried out using the respective commands in the command line interface, thereby making the process more efficient.

{% hint style="info" %}
The `debug` functionality is already a part of the **SmartX IDE**. In the future, the `CLI` will also provide the same.
{% endhint %}

* **Solo-chain** allows developers to track and check the on-chain data, which is a lot more convenient and efficient than using the `testnet` or setting up a private node.
* The `SDKs` and `dAPI` available in different programming languages can be used to develop applications and software for all different kinds of user groups.

## Tools

A whole set of development tools are a part of the **Punica** suite. The tools include:

![](/files/-LvPYVHEnSS7qb6NCSCw)

* [Punica Python CLI](https://github.com/punicasuite/punica-python) and [Punica Typescript CLI](https://github.com/punicasuite/punica-ts) command line tools allow the developer to conveniently compile, deploy, and test smart contracts on the TestNet, MainNet and the privatenet.
* [Punica box](https://punica.ont.io/boxes/) provides a variety of `dApp` templates and application use cases.
* [Solo-chain](https://github.com/punicasuite/solo-chain/releases) is the private chain management tool that allows the developers to deploy a private node thereby making testing a lot more convenient.
* [VS code extension](https://github.com/punicasuite/vscode-ext-ontology) is a Visual Studio plugin.

{% hint style="info" %}
Developers looking for a starting point to get acquainted with the Ontology development framework are suggested to start learning from Punica CLI.
{% endhint %}

After installing **Punica**, developers can start using [SmartX](https://smartx.ont.io/) to develop smart contracts while referring to [Punica boxes](https://punica.ont.io/boxes/).


---

# 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://docs.ont.io/developer-tools/punica-suite.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.
