SLY is an open source, collaborative, and friendly CLI for developing on the Internet Computer. Providing abstractions, templates, and tools to kick-start and speed-up Internet Computer development.
- Visit our website
- Visit SLY's repository
- Follow SLY on Twitter
This is an early version of SLY ✨ and more features are in development, anyone is welcome to contribute to build a friendly CLI tool for the IC that helps provide templates, streamlined flows, and abstractions when it comes to canister development and more!
To get started with SLY, you visit our getting started section and start by installing SLY in your system. You can find different guides for SLY's use cases, as well as the different utility tools it provides, on the menu to the left or in this section below:
There are several utility tools that SLY provides to help either abstract development flows of the IC, improve its performance, or help streamline it with examples and templates.
Let's start by creating a new project:
sly new --name hello-world
cd hello-world
By default, the sly new
command creates a new project with the rust backend template. If you have something else on your mind you can use the --template
flag to use the template you need. Currently three templates can be used to create your project:
- Non Fungible Token
- Fungible Token
- Rust Backend
Example for Non Fungible Token template:
sly new --name hello-world --template non_fungible_token
cd hello-world
Now that we have created our new project, we can dive in and inspect the structure of the project. Every project Sly creates regardless of its template, follows this code structure:
.
├── sly.json
├── canister_ids.json
├── src/
└── .sly/
Each template might change the code structure in certain ways but these two json files and two directories will always be generated. Your sly.json
file will contain your canister configurations and the canister_ids.json
will contain the principal IDs of your canisters with the related network.
You can start your local replica with the sly start
command.