diff --git a/.gitignore b/.gitignore
index 1bca7f35..cb0f0940 100644
--- a/.gitignore
+++ b/.gitignore
@@ -42,8 +42,6 @@
!/pkg/browser/public/index.html
# shitdocs
-!/docs/*.html
-!/docs/*.mjs
-!/docs/*.json
+!/docs/**
-node_modules
\ No newline at end of file
+node_modules
diff --git a/docs/.nojekyll b/docs/.nojekyll
new file mode 100644
index 00000000..e69de29b
diff --git a/docs/README.md b/docs/README.md
new file mode 100644
index 00000000..07ad5837
--- /dev/null
+++ b/docs/README.md
@@ -0,0 +1,2 @@
+# Slangroom
+
diff --git a/docs/_sidebar.md b/docs/_sidebar.md
new file mode 100644
index 00000000..6fa82380
--- /dev/null
+++ b/docs/_sidebar.md
@@ -0,0 +1,9 @@
+* [Home](/)
+* Tutorials
+ * [Quickstart](tutorials/quickstart)
+ * [Setup dev environment](tutorials/dev)
+ * [Write you own plugin](tutorials/plugin)
+
+* Railroads
+ * [Http](railroads/http)
+ * [Wallet](railroads/wallet)
diff --git a/docs/index.html b/docs/index.html
index d1aeda23..c89703ea 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -1,28 +1,23 @@
-
-
- Dyne.org slangroom documentation
-
+
+ Document
+
+
+
+
-
-
-
-
-
-
-
+
+
+
+
diff --git a/docs/ethereum.html b/docs/railroads/ethereum.html
similarity index 100%
rename from docs/ethereum.html
rename to docs/railroads/ethereum.html
diff --git a/docs/generate_syntax.mjs b/docs/railroads/generate_syntax.mjs
similarity index 100%
rename from docs/generate_syntax.mjs
rename to docs/railroads/generate_syntax.mjs
diff --git a/docs/http.html b/docs/railroads/http.html
similarity index 100%
rename from docs/http.html
rename to docs/railroads/http.html
diff --git a/docs/railroads/http.md b/docs/railroads/http.md
new file mode 100644
index 00000000..a4529511
--- /dev/null
+++ b/docs/railroads/http.md
@@ -0,0 +1,2 @@
+# Http plugin
+[http.html](http.html ':include')
diff --git a/docs/railroads/index.html b/docs/railroads/index.html
new file mode 100644
index 00000000..d1aeda23
--- /dev/null
+++ b/docs/railroads/index.html
@@ -0,0 +1,28 @@
+
+
+
+
+
+ Dyne.org slangroom documentation
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/package.json b/docs/railroads/package.json
similarity index 100%
rename from docs/package.json
rename to docs/railroads/package.json
diff --git a/docs/wallet.html b/docs/railroads/wallet.html
similarity index 100%
rename from docs/wallet.html
rename to docs/railroads/wallet.html
diff --git a/docs/railroads/wallet.md b/docs/railroads/wallet.md
new file mode 100644
index 00000000..eda6c94a
--- /dev/null
+++ b/docs/railroads/wallet.md
@@ -0,0 +1,2 @@
+# Wallet plugin
+[wallet.html](wallet.html ':include')
diff --git a/docs/tutorials/dev.md b/docs/tutorials/dev.md
new file mode 100644
index 00000000..89a5141b
--- /dev/null
+++ b/docs/tutorials/dev.md
@@ -0,0 +1,3 @@
+# Dev environment
+
+TODO Setup pnpm, pnpm build, pnpm test, pnpm clean
diff --git a/docs/tutorials/plugin.md b/docs/tutorials/plugin.md
new file mode 100644
index 00000000..52c40814
--- /dev/null
+++ b/docs/tutorials/plugin.md
@@ -0,0 +1,3 @@
+# Write you own plugin
+
+TODO: ....
diff --git a/docs/tutorials/quickstart.md b/docs/tutorials/quickstart.md
new file mode 100644
index 00000000..57fd608c
--- /dev/null
+++ b/docs/tutorials/quickstart.md
@@ -0,0 +1,3 @@
+# Quickstart
+
+TODO Write a simple javascript script that uses slangroom....