diff --git a/.hgignore b/.hgignore
--- a/.hgignore
+++ b/.hgignore
@@ -56,6 +56,7 @@ locale/*/LC_MESSAGES/hg.mo
 hgext/__index__.py
 
 rust/target/
+rust/*/target/
 
 # Generated wheels
 wheelhouse/
diff --git a/rust/Cargo.toml b/rust/Cargo.toml
--- a/rust/Cargo.toml
+++ b/rust/Cargo.toml
@@ -1,2 +1,3 @@
 [workspace]
 members = ["hgcli"]
+exclude = ["chg"]
diff --git a/rust/chg/Cargo.toml b/rust/chg/Cargo.toml
new file mode 100644
--- /dev/null
+++ b/rust/chg/Cargo.toml
@@ -0,0 +1,18 @@
+[package]
+name = "chg"
+version = "0.1.0"
+authors = ["Yuya Nishihara <yuya@tcha.org>"]
+description = "Client for Mercurial command server with cHg extension"
+license = "GPL-2.0+"
+
+[dependencies]
+bytes = "0.4"
+futures = "0.1"
+libc = "0.2"
+tokio = "0.1"
+tokio-hglib = "0.2"
+# TODO: "^0.2.3" once released. we need AsRawFd support.
+tokio-process = { git = "https://github.com/alexcrichton/tokio-process" }
+
+[build-dependencies]
+cc = "1.0"
diff --git a/rust/chg/src/lib.rs b/rust/chg/src/lib.rs
new file mode 100644
diff --git a/rust/chg/src/main.rs b/rust/chg/src/main.rs
new file mode 100644
--- /dev/null
+++ b/rust/chg/src/main.rs
@@ -0,0 +1,7 @@
+// Copyright 2018 Yuya Nishihara <yuya@tcha.org>
+//
+// This software may be used and distributed according to the terms of the
+// GNU General Public License version 2 or any later version.
+
+fn main() {
+}