diff --git a/docs/.gitignore b/docs/.gitignore
new file mode 100644
index 0000000..ca35be0
--- /dev/null
+++ b/docs/.gitignore
@@ -0,0 +1 @@
+_site
diff --git a/docs/404.html b/docs/404.html
new file mode 100644
index 0000000..086a5c9
--- /dev/null
+++ b/docs/404.html
@@ -0,0 +1,25 @@
+---
+permalink: /404.html
+layout: default
+---
+
+
+
+
+
404
+
+
Page not found :(
+
The requested page could not be found.
+
diff --git a/docs/Gemfile b/docs/Gemfile
new file mode 100644
index 0000000..95cc7ed
--- /dev/null
+++ b/docs/Gemfile
@@ -0,0 +1,13 @@
+source "https://rubygems.org"
+gem "minima", "~> 2.5"
+gem "github-pages", group: :jekyll_plugins
+
+gem "jekyll-remote-theme"
+
+platforms :mingw, :x64_mingw, :mswin, :jruby do
+ gem "tzinfo", "~> 1.2"
+ gem "tzinfo-data"
+end
+
+gem "wdm", "~> 0.1.1", :platforms => [:mingw, :x64_mingw, :mswin]
+gem "just-the-docs"
diff --git a/docs/Gemfile.lock b/docs/Gemfile.lock
new file mode 100644
index 0000000..1e20c2c
--- /dev/null
+++ b/docs/Gemfile.lock
@@ -0,0 +1,280 @@
+GEM
+ remote: https://rubygems.org/
+ specs:
+ activesupport (6.0.3.6)
+ concurrent-ruby (~> 1.0, >= 1.0.2)
+ i18n (>= 0.7, < 2)
+ minitest (~> 5.1)
+ tzinfo (~> 1.1)
+ zeitwerk (~> 2.2, >= 2.2.2)
+ addressable (2.7.0)
+ public_suffix (>= 2.0.2, < 5.0)
+ coffee-script (2.4.1)
+ coffee-script-source
+ execjs
+ coffee-script-source (1.11.1)
+ colorator (1.1.0)
+ commonmarker (0.17.13)
+ ruby-enum (~> 0.5)
+ concurrent-ruby (1.1.8)
+ dnsruby (1.61.5)
+ simpleidn (~> 0.1)
+ em-websocket (0.5.2)
+ eventmachine (>= 0.12.9)
+ http_parser.rb (~> 0.6.0)
+ ethon (0.14.0)
+ ffi (>= 1.15.0)
+ eventmachine (1.2.7)
+ execjs (2.7.0)
+ faraday (1.4.1)
+ faraday-excon (~> 1.1)
+ faraday-net_http (~> 1.0)
+ faraday-net_http_persistent (~> 1.1)
+ multipart-post (>= 1.2, < 3)
+ ruby2_keywords (>= 0.0.4)
+ faraday-excon (1.1.0)
+ faraday-net_http (1.0.1)
+ faraday-net_http_persistent (1.1.0)
+ ffi (1.15.0)
+ forwardable-extended (2.6.0)
+ gemoji (3.0.1)
+ github-pages (214)
+ github-pages-health-check (= 1.17.0)
+ jekyll (= 3.9.0)
+ jekyll-avatar (= 0.7.0)
+ jekyll-coffeescript (= 1.1.1)
+ jekyll-commonmark-ghpages (= 0.1.6)
+ jekyll-default-layout (= 0.1.4)
+ jekyll-feed (= 0.15.1)
+ jekyll-gist (= 1.5.0)
+ jekyll-github-metadata (= 2.13.0)
+ jekyll-mentions (= 1.6.0)
+ jekyll-optional-front-matter (= 0.3.2)
+ jekyll-paginate (= 1.1.0)
+ jekyll-readme-index (= 0.3.0)
+ jekyll-redirect-from (= 0.16.0)
+ jekyll-relative-links (= 0.6.1)
+ jekyll-remote-theme (= 0.4.3)
+ jekyll-sass-converter (= 1.5.2)
+ jekyll-seo-tag (= 2.7.1)
+ jekyll-sitemap (= 1.4.0)
+ jekyll-swiss (= 1.0.0)
+ jekyll-theme-architect (= 0.1.1)
+ jekyll-theme-cayman (= 0.1.1)
+ jekyll-theme-dinky (= 0.1.1)
+ jekyll-theme-hacker (= 0.1.2)
+ jekyll-theme-leap-day (= 0.1.1)
+ jekyll-theme-merlot (= 0.1.1)
+ jekyll-theme-midnight (= 0.1.1)
+ jekyll-theme-minimal (= 0.1.1)
+ jekyll-theme-modernist (= 0.1.1)
+ jekyll-theme-primer (= 0.5.4)
+ jekyll-theme-slate (= 0.1.1)
+ jekyll-theme-tactile (= 0.1.1)
+ jekyll-theme-time-machine (= 0.1.1)
+ jekyll-titles-from-headings (= 0.5.3)
+ jemoji (= 0.12.0)
+ kramdown (= 2.3.1)
+ kramdown-parser-gfm (= 1.1.0)
+ liquid (= 4.0.3)
+ mercenary (~> 0.3)
+ minima (= 2.5.1)
+ nokogiri (>= 1.10.4, < 2.0)
+ rouge (= 3.26.0)
+ terminal-table (~> 1.4)
+ github-pages-health-check (1.17.0)
+ addressable (~> 2.3)
+ dnsruby (~> 1.60)
+ octokit (~> 4.0)
+ public_suffix (>= 2.0.2, < 5.0)
+ typhoeus (~> 1.3)
+ html-pipeline (2.14.0)
+ activesupport (>= 2)
+ nokogiri (>= 1.4)
+ http_parser.rb (0.6.0)
+ i18n (0.9.5)
+ concurrent-ruby (~> 1.0)
+ jekyll (3.9.0)
+ addressable (~> 2.4)
+ colorator (~> 1.0)
+ em-websocket (~> 0.5)
+ i18n (~> 0.7)
+ jekyll-sass-converter (~> 1.0)
+ jekyll-watch (~> 2.0)
+ kramdown (>= 1.17, < 3)
+ liquid (~> 4.0)
+ mercenary (~> 0.3.3)
+ pathutil (~> 0.9)
+ rouge (>= 1.7, < 4)
+ safe_yaml (~> 1.0)
+ jekyll-avatar (0.7.0)
+ jekyll (>= 3.0, < 5.0)
+ jekyll-coffeescript (1.1.1)
+ coffee-script (~> 2.2)
+ coffee-script-source (~> 1.11.1)
+ jekyll-commonmark (1.3.1)
+ commonmarker (~> 0.14)
+ jekyll (>= 3.7, < 5.0)
+ jekyll-commonmark-ghpages (0.1.6)
+ commonmarker (~> 0.17.6)
+ jekyll-commonmark (~> 1.2)
+ rouge (>= 2.0, < 4.0)
+ jekyll-default-layout (0.1.4)
+ jekyll (~> 3.0)
+ jekyll-feed (0.15.1)
+ jekyll (>= 3.7, < 5.0)
+ jekyll-gist (1.5.0)
+ octokit (~> 4.2)
+ jekyll-github-metadata (2.13.0)
+ jekyll (>= 3.4, < 5.0)
+ octokit (~> 4.0, != 4.4.0)
+ jekyll-mentions (1.6.0)
+ html-pipeline (~> 2.3)
+ jekyll (>= 3.7, < 5.0)
+ jekyll-optional-front-matter (0.3.2)
+ jekyll (>= 3.0, < 5.0)
+ jekyll-paginate (1.1.0)
+ jekyll-readme-index (0.3.0)
+ jekyll (>= 3.0, < 5.0)
+ jekyll-redirect-from (0.16.0)
+ jekyll (>= 3.3, < 5.0)
+ jekyll-relative-links (0.6.1)
+ jekyll (>= 3.3, < 5.0)
+ jekyll-remote-theme (0.4.3)
+ addressable (~> 2.0)
+ jekyll (>= 3.5, < 5.0)
+ jekyll-sass-converter (>= 1.0, <= 3.0.0, != 2.0.0)
+ rubyzip (>= 1.3.0, < 3.0)
+ jekyll-sass-converter (1.5.2)
+ sass (~> 3.4)
+ jekyll-seo-tag (2.7.1)
+ jekyll (>= 3.8, < 5.0)
+ jekyll-sitemap (1.4.0)
+ jekyll (>= 3.7, < 5.0)
+ jekyll-swiss (1.0.0)
+ jekyll-theme-architect (0.1.1)
+ jekyll (~> 3.5)
+ jekyll-seo-tag (~> 2.0)
+ jekyll-theme-cayman (0.1.1)
+ jekyll (~> 3.5)
+ jekyll-seo-tag (~> 2.0)
+ jekyll-theme-dinky (0.1.1)
+ jekyll (~> 3.5)
+ jekyll-seo-tag (~> 2.0)
+ jekyll-theme-hacker (0.1.2)
+ jekyll (> 3.5, < 5.0)
+ jekyll-seo-tag (~> 2.0)
+ jekyll-theme-leap-day (0.1.1)
+ jekyll (~> 3.5)
+ jekyll-seo-tag (~> 2.0)
+ jekyll-theme-merlot (0.1.1)
+ jekyll (~> 3.5)
+ jekyll-seo-tag (~> 2.0)
+ jekyll-theme-midnight (0.1.1)
+ jekyll (~> 3.5)
+ jekyll-seo-tag (~> 2.0)
+ jekyll-theme-minimal (0.1.1)
+ jekyll (~> 3.5)
+ jekyll-seo-tag (~> 2.0)
+ jekyll-theme-modernist (0.1.1)
+ jekyll (~> 3.5)
+ jekyll-seo-tag (~> 2.0)
+ jekyll-theme-primer (0.5.4)
+ jekyll (> 3.5, < 5.0)
+ jekyll-github-metadata (~> 2.9)
+ jekyll-seo-tag (~> 2.0)
+ jekyll-theme-slate (0.1.1)
+ jekyll (~> 3.5)
+ jekyll-seo-tag (~> 2.0)
+ jekyll-theme-tactile (0.1.1)
+ jekyll (~> 3.5)
+ jekyll-seo-tag (~> 2.0)
+ jekyll-theme-time-machine (0.1.1)
+ jekyll (~> 3.5)
+ jekyll-seo-tag (~> 2.0)
+ jekyll-titles-from-headings (0.5.3)
+ jekyll (>= 3.3, < 5.0)
+ jekyll-watch (2.2.1)
+ listen (~> 3.0)
+ jemoji (0.12.0)
+ gemoji (~> 3.0)
+ html-pipeline (~> 2.2)
+ jekyll (>= 3.0, < 5.0)
+ just-the-docs (0.3.3)
+ jekyll (>= 3.8.5)
+ jekyll-seo-tag (~> 2.0)
+ rake (>= 12.3.1, < 13.1.0)
+ kramdown (2.3.1)
+ rexml
+ kramdown-parser-gfm (1.1.0)
+ kramdown (~> 2.0)
+ liquid (4.0.3)
+ listen (3.5.1)
+ rb-fsevent (~> 0.10, >= 0.10.3)
+ rb-inotify (~> 0.9, >= 0.9.10)
+ mercenary (0.3.6)
+ mini_portile2 (2.5.1)
+ minima (2.5.1)
+ jekyll (>= 3.5, < 5.0)
+ jekyll-feed (~> 0.9)
+ jekyll-seo-tag (~> 2.1)
+ minitest (5.14.4)
+ multipart-post (2.1.1)
+ nokogiri (1.11.3)
+ mini_portile2 (~> 2.5.0)
+ racc (~> 1.4)
+ octokit (4.21.0)
+ faraday (>= 0.9)
+ sawyer (~> 0.8.0, >= 0.5.3)
+ pathutil (0.16.2)
+ forwardable-extended (~> 2.6)
+ public_suffix (4.0.6)
+ racc (1.5.2)
+ rake (13.0.3)
+ rb-fsevent (0.10.4)
+ rb-inotify (0.10.1)
+ ffi (~> 1.0)
+ rexml (3.2.5)
+ rouge (3.26.0)
+ ruby-enum (0.9.0)
+ i18n
+ ruby2_keywords (0.0.4)
+ rubyzip (2.3.0)
+ safe_yaml (1.0.5)
+ sass (3.7.4)
+ sass-listen (~> 4.0.0)
+ sass-listen (4.0.0)
+ rb-fsevent (~> 0.9, >= 0.9.4)
+ rb-inotify (~> 0.9, >= 0.9.7)
+ sawyer (0.8.2)
+ addressable (>= 2.3.5)
+ faraday (> 0.8, < 2.0)
+ simpleidn (0.2.1)
+ unf (~> 0.1.4)
+ terminal-table (1.8.0)
+ unicode-display_width (~> 1.1, >= 1.1.1)
+ thread_safe (0.3.6)
+ typhoeus (1.4.0)
+ ethon (>= 0.9.0)
+ tzinfo (1.2.9)
+ thread_safe (~> 0.1)
+ unf (0.1.4)
+ unf_ext
+ unf_ext (0.0.7.7)
+ unicode-display_width (1.7.0)
+ zeitwerk (2.4.2)
+
+PLATFORMS
+ ruby
+
+DEPENDENCIES
+ github-pages
+ jekyll-remote-theme
+ just-the-docs
+ minima (~> 2.5)
+ tzinfo (~> 1.2)
+ tzinfo-data
+ wdm (~> 0.1.1)
+
+BUNDLED WITH
+ 2.1.2
diff --git a/docs/_config.yml b/docs/_config.yml
new file mode 100644
index 0000000..9bb74b9
--- /dev/null
+++ b/docs/_config.yml
@@ -0,0 +1,9 @@
+title: cmkr
+
+plugins:
+ - jekyll-remote-theme
+
+# Build settings
+# theme: just-the-docs
+remote_theme: pmarsceill/just-the-docs
+search_enabled: true
diff --git a/docs/command-line.md b/docs/command-line.md
new file mode 100644
index 0000000..0d8512d
--- /dev/null
+++ b/docs/command-line.md
@@ -0,0 +1,22 @@
+---
+layout: page
+title: Command line
+permalink: /command-line/
+nav_order: 2
+---
+
+## Command line
+
+Optionally you can install `cmkr` in your `PATH` and use it as a utility from the command line:
+
+```
+Usage: cmkr [arguments]
+arguments:
+ init [executable|library|shared|static|interface] Starts a new project in the same directory.
+ gen Generates CMakeLists.txt file.
+ build Run cmake and build.
+ install Run cmake --install. Needs admin privileges.
+ clean Clean the build directory.
+ help Show help.
+ version Current cmkr version.
+```
\ No newline at end of file
diff --git a/docs/examples/cpp-version-change.markdown b/docs/examples/cpp-version-change.markdown
new file mode 100644
index 0000000..0b8bf85
--- /dev/null
+++ b/docs/examples/cpp-version-change.markdown
@@ -0,0 +1,17 @@
+---
+layout: default
+title: Changing C/C++ version
+permalink: /examples/cpp-version-change
+parent: Examples
+nav_order: 3
+---
+
+# Changing C/C++ version
+
+Simple example changing C++ to version 20 and C standard to the version 11
+
+```toml
+[target.example]
+type = "executable"
+compile-features = [ "cxx_std_20", "c_std_11" ]
+```
diff --git a/docs/examples/import-from-git.markdown b/docs/examples/import-from-git.markdown
new file mode 100644
index 0000000..e92e965
--- /dev/null
+++ b/docs/examples/import-from-git.markdown
@@ -0,0 +1,22 @@
+---
+layout: default
+title: Import content from Github
+permalink: /examples/import-from-git
+parent: Examples
+nav_order: 2
+---
+
+# Import content from Github
+
+Importing an existing project called Zydis to my project
+
+tag is optional but you can target any branch with it
+
+```toml
+[fetch-content]
+zydis = { git = "https://github.com/zyantific/zydis.git", tag = "v3.1.0" }
+
+[target.example]
+type = "executable"
+link-libraries = ["zydis"]
+```
diff --git a/docs/examples/index.markdown b/docs/examples/index.markdown
new file mode 100644
index 0000000..e25f124
--- /dev/null
+++ b/docs/examples/index.markdown
@@ -0,0 +1,10 @@
+---
+layout: default
+title: Examples
+permalink: /examples/
+nav_order: 4
+has_children: true
+---
+
+# Examples
+
diff --git a/docs/examples/quickstart.markdown b/docs/examples/quickstart.markdown
new file mode 100644
index 0000000..c6aa0a8
--- /dev/null
+++ b/docs/examples/quickstart.markdown
@@ -0,0 +1,23 @@
+---
+layout: default
+title: Quickstart
+permalink: /examples/quickstart
+parent: Examples
+nav_order: 1
+---
+
+# Quickstart
+
+Smallest possible start point you can have using cmkr
+
+```toml
+[cmake]
+version = "3.15"
+
+[project]
+name = "hello-world"
+
+[target.hello-world]
+type = "executable"
+sources = [ "src/*.cpp" ]
+```
\ No newline at end of file
diff --git a/docs/favicon.ico b/docs/favicon.ico
new file mode 100644
index 0000000..e0c4123
Binary files /dev/null and b/docs/favicon.ico differ
diff --git a/docs/getting-started.md b/docs/getting-started.md
new file mode 100644
index 0000000..e4c9466
--- /dev/null
+++ b/docs/getting-started.md
@@ -0,0 +1,17 @@
+---
+layout: page
+title: Getting started
+permalink: /getting-started/
+nav_order: 1
+---
+
+## Getting started
+
+The easiest way to get started is to use the [cmkr_for_beginners](https://github.com/build-cpp/cmkr_for_beginners) template repository. Either open it in [Gitpod](https://gitpod.io/#https://github.com/build-cpp/cmkr_for_beginners), or clone the repository and run:
+
+```sh
+cmake -B build
+cmake --build build
+```
+
+Alternatively you can check out the [cmkr topic](https://github.com/topics/cmkr) or the [build-cpp organization](https://github.com/build-cpp) for more examples and templates.
\ No newline at end of file
diff --git a/docs/hammer-svgrepo-com.png b/docs/hammer-svgrepo-com.png
new file mode 100644
index 0000000..3805410
Binary files /dev/null and b/docs/hammer-svgrepo-com.png differ
diff --git a/docs/hammer-svgrepo-com.svg b/docs/hammer-svgrepo-com.svg
new file mode 100644
index 0000000..691537c
--- /dev/null
+++ b/docs/hammer-svgrepo-com.svg
@@ -0,0 +1,46 @@
+
+
+
diff --git a/docs/index.md b/docs/index.md
new file mode 100644
index 0000000..6c3718f
--- /dev/null
+++ b/docs/index.md
@@ -0,0 +1,25 @@
+---
+layout: home
+title: Index
+nav_order: 0
+---
+
+# Index
+
+`cmkr`, pronounced "cmaker", is a modern build system based on [CMake](https://cmake.org/) and [TOML](https://toml.io). It was originally created by [Mohammed Alyousef](https://github.com/MoAlyousef).
+
+**NOTE**: The documentation is currently a work-in-progress due to breaking changes since `0.1.4`. For examples you can check the [cmkr GitHub topic](https://github.com/topics/cmkr) and the [tests](https://github.com/build-cpp/cmkr/tree/main/tests).
+
+`cmkr` parses `cmake.toml` files and generates a modern, idiomatic `CMakeLists.txt` for you. A minimal example:
+
+```toml
+[project]
+name = "cmkr_for_beginners"
+description = "A minimal cmkr project."
+
+[target.hello_world]
+type = "executable"
+sources = ["src/main.cpp"]
+```
+
+`cmkr` can bootstrap itself from CMake and consumers of your project do not need to install anything to use it.
\ No newline at end of file
diff --git a/docs/run-locally.sh b/docs/run-locally.sh
new file mode 100755
index 0000000..f5a8339
--- /dev/null
+++ b/docs/run-locally.sh
@@ -0,0 +1,2 @@
+bundle exec just-the-docs rake search:init
+bundle exec jekyll serve --livereload