Introduction
Taqueria is here to help make developing on Tezos easier. Taqueria supercharges your projects with a powerful and centralized configuration and access to top Tezos development tools through tasks that you run from the command line
Some of the things Taqueria can do for you include:
- Compiling smart contracts written in LIGO or SmartPY
- Running a Flextesa sandbox (a local Tezos testnet)
- Originating a smart contract
- Generating TypeScript types from a Michelson contract
- Autocompletion in VS Code
What is Taqueria?
Taqueria is an extensible, open source plugin based framework and task runner for Tezos development
In more practical terms, Taqueria is a task runner that you can use from the command line or the VS Code command palette to quickly accomplish things like starting a sandbox or originating a contract. Taqueria comes with a few basic tasks, but relies on plugins to add tasks that provide complex and domain specific functionality
Taqueria has a few major components:
- A command line interface (CLI) you use in your terminal through a command named
taq - A library of plugins that add tasks to Taqueria to do cool and useful things like smart contract compiling, originating, and type generation
- A VS Code Extension which provides the ability to run Taqueria tasks from the command palette
Basic Components
Taqueria CLI
The CLI is the main user interface for Taqueria which provides a command taq through which you can initialize a project, install/uninstall plugins, and run tasks
Basic usage of the Taqueria CLI involves running a command following the pattern
taq [task] [options]
You can see what tasks are available to run in any given context by running taq --help from the command line
Taqueria Project
A Taqueria project is one that has been initialized by Taqueria using the taq init command. It will have the following folder structure created:
appcontractsartifacts./.taq
The ./.taq folder contains the Taqueria configuration for a given project. Configuration for Taqueria plugins and sandboxes is done in ./.taq/config.json
note
At this time, all Taqueria projects must also be initialized as node projects by running npm init -y from the root of your project directory
Taqueria Plugins
Taqueria plugins add functionality to Taqueria by adding tasks to Taqueria. Plugins are managed right in Taqueria using the taq install [pluginName] and taq uninstall [pluginName] commands
Taqueria plugins are installed on a per-project basis which allows you to customize the combination of technologies used and tasks avalable on a project. This means that the tasks available to run in each project will differ based on the plugins installed
Currently available plugins include:
- LIGO Compiler
- SmartPy Compiler
- Flextesa Sandbox
- Taquito
- TS Type Generator
Taqueria SDK
Taqueria has an SDK and protocol at its core which all Taqueria plugins and the cli depend on
Most developers won't ever interact with directly unless they are developing a Taqueria plugin, but it's helpful to know they are there