# Vasku

![cover](docs/cover.svg)

TVM-Solidity contract development framework

[![npm](https://img.shields.io/npm/v/vasku?label=npm)](https://www.npmjs.com/package/vasku)
[![downloads](https://img.shields.io/npm/dt/vasku?label=downloads)](https://www.npmjs.com/package/vasku)

## Initialize project

```shell
npx vasku@latest
```

## Features 

* Project initialization
* Contract compilation
* Contract TypeScript wrapping
* [Simple Emulator](https://github.com/tonlabs/evernode-se) wrapper
* [Mocha](https://mochajs.org) and [Chai](https://www.chaijs.com) testing
* Giver management
* Running custom scripts
* Ability to use contracts without changes on server side and in browser
* Interactive console

## Requirements

![requirements](docs/requirements.svg)

* [Docker](https://www.docker.com) to run [node Simple Emulator](https://github.com/tonlabs/evernode-se)
* [Nodejs](https://nodejs.org)
* [yarn](https://yarnpkg.com) to initialize project

## Documentation

[DOCUMENTATION.md](DOCUMENTATION.md)

## Example

* [vasku-example](https://github.com/savonarolagirolamo/vasku-example) - simple example of using Vasku for contract compilation, testing and deployment published as [npm package](https://www.npmjs.com/package/vasku-example)

## Contributing

* Read [CONTRIBUTING.md](./CONTRIBUTING.md) to view development commands
* [Open an issue](https://github.com/savonarolagirolamo/vasku/issues/new) if you want report a bug or make a suggestion
* **Make a pull request** if you want to add something
