diff --git a/README.md b/README.md
index 0590472e..f24146cf 100644
--- a/README.md
+++ b/README.md
@@ -9,7 +9,7 @@ To learn more about mopro, please refer to the documentation at [zkmopro](https:
## Getting started
- Make sure you've installed the [prerequisites](https://zkmopro.org/docs/prerequisites).
-- Getting started with this [tutorial](https://zkmopro.org/docs/getting-started/rust-setup).
+- Getting started with this [tutorial](https://zkmopro.org/docs/getting-started).
## Run tests
diff --git a/docs/docs/adapters/circom.md b/docs/docs/adapters/circom.md
index 1d0607b8..1bded5d8 100644
--- a/docs/docs/adapters/circom.md
+++ b/docs/docs/adapters/circom.md
@@ -8,7 +8,7 @@ Explore how the Circom adapter is implemented by checking out this sample projec
## Setup the rust project
-You can follow the instructions in the [Rust Setup](/getting-started/rust-setup.md) guide to create a new Rust project that builds this library with Circom proofs.
+You can follow the instructions in the [Rust Setup](/setup/rust-setup.md) guide to create a new Rust project that builds this library with Circom proofs.
In your `Cargo.toml` file, ensure the `circom` feature is activated for `mopro-ffi`:
diff --git a/docs/docs/adapters/halo2.md b/docs/docs/adapters/halo2.md
index 18a806a2..a35418e6 100644
--- a/docs/docs/adapters/halo2.md
+++ b/docs/docs/adapters/halo2.md
@@ -8,7 +8,7 @@ Explore how the Halo2 adapter is implemented by checking out this [Sample Mopro
## Setting Up the Rust Project
-You can start by following the general instructions in the [Rust Setup Guide](/getting-started/rust-setup.md) to create a new Rust project for building libraries with Circom proofs. However, you will need to perform these specific adjustments for Halo2:
+You can start by following the general instructions in the [Rust Setup Guide](/setup/rust-setup.md) to create a new Rust project for building libraries with Circom proofs. However, you will need to perform these specific adjustments for Halo2:
In your `Cargo.toml` file, ensure the `halo2` feature is activated for `mopro-ffi`:
diff --git a/docs/docs/getting-started.md b/docs/docs/getting-started.md
new file mode 100644
index 00000000..ad72bb3e
--- /dev/null
+++ b/docs/docs/getting-started.md
@@ -0,0 +1,64 @@
+# Getting started
+
+This tutorial guides you through building a static library with the Circom/Halo2 adapter for Android and iOS and creating example templates for mobile development.
+
+## 0. Prerequisites
+
+Make sure you've installed the [prerequisites](/docs/prerequisites).
+
+## 1. Install CLI
+
+Clone the `mopro` repository and install the `mopro` CLI tool.
+
+```sh
+git clone https://github.com/zkmopro/mopro
+cd mopro/cli
+cargo install --path .
+cd ../..
+```
+
+## 2. Initialize adapters
+
+Navigate to the folder where you want to build the app. Select the adapters using the `mopro` CLI.
+
+```sh
+mopro init
+```
+
+## 3. Build bindings
+
+Navigate to your project directory. (e.g. `cd mopro-example-app`)
+Build bindings for specific targets (iOS, Android).
+
+```sh
+mopro build
+```
+
+:::warning
+The process of building bindings may take a few minutes.
+:::
+
+:::info
+Running your project in `release` mode significantly enhances performance compared to `debug` mode. This is because the Rust compiler applies optimizations that improve runtime speed and reduce binary size, making your application more efficient.
+
+:::
+
+## 4. Create templates
+
+Create templates for developing your mobile app.
+
+```sh
+mopro create
+```
+
+Follow the instructions to open development tools
+
+For iOS:
+```sh
+open ios/MoproApp.xcodeproj
+```
+
+For Android
+```sh
+open android -a Android\ Studio
+```
\ No newline at end of file
diff --git a/docs/docs/intro.md b/docs/docs/intro.md
index 837f149b..a22d2242 100644
--- a/docs/docs/intro.md
+++ b/docs/docs/intro.md
@@ -12,7 +12,7 @@ How? Mopro connects different adapters with different platforms. You can think o
Note that above is a work in progress, and the dashed lines indicate things that are still experimental and/or in an an early stage.
-If you just want to get started using mopro, see [getting started](getting-started/rust-setup).
+If you just want to get started using mopro, see [getting started](getting-started).
## Overview
diff --git a/docs/docs/getting-started/android-setup.md b/docs/docs/setup/android-setup.md
similarity index 97%
rename from docs/docs/getting-started/android-setup.md
rename to docs/docs/setup/android-setup.md
index 4249d327..5737f3fc 100644
--- a/docs/docs/getting-started/android-setup.md
+++ b/docs/docs/setup/android-setup.md
@@ -1,6 +1,6 @@
# Android Setup
-After you've completed the [Rust setup](docs/getting-started/rust-setup.md) you should be able to run `cargo run --bin android`. This will create a new folder called `MoproAndroidBindings`. It should look like the structure
+After you've completed the [Rust setup](docs/setup/rust-setup.md) you should be able to run `cargo run --bin android`. This will create a new folder called `MoproAndroidBindings`. It should look like the structure
```sh
MoproAndroidBindings
diff --git a/docs/docs/getting-started/ios-setup.md b/docs/docs/setup/ios-setup.md
similarity index 92%
rename from docs/docs/getting-started/ios-setup.md
rename to docs/docs/setup/ios-setup.md
index d0aadd1f..0872aa77 100644
--- a/docs/docs/getting-started/ios-setup.md
+++ b/docs/docs/setup/ios-setup.md
@@ -1,7 +1,7 @@
# iOS Setup
-Once you've completed the [Rust setup](docs/getting-started/rust-setup.md) you should be able to run `cargo run --bin ios`. This will create a new folder called `MoproiOSBindings`. Inside this folder there should be a file named `mopro.swift` and a folder named `MoproBindings.xcframework`.
+Once you've completed the [Rust setup](docs/setup/rust-setup.md) you should be able to run `cargo run --bin ios`. This will create a new folder called `MoproiOSBindings`. Inside this folder there should be a file named `mopro.swift` and a folder named `MoproBindings.xcframework`.
## Demo video of this tutorial
diff --git a/docs/docs/getting-started/react-native-setup.md b/docs/docs/setup/react-native-setup.md
similarity index 100%
rename from docs/docs/getting-started/react-native-setup.md
rename to docs/docs/setup/react-native-setup.md
diff --git a/docs/docs/getting-started/rust-setup.md b/docs/docs/setup/rust-setup.md
similarity index 100%
rename from docs/docs/getting-started/rust-setup.md
rename to docs/docs/setup/rust-setup.md
diff --git a/docs/sidebars.ts b/docs/sidebars.ts
index 7c5ead4b..92c33f61 100644
--- a/docs/sidebars.ts
+++ b/docs/sidebars.ts
@@ -13,13 +13,18 @@ const sidebars: SidebarsConfig = {
id: 'prerequisites',
},
{
- type: 'category',
+ type: 'doc',
label: 'Getting Started',
+ id: 'getting-started',
+ },
+ {
+ type: 'category',
+ label: 'Setup',
items: [
- 'getting-started/rust-setup',
- 'getting-started/ios-setup',
- 'getting-started/android-setup',
- 'getting-started/react-native-setup'
+ 'setup/rust-setup',
+ 'setup/ios-setup',
+ 'setup/android-setup',
+ 'setup/react-native-setup'
]
},
{
diff --git a/docs/versioned_docs/version-0.1.0/adapters/circom.md b/docs/versioned_docs/version-0.1.0/adapters/circom.md
index 1d0607b8..1bded5d8 100644
--- a/docs/versioned_docs/version-0.1.0/adapters/circom.md
+++ b/docs/versioned_docs/version-0.1.0/adapters/circom.md
@@ -8,7 +8,7 @@ Explore how the Circom adapter is implemented by checking out this sample projec
## Setup the rust project
-You can follow the instructions in the [Rust Setup](/getting-started/rust-setup.md) guide to create a new Rust project that builds this library with Circom proofs.
+You can follow the instructions in the [Rust Setup](/setup/rust-setup.md) guide to create a new Rust project that builds this library with Circom proofs.
In your `Cargo.toml` file, ensure the `circom` feature is activated for `mopro-ffi`:
diff --git a/docs/versioned_docs/version-0.1.0/adapters/halo2.md b/docs/versioned_docs/version-0.1.0/adapters/halo2.md
index ee0f3f0e..96f358a5 100644
--- a/docs/versioned_docs/version-0.1.0/adapters/halo2.md
+++ b/docs/versioned_docs/version-0.1.0/adapters/halo2.md
@@ -8,7 +8,7 @@ Explore how the Halo2 adapter is implemented by checking out this [Sample Mopro
## Setting Up the Rust Project
-You can start by following the general instructions in the [Rust Setup Guide](/getting-started/rust-setup.md) to create a new Rust project for building libraries with Circom proofs. However, you will need to perform these specific adjustments for Halo2:
+You can start by following the general instructions in the [Rust Setup Guide](/setup/rust-setup.md) to create a new Rust project for building libraries with Circom proofs. However, you will need to perform these specific adjustments for Halo2:
In your `Cargo.toml` file, ensure the `halo2` feature is activated for `mopro-ffi`:
diff --git a/docs/versioned_docs/version-0.1.0/getting-started.md b/docs/versioned_docs/version-0.1.0/getting-started.md
new file mode 100644
index 00000000..ad72bb3e
--- /dev/null
+++ b/docs/versioned_docs/version-0.1.0/getting-started.md
@@ -0,0 +1,64 @@
+# Getting started
+
+This tutorial guides you through building a static library with the Circom/Halo2 adapter for Android and iOS and creating example templates for mobile development.
+
+## 0. Prerequisites
+
+Make sure you've installed the [prerequisites](/docs/prerequisites).
+
+## 1. Install CLI
+
+Clone the `mopro` repository and install the `mopro` CLI tool.
+
+```sh
+git clone https://github.com/zkmopro/mopro
+cd mopro/cli
+cargo install --path .
+cd ../..
+```
+
+## 2. Initialize adapters
+
+Navigate to the folder where you want to build the app. Select the adapters using the `mopro` CLI.
+
+```sh
+mopro init
+```
+
+## 3. Build bindings
+
+Navigate to your project directory. (e.g. `cd mopro-example-app`)
+Build bindings for specific targets (iOS, Android).
+
+```sh
+mopro build
+```
+
+:::warning
+The process of building bindings may take a few minutes.
+:::
+
+:::info
+Running your project in `release` mode significantly enhances performance compared to `debug` mode. This is because the Rust compiler applies optimizations that improve runtime speed and reduce binary size, making your application more efficient.
+
+:::
+
+## 4. Create templates
+
+Create templates for developing your mobile app.
+
+```sh
+mopro create
+```
+
+Follow the instructions to open development tools
+
+For iOS:
+```sh
+open ios/MoproApp.xcodeproj
+```
+
+For Android
+```sh
+open android -a Android\ Studio
+```
\ No newline at end of file
diff --git a/docs/versioned_docs/version-0.1.0/intro.md b/docs/versioned_docs/version-0.1.0/intro.md
index 837f149b..a22d2242 100644
--- a/docs/versioned_docs/version-0.1.0/intro.md
+++ b/docs/versioned_docs/version-0.1.0/intro.md
@@ -12,7 +12,7 @@ How? Mopro connects different adapters with different platforms. You can think o
Note that above is a work in progress, and the dashed lines indicate things that are still experimental and/or in an an early stage.
-If you just want to get started using mopro, see [getting started](getting-started/rust-setup).
+If you just want to get started using mopro, see [getting started](getting-started).
## Overview
diff --git a/docs/versioned_docs/version-0.1.0/getting-started/android-setup.md b/docs/versioned_docs/version-0.1.0/setup/android-setup.md
similarity index 97%
rename from docs/versioned_docs/version-0.1.0/getting-started/android-setup.md
rename to docs/versioned_docs/version-0.1.0/setup/android-setup.md
index 4249d327..5737f3fc 100644
--- a/docs/versioned_docs/version-0.1.0/getting-started/android-setup.md
+++ b/docs/versioned_docs/version-0.1.0/setup/android-setup.md
@@ -1,6 +1,6 @@
# Android Setup
-After you've completed the [Rust setup](docs/getting-started/rust-setup.md) you should be able to run `cargo run --bin android`. This will create a new folder called `MoproAndroidBindings`. It should look like the structure
+After you've completed the [Rust setup](docs/setup/rust-setup.md) you should be able to run `cargo run --bin android`. This will create a new folder called `MoproAndroidBindings`. It should look like the structure
```sh
MoproAndroidBindings
diff --git a/docs/versioned_docs/version-0.1.0/getting-started/ios-setup.md b/docs/versioned_docs/version-0.1.0/setup/ios-setup.md
similarity index 92%
rename from docs/versioned_docs/version-0.1.0/getting-started/ios-setup.md
rename to docs/versioned_docs/version-0.1.0/setup/ios-setup.md
index d0aadd1f..0872aa77 100644
--- a/docs/versioned_docs/version-0.1.0/getting-started/ios-setup.md
+++ b/docs/versioned_docs/version-0.1.0/setup/ios-setup.md
@@ -1,7 +1,7 @@
# iOS Setup
-Once you've completed the [Rust setup](docs/getting-started/rust-setup.md) you should be able to run `cargo run --bin ios`. This will create a new folder called `MoproiOSBindings`. Inside this folder there should be a file named `mopro.swift` and a folder named `MoproBindings.xcframework`.
+Once you've completed the [Rust setup](docs/setup/rust-setup.md) you should be able to run `cargo run --bin ios`. This will create a new folder called `MoproiOSBindings`. Inside this folder there should be a file named `mopro.swift` and a folder named `MoproBindings.xcframework`.
## Demo video of this tutorial
diff --git a/docs/versioned_docs/version-0.1.0/getting-started/react-native-setup.md b/docs/versioned_docs/version-0.1.0/setup/react-native-setup.md
similarity index 100%
rename from docs/versioned_docs/version-0.1.0/getting-started/react-native-setup.md
rename to docs/versioned_docs/version-0.1.0/setup/react-native-setup.md
diff --git a/docs/versioned_docs/version-0.1.0/getting-started/rust-setup.md b/docs/versioned_docs/version-0.1.0/setup/rust-setup.md
similarity index 100%
rename from docs/versioned_docs/version-0.1.0/getting-started/rust-setup.md
rename to docs/versioned_docs/version-0.1.0/setup/rust-setup.md
diff --git a/docs/versioned_sidebars/version-0.1.0-sidebars.json b/docs/versioned_sidebars/version-0.1.0-sidebars.json
index 78c2579f..43b11344 100644
--- a/docs/versioned_sidebars/version-0.1.0-sidebars.json
+++ b/docs/versioned_sidebars/version-0.1.0-sidebars.json
@@ -11,13 +11,18 @@
"id": "prerequisites"
},
{
- "type": "category",
+ "type": "doc",
"label": "Getting Started",
+ "id": "getting-started"
+ },
+ {
+ "type": "category",
+ "label": "Setup",
"items": [
- "getting-started/rust-setup",
- "getting-started/ios-setup",
- "getting-started/android-setup",
- "getting-started/react-native-setup"
+ "setup/rust-setup",
+ "setup/ios-setup",
+ "setup/android-setup",
+ "setup/react-native-setup"
]
},
{
diff --git a/mopro-ffi/README.md b/mopro-ffi/README.md
index 7186745f..cffb32c6 100644
--- a/mopro-ffi/README.md
+++ b/mopro-ffi/README.md
@@ -5,7 +5,7 @@ Mopro is a toolkit for ZK app development on mobile. Mopro makes client-side pro
## Getting started
- Make sure you've installed the [prerequisites](https://zkmopro.org/docs/prerequisites).
-- Getting started with this [tutorial](https://zkmopro.org/docs/getting-started/rust-setup).
+- Getting started with this [tutorial](https://zkmopro.org/docs/getting-started).
## Run tests