diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000000000..f40fbd8ba564e
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,5 @@
+_site
+.sass-cache
+.jekyll-cache
+.jekyll-metadata
+vendor
diff --git a/404.html b/404.html
new file mode 100644
index 0000000000000..086a5c9ea988c
--- /dev/null
+++ b/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/Gemfile b/Gemfile
new file mode 100644
index 0000000000000..180ee562ab2b4
--- /dev/null
+++ b/Gemfile
@@ -0,0 +1,31 @@
+source "https://rubygems.org"
+# Hello! This is where you manage which Jekyll version is used to run.
+# When you want to use a different version, change it below, save the
+# file and run `bundle install`. Run Jekyll with `bundle exec`, like so:
+#
+# bundle exec jekyll serve
+#
+# This will help ensure the proper Jekyll version is running.
+# Happy Jekylling!
+gem "jekyll"
+# This is the default theme for new Jekyll sites. You may change this to anything you like.
+# gem "minima"
+gem "github-pages", group: :jekyll_plugins
+# If you want to use GitHub Pages, remove the "gem "jekyll"" above and
+# uncomment the line below. To upgrade, run `bundle update github-pages`.
+# gem "github-pages", group: :jekyll_plugins
+# If you have any plugins, put them here!
+group :jekyll_plugins do
+ gem "jekyll-feed"
+end
+
+# Windows and JRuby does not include zoneinfo files, so bundle the tzinfo-data gem
+# and associated library.
+install_if -> { RUBY_PLATFORM =~ %r!mingw|mswin|java! } do
+ gem "tzinfo"
+ gem "tzinfo-data"
+end
+
+# Performance-booster for watching directories on Windows
+gem "wdm", :install_if => Gem.win_platform?
+
diff --git a/Gemfile.lock b/Gemfile.lock
new file mode 100644
index 0000000000000..4ed18777d33ea
--- /dev/null
+++ b/Gemfile.lock
@@ -0,0 +1,257 @@
+GEM
+ remote: https://rubygems.org/
+ specs:
+ activesupport (4.2.11.1)
+ i18n (~> 0.7)
+ minitest (~> 5.1)
+ thread_safe (~> 0.3, >= 0.3.4)
+ tzinfo (~> 1.1)
+ 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.5)
+ dnsruby (1.61.3)
+ addressable (~> 2.5)
+ em-websocket (0.5.1)
+ eventmachine (>= 0.12.9)
+ http_parser.rb (~> 0.6.0)
+ ethon (0.12.0)
+ ffi (>= 1.3.0)
+ eventmachine (1.2.7)
+ execjs (2.7.0)
+ faraday (0.17.0)
+ multipart-post (>= 1.2, < 3)
+ ffi (1.11.2)
+ forwardable-extended (2.6.0)
+ gemoji (3.0.1)
+ github-pages (202)
+ activesupport (= 4.2.11.1)
+ github-pages-health-check (= 1.16.1)
+ jekyll (= 3.8.5)
+ jekyll-avatar (= 0.6.0)
+ jekyll-coffeescript (= 1.1.1)
+ jekyll-commonmark-ghpages (= 0.1.6)
+ jekyll-default-layout (= 0.1.4)
+ jekyll-feed (= 0.11.0)
+ jekyll-gist (= 1.5.0)
+ jekyll-github-metadata (= 2.12.1)
+ jekyll-mentions (= 1.4.1)
+ jekyll-optional-front-matter (= 0.3.0)
+ jekyll-paginate (= 1.1.0)
+ jekyll-readme-index (= 0.2.0)
+ jekyll-redirect-from (= 0.14.0)
+ jekyll-relative-links (= 0.6.0)
+ jekyll-remote-theme (= 0.4.0)
+ jekyll-sass-converter (= 1.5.2)
+ jekyll-seo-tag (= 2.5.0)
+ jekyll-sitemap (= 1.2.0)
+ jekyll-swiss (= 0.4.0)
+ jekyll-theme-architect (= 0.1.1)
+ jekyll-theme-cayman (= 0.1.1)
+ jekyll-theme-dinky (= 0.1.1)
+ jekyll-theme-hacker (= 0.1.1)
+ 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.3)
+ 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.1)
+ jemoji (= 0.10.2)
+ kramdown (= 1.17.0)
+ liquid (= 4.0.0)
+ listen (= 3.1.5)
+ mercenary (~> 0.3)
+ minima (= 2.5.0)
+ nokogiri (>= 1.10.4, < 2.0)
+ rouge (= 3.11.0)
+ terminal-table (~> 1.4)
+ github-pages-health-check (1.16.1)
+ addressable (~> 2.3)
+ dnsruby (~> 1.60)
+ octokit (~> 4.0)
+ public_suffix (~> 3.0)
+ typhoeus (~> 1.3)
+ html-pipeline (2.12.2)
+ activesupport (>= 2)
+ nokogiri (>= 1.4)
+ http_parser.rb (0.6.0)
+ i18n (0.9.5)
+ concurrent-ruby (~> 1.0)
+ jekyll (3.8.5)
+ addressable (~> 2.4)
+ colorator (~> 1.0)
+ em-websocket (~> 0.5)
+ i18n (~> 0.7)
+ jekyll-sass-converter (~> 1.0)
+ jekyll-watch (~> 2.0)
+ kramdown (~> 1.14)
+ liquid (~> 4.0)
+ mercenary (~> 0.3.3)
+ pathutil (~> 0.9)
+ rouge (>= 1.7, < 4)
+ safe_yaml (~> 1.0)
+ jekyll-avatar (0.6.0)
+ jekyll (~> 3.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.11.0)
+ jekyll (~> 3.3)
+ jekyll-gist (1.5.0)
+ octokit (~> 4.2)
+ jekyll-github-metadata (2.12.1)
+ jekyll (~> 3.4)
+ octokit (~> 4.0, != 4.4.0)
+ jekyll-mentions (1.4.1)
+ html-pipeline (~> 2.3)
+ jekyll (~> 3.0)
+ jekyll-optional-front-matter (0.3.0)
+ jekyll (~> 3.0)
+ jekyll-paginate (1.1.0)
+ jekyll-readme-index (0.2.0)
+ jekyll (~> 3.0)
+ jekyll-redirect-from (0.14.0)
+ jekyll (~> 3.3)
+ jekyll-relative-links (0.6.0)
+ jekyll (~> 3.3)
+ jekyll-remote-theme (0.4.0)
+ addressable (~> 2.0)
+ jekyll (~> 3.5)
+ rubyzip (>= 1.2.1, < 3.0)
+ jekyll-sass-converter (1.5.2)
+ sass (~> 3.4)
+ jekyll-seo-tag (2.5.0)
+ jekyll (~> 3.3)
+ jekyll-sitemap (1.2.0)
+ jekyll (~> 3.3)
+ jekyll-swiss (0.4.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.1)
+ jekyll (~> 3.5)
+ 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.3)
+ jekyll (~> 3.5)
+ 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.1)
+ jekyll (~> 3.3)
+ jekyll-watch (2.2.1)
+ listen (~> 3.0)
+ jemoji (0.10.2)
+ gemoji (~> 3.0)
+ html-pipeline (~> 2.2)
+ jekyll (~> 3.0)
+ kramdown (1.17.0)
+ liquid (4.0.0)
+ listen (3.1.5)
+ rb-fsevent (~> 0.9, >= 0.9.4)
+ rb-inotify (~> 0.9, >= 0.9.7)
+ ruby_dep (~> 1.2)
+ mercenary (0.3.6)
+ mini_portile2 (2.4.0)
+ minima (2.5.0)
+ jekyll (~> 3.5)
+ jekyll-feed (~> 0.9)
+ jekyll-seo-tag (~> 2.1)
+ minitest (5.13.0)
+ multipart-post (2.1.1)
+ nokogiri (1.10.5)
+ mini_portile2 (~> 2.4.0)
+ octokit (4.14.0)
+ sawyer (~> 0.8.0, >= 0.5.3)
+ pathutil (0.16.2)
+ forwardable-extended (~> 2.6)
+ public_suffix (3.1.1)
+ rb-fsevent (0.10.3)
+ rb-inotify (0.10.0)
+ ffi (~> 1.0)
+ rouge (3.11.0)
+ ruby-enum (0.7.2)
+ i18n
+ ruby_dep (1.5.0)
+ rubyzip (2.0.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)
+ terminal-table (1.8.0)
+ unicode-display_width (~> 1.1, >= 1.1.1)
+ thread_safe (0.3.6)
+ typhoeus (1.3.1)
+ ethon (>= 0.9.0)
+ tzinfo (1.2.5)
+ thread_safe (~> 0.1)
+ tzinfo-data (1.2019.3)
+ tzinfo (>= 1.0.0)
+ unicode-display_width (1.6.0)
+ wdm (0.1.1)
+
+PLATFORMS
+ ruby
+
+DEPENDENCIES
+ github-pages
+ jekyll
+ jekyll-feed
+ tzinfo
+ tzinfo-data
+ wdm
+
+BUNDLED WITH
+ 2.0.2
diff --git a/_config.yml b/_config.yml
new file mode 100644
index 0000000000000..6f3aeb67a229d
--- /dev/null
+++ b/_config.yml
@@ -0,0 +1,49 @@
+# Welcome to Jekyll!
+#
+# This config file is meant for settings that affect your whole blog, values
+# which you are expected to set up once and rarely edit after that. If you find
+# yourself editing this file very often, consider using Jekyll's data files
+# feature for the data you need to update frequently.
+#
+# For technical reasons, this file is *NOT* reloaded automatically when you use
+# 'bundle exec jekyll serve'. If you change this file, please restart the server process.
+#
+# If you need help with YAML syntax, here are some quick references for you:
+# https://learn-the-web.algonquindesign.ca/topics/markdown-yaml-cheat-sheet/#yaml
+# https://learnxinyminutes.com/docs/yaml/
+#
+# Site settings
+# These are used to personalize your new site. If you look in the HTML files,
+# you will see them accessed via {{ site.title }}, {{ site.email }}, and so on.
+# You can create any custom variable you would like, and they will be accessible
+# in the templates via {{ site.myvariable }}.
+
+title: Nushell
+description: A modern shell for the GitHub era.
+
+# url: "" # the base hostname & protocol for your site, e.g. http://example.com
+github_username: nushell
+url: "https://github.com/nushell"
+
+# Build settings
+theme: jekyll-theme-midnight
+
+# Exclude from processing.
+# The following items will not be processed, by default.
+# Any item listed under the `exclude:` key here will be automatically added to
+# the internal "default list".
+#
+# Excluded items can be processed by explicitly listing the directories or
+# their entries' file path in the `include:` list.
+#
+# exclude:
+# - .sass-cache/
+# - .jekyll-cache/
+# - gemfiles/
+# - Gemfile
+# - Gemfile.lock
+# - node_modules/
+# - vendor/bundle/
+# - vendor/cache/
+# - vendor/gems/
+# - vendor/ruby/
diff --git a/_includes/navigation.html b/_includes/navigation.html
new file mode 100644
index 0000000000000..8167fa106962e
--- /dev/null
+++ b/_includes/navigation.html
@@ -0,0 +1,10 @@
+
\ No newline at end of file
diff --git a/_layouts/about.html b/_layouts/about.html
new file mode 100644
index 0000000000000..62a778ec970f0
--- /dev/null
+++ b/_layouts/about.html
@@ -0,0 +1,67 @@
+
+
+
+
+
+
+
+{% seo %}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
{{ site.title | default: site.github.repository_name }}
+ {{ site.description | default: site.github.project_tagline }}
+
+
+ {{ content }}
+ You can find us here:
+
+ GitHub
+
+ Discord
+
+ Twitter
+
+
+
+
+
+ {% if site.google_analytics %}
+
+ {% endif %}
+
+
+
+
\ No newline at end of file
diff --git a/_layouts/default.html b/_layouts/default.html
new file mode 100644
index 0000000000000..799aa2f660a61
--- /dev/null
+++ b/_layouts/default.html
@@ -0,0 +1,53 @@
+
+
+
+
+
+
+
+{% seo %}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
{{ site.title | default: site.github.repository_name }}
+ {{ site.description | default: site.github.project_tagline }}
+
+
+
+
+ {{ content }}
+
+
+
+
+
+ {% if site.google_analytics %}
+
+ {% endif %}
+
+
\ No newline at end of file
diff --git a/_layouts/doc.html b/_layouts/doc.html
new file mode 100644
index 0000000000000..56c88e08e2f46
--- /dev/null
+++ b/_layouts/doc.html
@@ -0,0 +1,52 @@
+
+
+
+
+
+
+
+{% seo %}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
{{ page.title }}
+
+
+
+
+ {{ content }}
+
+
+
+
+
+ {% if site.google_analytics %}
+
+ {% endif %}
+
+
\ No newline at end of file
diff --git a/_sass/fonts.scss b/_sass/fonts.scss
new file mode 100644
index 0000000000000..e5f8006d7eb3e
--- /dev/null
+++ b/_sass/fonts.scss
@@ -0,0 +1,95 @@
+@font-face {
+ font-family: 'OpenSansLight';
+ src: url('../fonts/OpenSans-Light-webfont.eot');
+ src: url('../fonts/OpenSans-Light-webfont.eot?#iefix') format('embedded-opentype'),
+ url('../fonts/OpenSans-Light-webfont.woff') format('woff'),
+ url('../fonts/OpenSans-Light-webfont.ttf') format('truetype'),
+ url('../fonts/OpenSans-Light-webfont.svg#OpenSansLight') format('svg');
+ font-weight: normal;
+ font-style: normal;
+
+}
+
+@font-face {
+ font-family: 'OpenSansLightItalic';
+ src: url('../fonts/OpenSans-LightItalic-webfont.eot');
+ src: url('../fonts/OpenSans-LightItalic-webfont.eot?#iefix') format('embedded-opentype'),
+ url('../fonts/OpenSans-LightItalic-webfont.woff') format('woff'),
+ url('../fonts/OpenSans-LightItalic-webfont.ttf') format('truetype'),
+ url('../fonts/OpenSans-LightItalic-webfont.svg#OpenSansLightItalic') format('svg');
+ font-weight: normal;
+ font-style: normal;
+
+}
+
+@font-face {
+ font-family: 'OpenSansRegular';
+ src: url('../fonts/OpenSans-Regular-webfont.eot');
+ src: url('../fonts/OpenSans-Regular-webfont.eot?#iefix') format('embedded-opentype'),
+ url('../fonts/OpenSans-Regular-webfont.woff') format('woff'),
+ url('../fonts/OpenSans-Regular-webfont.ttf') format('truetype'),
+ url('../fonts/OpenSans-Regular-webfont.svg#OpenSansRegular') format('svg');
+ font-weight: normal;
+ font-style: normal;
+ -webkit-font-smoothing:antialiased;
+}
+
+@font-face {
+ font-family: 'OpenSansItalic';
+ src: url('../fonts/OpenSans-Italic-webfont.eot');
+ src: url('../fonts/OpenSans-Italic-webfont.eot?#iefix') format('embedded-opentype'),
+ url('../fonts/OpenSans-Italic-webfont.woff') format('woff'),
+ url('../fonts/OpenSans-Italic-webfont.ttf') format('truetype'),
+ url('../fonts/OpenSans-Italic-webfont.svg#OpenSansItalic') format('svg');
+ font-weight: normal;
+ font-style: normal;
+ -webkit-font-smoothing:antialiased;
+}
+
+@font-face {
+ font-family: 'OpenSansSemibold';
+ src: url('../fonts/OpenSans-Semibold-webfont.eot');
+ src: url('../fonts/OpenSans-Semibold-webfont.eot?#iefix') format('embedded-opentype'),
+ url('../fonts/OpenSans-Semibold-webfont.woff') format('woff'),
+ url('../fonts/OpenSans-Semibold-webfont.ttf') format('truetype'),
+ url('../fonts/OpenSans-Semibold-webfont.svg#OpenSansSemibold') format('svg');
+ font-weight: normal;
+ font-style: normal;
+ -webkit-font-smoothing:antialiased;
+}
+
+@font-face {
+ font-family: 'OpenSansSemiboldItalic';
+ src: url('../fonts/OpenSans-SemiboldItalic-webfont.eot');
+ src: url('../fonts/OpenSans-SemiboldItalic-webfont.eot?#iefix') format('embedded-opentype'),
+ url('../fonts/OpenSans-SemiboldItalic-webfont.woff') format('woff'),
+ url('../fonts/OpenSans-SemiboldItalic-webfont.ttf') format('truetype'),
+ url('../fonts/OpenSans-SemiboldItalic-webfont.svg#OpenSansSemiboldItalic') format('svg');
+ font-weight: normal;
+ font-style: normal;
+ -webkit-font-smoothing:antialiased;
+}
+
+@font-face {
+ font-family: 'OpenSansBold';
+ src: url('../fonts/OpenSans-Bold-webfont.eot');
+ src: url('../fonts/OpenSans-Bold-webfont.eot?#iefix') format('embedded-opentype'),
+ url('../fonts/OpenSans-Bold-webfont.woff') format('woff'),
+ url('../fonts/OpenSans-Bold-webfont.ttf') format('truetype'),
+ url('../fonts/OpenSans-Bold-webfont.svg#OpenSansBold') format('svg');
+ font-weight: normal;
+ font-style: normal;
+ -webkit-font-smoothing:antialiased;
+}
+
+@font-face {
+ font-family: 'OpenSansBoldItalic';
+ src: url('../fonts/OpenSans-BoldItalic-webfont.eot');
+ src: url('../fonts/OpenSans-BoldItalic-webfont.eot?#iefix') format('embedded-opentype'),
+ url('../fonts/OpenSans-BoldItalic-webfont.woff') format('woff'),
+ url('../fonts/OpenSans-BoldItalic-webfont.ttf') format('truetype'),
+ url('../fonts/OpenSans-BoldItalic-webfont.svg#OpenSansBoldItalic') format('svg');
+ font-weight: normal;
+ font-style: normal;
+ -webkit-font-smoothing:antialiased;
+}
diff --git a/_sass/jekyll-theme-midnight.scss b/_sass/jekyll-theme-midnight.scss
new file mode 100644
index 0000000000000..f1efc5438efa5
--- /dev/null
+++ b/_sass/jekyll-theme-midnight.scss
@@ -0,0 +1,336 @@
+@import "normalize";
+@import "fonts";
+@import "rouge-base16-dark.scss";
+
+body {
+ padding:0px 0 20px 0px;
+ margin: 0px;
+ font:14px/1.5 "OpenSansRegular", "Helvetica Neue", Helvetica, Arial, sans-serif;
+ //color: #f0e7d5
+ color:#585858;
+ font-weight: normal;
+ //background: #252525;
+ background: #ffffff;
+ background-attachment: fixed !important;
+ //background: linear-gradient(#2a2a29, #1c1c1c);
+}
+
+h1, h2, h3, h4, h5, h6 {
+ //color:#e8e8e8;
+ color: #242424;
+ margin:0 0 10px;
+ font-family: 'OpenSansRegular', "Helvetica Neue", Helvetica, Arial, sans-serif;
+ font-weight: normal;
+}
+
+p, ul, ol, table, pre, dl {
+ margin:0 0 20px;
+}
+
+h1, h2, h3 {
+ line-height:1.1;
+
+}
+
+h1 {
+ font-size:28px;
+}
+
+h2 {
+ font-size: 24px;
+}
+
+h4, h5, h6 {
+ color:#242424;;
+}
+
+h3 {
+ font-size: 18px;
+ line-height: 24px;
+ font-family: 'OpenSansRegular', "Helvetica Neue", Helvetica, Arial, sans-serif !important;
+ font-weight: normal;
+ color: #535353;
+}
+
+a {
+ color:#4e9a06;
+ font-weight:400;
+ text-decoration:none;
+
+ &.nu {
+ font-size: 30px;
+ }
+
+ &:hover {
+ color: #4ec526;
+ }
+}
+
+a small {
+ font-size:11px;
+ color:#555;
+ margin-top:-0.6em;
+ display:block;
+}
+
+ul{
+ list-style-type: square;
+ color: #555;
+}
+
+strong {
+ font-family: 'OpenSansBold', "Helvetica Neue", Helvetica, Arial, sans-serif !important;
+ font-weight: normal;
+}
+
+.wrapper {
+ max-width:650px;
+ margin:0 auto;
+ position:relative;
+ padding: 0 20px;
+}
+
+section img {
+ max-width: 100%;
+ border-radius: 5px;
+}
+
+blockquote {
+ border-left:3px solid #4e9a06;
+ margin:0;
+ padding:0 0 0 20px;
+ font-style:italic;
+}
+
+code {
+ font-family: Monaco, Bitstream Vera Sans Mono, Lucida Console, Terminal, monospace;
+ color:#282828;
+ font-size:13px;
+ margin: 0 4px;
+ padding: 2px 4px;
+ border-radius: 5px;
+ background: #eeeeee;
+ //background: #333;
+}
+
+pre {
+ padding:8px 15px;
+ background: #333;
+ border-radius: 5px;
+ border:1px solid #121212;
+ box-shadow: inset 0 1px 3px rgba(0,0,0,.3);
+ overflow: auto;
+ overflow-y: hidden;
+
+ code {
+ color: #efefef;
+ background: #333;
+ text-shadow: 0px 1px 0px #000;
+ margin: 0;
+ padding: 0;
+ }
+}
+
+table {
+ width:100%;
+ border-collapse:collapse;
+}
+
+#header {
+ z-index: 100;
+ left:0;
+ top: 0px;
+ height: 60px;
+ width: 100%;
+ position: fixed;
+ background: url(../images/nav-bg.gif) #353535;
+ border-bottom: 4px solid #434343;
+ box-shadow: 0px 1px 3px rgba(0,0,0,.25);
+
+ nav {
+ max-width: 650px;
+ margin: 2px auto;
+ padding: 0 0px;
+ background: none;
+ margin: 10px auto;
+ font-size: 22px;
+ border: none;
+ border-radius: 5px;
+ text-align: left;
+ border-bottom-width: 50px;
+ flex-wrap: wrap;
+ display: flow-root;
+
+
+ a {
+ margin-right: 15px;
+ }
+
+ li {
+ font-family: 'OpenSansLight', "Helvetica Neue", Helvetica, Arial, sans-serif;
+ font-weight: normal;
+ list-style: none;
+ display: inline;
+ color: white;
+ line-height: 50px;
+ text-shadow: 0px 1px 0px rgba(0,0,0,.2);
+ font-size: 14px;
+
+ a {
+ color: #fff;
+ border: 1px solid none;
+ border-radius: 5px;
+ background: #4e9a06;
+ border-radius: 5px;
+ box-shadow: inset 0px 1px 0px rgba(255,255,255,.3), 0px 3px 7px rgba(0,0,0,.7);
+ word-spacing: 2px;
+ background-color: #4e9a06;
+ padding: 4px 6px;
+ padding-top: 8px;
+ padding-bottom: 4px;
+ font-size:15px;
+ text-align:center;
+
+ &:hover {
+ background: #4ec526;
+ background-color: #4ec526;
+ border: 1px solid none;
+ border-radius: 5px;
+ box-shadow: inset 0px 1px 1px rgba(0,0,0,.2), 0px 1px 0px rgba(0,0,0,.0);
+ }
+ }
+
+ &.button {
+ float: right;
+ margin-left: 0px;
+ size: 12px;
+ border-radius: 5px;
+ top: 5px;
+ }
+
+ &.downloads {
+ float: right;
+ margin-left: 6px;
+ }
+
+ &.title {
+ float: right;
+ margin-right: 10px;
+ font-size: 11px;
+ }
+ }
+ }
+}
+
+footer {
+ font-size: 12px;
+ color: #9e9e9e;
+ max-width: 650px;
+ margin: 2px auto;
+ padding: 0 0px;
+ background: none;
+ margin: 10px auto;
+ .credits {
+ font-size: 11px;
+ font-family: 'OpenSansRegular', "Helvetica Neue", Helvetica, Arial, sans-serif;
+ font-weight: normal;
+ color: #696969;
+ margin-top: -10px;
+
+ &.left {
+ float: left;
+ }
+
+ &.right {
+ float: right;
+ }
+ }
+}
+
+section {
+ max-width:650px;
+ padding: 30px 0px 50px 0px;
+ margin: 20px 0;
+ margin-top: 70px;
+
+ #title {
+ border: 0;
+ outline: none;
+ margin: 0 0 50px 0;
+ padding: 0 0 5px 0;
+
+ h1 {
+ font-family: 'OpenSansLight', "Helvetica Neue", Helvetica, Arial, sans-serif;
+ font-weight: normal;
+ font-size: 40px;
+ text-align: center;
+ line-height: 36px;
+ }
+
+ p {
+ color: #d7cfbe;
+ font-family: 'OpenSansLight', "Helvetica Neue", Helvetica, Arial, sans-serif;
+ font-weight: normal;
+ font-size: 18px;
+ text-align: center;
+ }
+
+ .credits {
+ font-size: 11px;
+ font-family: 'OpenSansRegular', "Helvetica Neue", Helvetica, Arial, sans-serif;
+ font-weight: normal;
+ color: #696969;
+ margin-top: -10px;
+
+ &.left {
+ float: left;
+ }
+
+ &.right {
+ float: right;
+ }
+ }
+
+ }
+}
+
+.nav_links {
+ border: none;
+ border-radius: 50px;
+}
+
+@media print, screen and (max-width: 720px) {
+
+ #title {
+ .credits {
+ display: block;
+ width: 100%;
+ line-height: 30px;
+ text-align: center;
+
+ .left {
+ float: none;
+ display: block;
+ }
+
+ .right {
+ float: none;
+ display: block;
+ }
+ }
+ }
+}
+
+@media print, screen and (max-width: 480px) {
+
+ #header {
+ margin-top: -20px;
+ }
+
+ section {
+ margin-top: 40px;
+ }
+ nav {
+ display: none;
+ }
+}
diff --git a/_sass/normalize.scss b/_sass/normalize.scss
new file mode 100644
index 0000000000000..2fa717f777f5e
--- /dev/null
+++ b/_sass/normalize.scss
@@ -0,0 +1,492 @@
+/*! normalize.css 2012-02-07T12:37 UTC - https://github.com/necolas/normalize.css */
+
+/* =============================================================================
+ HTML5 display definitions
+ ========================================================================== */
+
+/*
+ * Corrects block display not defined in IE6/7/8/9 & FF3
+ */
+
+article,
+aside,
+details,
+figcaption,
+figure,
+footer,
+header,
+hgroup,
+nav,
+section,
+summary {
+ display: block;
+}
+
+/*
+ * Corrects inline-block display not defined in IE6/7/8/9 & FF3
+ */
+
+audio,
+canvas,
+video {
+ display: inline-block;
+ *display: inline;
+ *zoom: 1;
+}
+
+/*
+ * Prevents modern browsers from displaying 'audio' without controls
+ */
+
+audio:not([controls]) {
+ display: none;
+}
+
+/*
+ * Addresses styling for 'hidden' attribute not present in IE7/8/9, FF3, S4
+ * Known issue: no IE6 support
+ */
+
+[hidden] {
+ display: none;
+}
+
+
+/* =============================================================================
+ Base
+ ========================================================================== */
+
+/*
+ * 1. Corrects text resizing oddly in IE6/7 when body font-size is set using em units
+ * http://clagnut.com/blog/348/#c790
+ * 2. Prevents iOS text size adjust after orientation change, without disabling user zoom
+ * www.456bereastreet.com/archive/201012/controlling_text_size_in_safari_for_ios_without_disabling_user_zoom/
+ */
+
+html {
+ font-size: 100%; /* 1 */
+ -webkit-text-size-adjust: 100%; /* 2 */
+ -ms-text-size-adjust: 100%; /* 2 */
+}
+
+/*
+ * Addresses font-family inconsistency between 'textarea' and other form elements.
+ */
+
+html,
+button,
+input,
+select,
+textarea {
+ font-family: sans-serif;
+}
+
+/*
+ * Addresses margins handled incorrectly in IE6/7
+ */
+
+body {
+ margin: 0;
+}
+
+
+/* =============================================================================
+ Links
+ ========================================================================== */
+
+/*
+ * Addresses outline displayed oddly in Chrome
+ */
+
+a:focus {
+ outline: thin dotted;
+}
+
+/*
+ * Improves readability when focused and also mouse hovered in all browsers
+ * people.opera.com/patrickl/experiments/keyboard/test
+ */
+
+a:hover,
+a:active {
+ outline: 0;
+}
+
+
+/* =============================================================================
+ Typography
+ ========================================================================== */
+
+/*
+ * Addresses font sizes and margins set differently in IE6/7
+ * Addresses font sizes within 'section' and 'article' in FF4+, Chrome, S5
+ */
+
+h1 {
+ font-size: 2em;
+ margin: 0.67em 0;
+}
+
+h2 {
+ font-size: 1.5em;
+ margin: 0.83em 0;
+}
+
+h3 {
+ font-size: 1.17em;
+ margin: 1em 0;
+}
+
+h4 {
+ font-size: 1em;
+ margin: 1.33em 0;
+}
+
+h5 {
+ font-size: 0.83em;
+ margin: 1.67em 0;
+}
+
+h6 {
+ font-size: 0.75em;
+ margin: 2.33em 0;
+}
+
+/*
+ * Addresses styling not present in IE7/8/9, S5, Chrome
+ */
+
+abbr[title] {
+ border-bottom: 1px dotted;
+}
+
+/*
+ * Addresses style set to 'bolder' in FF3+, S4/5, Chrome
+*/
+
+b,
+strong {
+ font-weight: bold;
+}
+
+blockquote {
+ margin: 1em 40px;
+}
+
+/*
+ * Addresses styling not present in S5, Chrome
+ */
+
+dfn {
+ font-style: italic;
+}
+
+/*
+ * Addresses styling not present in IE6/7/8/9
+ */
+
+mark {
+ background: #ff0;
+ color: #000;
+}
+
+/*
+ * Addresses margins set differently in IE6/7
+ */
+
+p,
+pre {
+ margin: 1em 0;
+}
+
+/*
+ * Corrects font family set oddly in IE6, S4/5, Chrome
+ * en.wikipedia.org/wiki/User:Davidgothberg/Test59
+ */
+
+pre,
+code,
+kbd,
+samp {
+ font-family: monospace, serif;
+ _font-family: 'courier new', monospace;
+ font-size: 1em;
+}
+
+/*
+ * 1. Addresses CSS quotes not supported in IE6/7
+ * 2. Addresses quote property not supported in S4
+ */
+
+/* 1 */
+
+q {
+ quotes: none;
+}
+
+/* 2 */
+
+q:before,
+q:after {
+ content: '';
+ content: none;
+}
+
+small {
+ font-size: 75%;
+}
+
+/*
+ * Prevents sub and sup affecting line-height in all browsers
+ * gist.github.com/413930
+ */
+
+sub,
+sup {
+ font-size: 75%;
+ line-height: 0;
+ position: relative;
+ vertical-align: baseline;
+}
+
+sup {
+ top: -0.5em;
+}
+
+sub {
+ bottom: -0.25em;
+}
+
+
+/* =============================================================================
+ Lists
+ ========================================================================== */
+
+/*
+ * Addresses margins set differently in IE6/7
+ */
+
+dl,
+menu,
+ol,
+ul {
+ margin: 1em 0;
+}
+
+dd {
+ margin: 0 0 0 40px;
+}
+
+/*
+ * Addresses paddings set differently in IE6/7
+ */
+
+menu,
+ol,
+ul {
+ padding: 0 0 0 40px;
+}
+
+/*
+ * Corrects list images handled incorrectly in IE7
+ */
+
+nav ul,
+nav ol {
+ list-style: none;
+ list-style-image: none;
+}
+
+
+/* =============================================================================
+ Embedded content
+ ========================================================================== */
+
+/*
+ * 1. Removes border when inside 'a' element in IE6/7/8/9, FF3
+ * 2. Improves image quality when scaled in IE7
+ * code.flickr.com/blog/2008/11/12/on-ui-quality-the-little-things-client-side-image-resizing/
+ */
+
+img {
+ border: 0; /* 1 */
+ -ms-interpolation-mode: bicubic; /* 2 */
+}
+
+/*
+ * Corrects overflow displayed oddly in IE9
+ */
+
+svg:not(:root) {
+ overflow: hidden;
+}
+
+
+/* =============================================================================
+ Figures
+ ========================================================================== */
+
+/*
+ * Addresses margin not present in IE6/7/8/9, S5, O11
+ */
+
+figure {
+ margin: 0;
+}
+
+
+/* =============================================================================
+ Forms
+ ========================================================================== */
+
+/*
+ * Corrects margin displayed oddly in IE6/7
+ */
+
+form {
+ margin: 0;
+}
+
+/*
+ * Define consistent border, margin, and padding
+ */
+
+fieldset {
+ border: 1px solid #c0c0c0;
+ margin: 0 2px;
+ padding: 0.35em 0.625em 0.75em;
+}
+
+/*
+ * 1. Corrects color not being inherited in IE6/7/8/9
+ * 2. Corrects text not wrapping in FF3
+ * 3. Corrects alignment displayed oddly in IE6/7
+ */
+
+legend {
+ border: 0; /* 1 */
+ padding: 0;
+ white-space: normal; /* 2 */
+ *margin-left: -7px; /* 3 */
+}
+
+/*
+ * 1. Corrects font size not being inherited in all browsers
+ * 2. Addresses margins set differently in IE6/7, FF3+, S5, Chrome
+ * 3. Improves appearance and consistency in all browsers
+ */
+
+button,
+input,
+select,
+textarea {
+ font-size: 100%; /* 1 */
+ margin: 0; /* 2 */
+ vertical-align: baseline; /* 3 */
+ *vertical-align: middle; /* 3 */
+}
+
+/*
+ * Addresses FF3/4 setting line-height on 'input' using !important in the UA stylesheet
+ */
+
+button,
+input {
+ line-height: normal; /* 1 */
+}
+
+/*
+ * 1. Improves usability and consistency of cursor style between image-type 'input' and others
+ * 2. Corrects inability to style clickable 'input' types in iOS
+ * 3. Removes inner spacing in IE7 without affecting normal text inputs
+ * Known issue: inner spacing remains in IE6
+ */
+
+button,
+input[type="button"],
+input[type="reset"],
+input[type="submit"] {
+ cursor: pointer; /* 1 */
+ -webkit-appearance: button; /* 2 */
+ *overflow: visible; /* 3 */
+}
+
+/*
+ * Re-set default cursor for disabled elements
+ */
+
+button[disabled],
+input[disabled] {
+ cursor: default;
+}
+
+/*
+ * 1. Addresses box sizing set to content-box in IE8/9
+ * 2. Removes excess padding in IE8/9
+ * 3. Removes excess padding in IE7
+ Known issue: excess padding remains in IE6
+ */
+
+input[type="checkbox"],
+input[type="radio"] {
+ box-sizing: border-box; /* 1 */
+ padding: 0; /* 2 */
+ *height: 13px; /* 3 */
+ *width: 13px; /* 3 */
+}
+
+/*
+ * 1. Addresses appearance set to searchfield in S5, Chrome
+ * 2. Addresses box-sizing set to border-box in S5, Chrome (include -moz to future-proof)
+ */
+
+input[type="search"] {
+ -webkit-appearance: textfield; /* 1 */
+ -moz-box-sizing: content-box;
+ -webkit-box-sizing: content-box; /* 2 */
+ box-sizing: content-box;
+}
+
+/*
+ * Removes inner padding and search cancel button in S5, Chrome on OS X
+ */
+
+input[type="search"]::-webkit-search-decoration,
+input[type="search"]::-webkit-search-cancel-button {
+ -webkit-appearance: none;
+}
+
+/*
+ * Removes inner padding and border in FF3+
+ * www.sitepen.com/blog/2008/05/14/the-devils-in-the-details-fixing-dojos-toolbar-buttons/
+ */
+
+button::-moz-focus-inner,
+input::-moz-focus-inner {
+ border: 0;
+ padding: 0;
+}
+
+/*
+ * 1. Removes default vertical scrollbar in IE6/7/8/9
+ * 2. Improves readability and alignment in all browsers
+ */
+
+textarea {
+ overflow: auto; /* 1 */
+ vertical-align: top; /* 2 */
+}
+
+
+/* =============================================================================
+ Tables
+ ========================================================================== */
+
+/*
+ * Remove most spacing between table cells
+ */
+
+table {
+ border-collapse: collapse;
+ border-spacing: 0;
+}
\ No newline at end of file
diff --git a/_sass/rouge-base16-dark.scss b/_sass/rouge-base16-dark.scss
new file mode 100644
index 0000000000000..c303bd5847d5f
--- /dev/null
+++ b/_sass/rouge-base16-dark.scss
@@ -0,0 +1,81 @@
+/*
+ generated by rouge http://rouge.jneen.net/
+ original base16 by Chris Kempson (https://github.com/chriskempson/base16)
+*/
+
+.highlight table td { padding: 5px; }
+.highlight table pre { margin: 0; }
+.highlight, .highlight .w {
+ color: #d0d0d0;
+}
+.highlight .err {
+ color: #151515;
+ background-color: #ac4142;
+}
+.highlight .c, .highlight .cd, .highlight .cm, .highlight .c1, .highlight .cs {
+ color: #888;
+}
+.highlight .cp {
+ color: #f4bf75;
+}
+.highlight .nt {
+ color: #f4bf75;
+}
+.highlight .o, .highlight .ow {
+ color: #d0d0d0;
+}
+.highlight .p, .highlight .pi {
+ color: #d0d0d0;
+}
+.highlight .gi {
+ color: #90a959;
+}
+.highlight .gd {
+ color: #ac4142;
+}
+.highlight .gh {
+ color: #6a9fb5;
+ font-weight: bold;
+}
+.highlight .k, .highlight .kn, .highlight .kp, .highlight .kr, .highlight .kv {
+ color: #aa759f;
+}
+.highlight .kc {
+ color: #d28445;
+}
+.highlight .kt {
+ color: #d28445;
+}
+.highlight .kd {
+ color: #d28445;
+}
+.highlight .s, .highlight .sb, .highlight .sc, .highlight .sd, .highlight .s2, .highlight .sh, .highlight .sx, .highlight .s1 {
+ color: #90a959;
+}
+.highlight .sr {
+ color: #75b5aa;
+}
+.highlight .si {
+ color: #8f5536;
+}
+.highlight .se {
+ color: #8f5536;
+}
+.highlight .nn {
+ color: #f4bf75;
+}
+.highlight .nc {
+ color: #f4bf75;
+}
+.highlight .no {
+ color: #f4bf75;
+}
+.highlight .na {
+ color: #6a9fb5;
+}
+.highlight .m, .highlight .mf, .highlight .mh, .highlight .mi, .highlight .il, .highlight .mo, .highlight .mb, .highlight .mx {
+ color: #90a959;
+}
+.highlight .ss {
+ color: #90a959;
+}
diff --git a/about.md b/about.md
new file mode 100644
index 0000000000000..3c54404e8c8b9
--- /dev/null
+++ b/about.md
@@ -0,0 +1,4 @@
+---
+layout: about
+title: about
+---
diff --git a/commands/README.md b/commands/README.md
new file mode 100644
index 0000000000000..68ef658caed0a
--- /dev/null
+++ b/commands/README.md
@@ -0,0 +1,25 @@
+# How do I get started?
+
+Pick any command from the checklist and write a comment acknowledging you started work.
+
+# Instructions for documenting a Nu command of your choosing
+
+Name the file after the command, like so:
+
+`command.md`
+
+Example: If you want to add documentation for the Nu command `enter`, create a file named `enter.md`, write documentation, save it at `/docs/commands/[your_command_picked].md` as and create your pull request.
+
+# What kind of documentation should I write?
+
+Anything you want that you believe it *best* documents the command and the way you would like to see it. Here are some of our ideas of documentation we would *love* to see (feel free to add yours):
+
+* Examples of using the command (max creativity welcomed!)
+* Description of the command.
+* Command usage.
+
+# Anything else?
+
+Of course! (These are drafts) so feel free to leave feedback and suggestions in the same file.
+
+Happy Documenting.
diff --git a/commands/add.md b/commands/add.md
new file mode 100644
index 0000000000000..f3f080859b0f9
--- /dev/null
+++ b/commands/add.md
@@ -0,0 +1,28 @@
+# add
+
+This command adds a column to any table output. The first parameter takes the heading, the second parameter takes the value for all the rows.
+
+## Examples
+
+```shell
+> ls | add is_on_a_computer yes_obviously
+━━━┯━━━━━━━━━━━━━━━━━━━━━━━━━━━━┯━━━━━━┯━━━━━━━━━━┯━━━━━━━━┯━━━━━━━━━━━┯━━━━━━━━━━━┯━━━━━━━━━━━━━━━━━━
+ # │ name │ type │ readonly │ size │ accessed │ modified │ is_on_a_computer
+───┼────────────────────────────┼──────┼──────────┼────────┼───────────┼───────────┼──────────────────
+ 0 │ zeusiscrazy.txt │ File │ │ 556 B │ a day ago │ a day ago │ yes_obviously
+ 1 │ coww.txt │ File │ │ 24 B │ a day ago │ a day ago │ yes_obviously
+ 2 │ randomweirdstuff.txt │ File │ │ 197 B │ a day ago │ a day ago │ yes_obviously
+ 3 │ abaracadabra.txt │ File │ │ 401 B │ a day ago │ a day ago │ yes_obviously
+ 4 │ youshouldeatmorecereal.txt │ File │ │ 768 B │ a day ago │ a day ago │ yes_obviously
+━━━┷━━━━━━━━━━━━━━━━━━━━━━━━━━━━┷━━━━━━┷━━━━━━━━━━┷━━━━━━━━┷━━━━━━━━━━━┷━━━━━━━━━━━┷━━━━━━━━━━━━━━━━━━
+```
+
+```shell
+> shells | add os linux_on_this_machine
+━━━┯━━━┯━━━━━━━━━━━━┯━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┯━━━━━━━━━━━━━━━━━━━━━━━
+ # │ │ name │ path │ os
+───┼───┼────────────┼────────────────────────────────┼───────────────────────
+ 0 │ X │ filesystem │ /home/shaurya/stuff/expr/stuff │ linux_on_this_machine
+ 1 │ │ filesystem │ / │ linux_on_this_machine
+━━━┷━━━┷━━━━━━━━━━━━┷━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┷━━━━━━━━━━━━━━━━━━━━━━━
+```
diff --git a/commands/append.md b/commands/append.md
new file mode 100644
index 0000000000000..8bb2cabee3e40
--- /dev/null
+++ b/commands/append.md
@@ -0,0 +1,53 @@
+# append
+This command allows you to append the given row to the table.
+
+**Note**:
+- `append` does not change a file itself. If you want to save your changes, you need to run the `save` command
+- if you want to add something containing a whitespace character, you need to put it in quotation marks
+
+## Examples
+
+Let's add more cities to this table:
+
+```shell
+> open cities.txt | lines
+━━━┯━━━━━━━━━━━━
+ # │
+───┼────────────
+ 0 │ Canberra
+ 1 │ London
+ 2 │ Nairobi
+ 3 │ Washington
+━━━┷━━━━━━━━━━━━
+```
+
+You can add a new row by using `append`:
+
+```shell
+> open cities.txt | lines | append Beijing
+━━━┯━━━━━━━━━━━━
+ # │
+───┼────────────
+ 0 │ Canberra
+ 1 │ London
+ 2 │ Nairobi
+ 3 │ Washington
+ 4 │ Beijing
+━━━┷━━━━━━━━━━━━
+```
+
+It's not possible to add multiple rows at once, so you'll need to call `append` multiple times:
+
+```shell
+> open cities.txt | lines | append Beijing | append "Buenos Aires"
+━━━┯━━━━━━━━━━━━━━
+ # │
+───┼──────────────
+ 0 │ Canberra
+ 1 │ London
+ 2 │ Nairobi
+ 3 │ Washington
+ 4 │ Beijing
+ 5 │ Buenos Aires
+━━━┷━━━━━━━━━━━━━━
+```
diff --git a/commands/average.md b/commands/average.md
new file mode 100644
index 0000000000000..d4095e518fa76
--- /dev/null
+++ b/commands/average.md
@@ -0,0 +1,45 @@
+# average
+This command allows you to calculate the average of values in a column.
+
+## Examples
+To get the average of the file sizes in a directory, simply pipe the size column from the ls command to the average command.
+
+```shell
+> ls | get size | average
+━━━━━━━━━
+
+━━━━━━━━━
+2282.727272727273
+━━━━━━━━━
+```
+
+```shell
+> pwd | split-row / | size | get chars | average
+━━━━━━━━━
+
+━━━━━━━━━
+5.250000000000000
+━━━━━━━━━
+```
+
+Note that average only works for integer and byte values. If the shell doesn't recognize the values in a column as one of those types, it will return an error.
+One way to solve this is to convert each row to an integer when possible and then pipe the result to `average`
+
+```shell
+> open tests/fixtures/formats/caco3_plastics.csv | get tariff_item | average
+error: Unrecognized type in stream: Primitive(String("2509000000"))
+- shell:1:0
+1 | open tests/fixtures/formats/caco3_plastics.csv | get tariff_item | average
+ | ^^^^ source
+```
+
+```shell
+> open tests/fixtures/formats/caco3_plastics.csv | get tariff_item | str --to-int | average
+━━━━━━━━━━━━━━━━━━━
+
+───────────────────
+ 3239404444.000000
+━━━━━━━━━━━━━━━━━━━
+```
+
+
diff --git a/commands/cd.md b/commands/cd.md
new file mode 100644
index 0000000000000..2e5d933f47b33
--- /dev/null
+++ b/commands/cd.md
@@ -0,0 +1,33 @@
+# cd
+
+If you didn't already know, the `cd` command is very simple. It stands for 'change directory' and it does exactly that. It changes the current directory to the one specified. If no directory is specified, it takes you to the home directory. Additionally, using `cd ..` takes you to the parent directory.
+
+## Examples
+
+```shell
+/home/username> cd Desktop
+/home/username/Desktop> now your current directory has been changed
+```
+
+```shell
+/home/username/Desktop/nested/folders> cd ..
+/home/username/Desktop/nested> cd ..
+/home/username/Desktop> cd ../Documents/school_related
+/home/username/Documents/school_related> cd ../../..
+/home/>
+```
+
+```shell
+/home/username/Desktop/super/duper/crazy/nested/folders> cd
+/home/username> cd ../../usr
+/usr> cd
+/home/username>
+```
+
+Using `cd -` will take you to the previous directory:
+
+```shell
+/home/username/Desktop/super/duper/crazy/nested/folders> cd
+/home/username> cd -
+/home/username/Desktop/super/duper/crazy/nested/folders> cd
+```
diff --git a/commands/count.md b/commands/count.md
new file mode 100644
index 0000000000000..e330dcc1873d1
--- /dev/null
+++ b/commands/count.md
@@ -0,0 +1,48 @@
+# count
+
+This command counts the number of rows in a table.
+
+## Examples -
+
+```shell
+> ls
+━━━━┯━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┯━━━━━━━━━━━┯━━━━━━━━━━┯━━━━━━━━━┯━━━━━━━━━━━━━━┯━━━━━━━━━━━━━━┯━━━━━━━━━━━━━━
+ # │ name │ type │ readonly │ size │ created │ accessed │ modified
+────┼──────────────────────────────┼───────────┼──────────┼─────────┼──────────────┼──────────────┼──────────────
+ 0 │ Desktop │ Directory │ │ 4.1 KB │ 2 months ago │ 2 months ago │ 2 months ago
+ 1 │ aur │ Directory │ │ 4.1 KB │ 4 hours ago │ 4 hours ago │ 4 hours ago
+...
+ 75 │ .emulator_console_auth_token │ File │ │ 16 B │ 2 months ago │ 2 months ago │ 2 months ago
+ 76 │ bin │ Directory │ │ 4.1 KB │ 2 months ago │ 2 months ago │ 2 months ago
+━━━━┷━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┷━━━━━━━━━━━┷━━━━━━━━━━┷━━━━━━━━━┷━━━━━━━━━━━━━━┷━━━━━━━━━━━━━━┷━━━━━━━━━━━━━━━
+> ls | count
+━━━━━━━━━
+
+─────────
+ 77
+━━━━━━━━━
+> ls | get name | count
+━━━━━━━━━
+
+─────────
+ 77
+━━━━━━━━━
+> ls | where type == File | count
+━━━━━━━━━
+
+─────────
+ 29
+━━━━━━━━━
+> ls | where type == Directory | count
+━━━━━━━━━
+
+─────────
+ 48
+━━━━━━━━━
+> ls | where size > 2KB | count
+━━━━━━━━━
+
+─────────
+ 57
+━━━━━━━━━
+```
diff --git a/commands/date.md b/commands/date.md
new file mode 100644
index 0000000000000..4263fd7e3790e
--- /dev/null
+++ b/commands/date.md
@@ -0,0 +1,34 @@
+# date
+
+Use `date` to get the current date and time. Defaults to local timezone but you can get it in UTC too.
+
+## Flags
+
+ --utc
+ Returns the current date and time in UTC
+
+ --local
+ Returns the current date and time in your local timezone
+
+## Examples
+
+```shell
+> date
+━━━━━━┯━━━━━━━┯━━━━━┯━━━━━━┯━━━━━━━━┯━━━━━━━━┯━━━━━━━━━━
+ year │ month │ day │ hour │ minute │ second │ timezone
+──────┼───────┼─────┼──────┼────────┼────────┼──────────
+ 2019 │ 9 │ 30 │ 21 │ 52 │ 30 │ -03:00
+━━━━━━┷━━━━━━━┷━━━━━┷━━━━━━┷━━━━━━━━┷━━━━━━━━┷━━━━━━━━━━
+> date --utc
+━━━━━━┯━━━━━━━┯━━━━━┯━━━━━━┯━━━━━━━━┯━━━━━━━━┯━━━━━━━━━━
+ year │ month │ day │ hour │ minute │ second │ timezone
+──────┼───────┼─────┼──────┼────────┼────────┼──────────
+ 2019 │ 10 │ 1 │ 0 │ 52 │ 32 │ UTC
+━━━━━━┷━━━━━━━┷━━━━━┷━━━━━━┷━━━━━━━━┷━━━━━━━━┷━━━━━━━━━━
+> date --local
+━━━━━━┯━━━━━━━┯━━━━━┯━━━━━━┯━━━━━━━━┯━━━━━━━━┯━━━━━━━━━━
+ year │ month │ day │ hour │ minute │ second │ timezone
+──────┼───────┼─────┼──────┼────────┼────────┼──────────
+ 2019 │ 9 │ 30 │ 21 │ 52 │ 34 │ -03:00
+━━━━━━┷━━━━━━━┷━━━━━┷━━━━━━┷━━━━━━━━┷━━━━━━━━┷━━━━━━━━━━
+```
diff --git a/commands/echo.md b/commands/echo.md
new file mode 100644
index 0000000000000..d6ca3774c0b3b
--- /dev/null
+++ b/commands/echo.md
@@ -0,0 +1,12 @@
+# echo
+
+Use `echo` to repeat arguments back to the user
+
+## Examples
+
+```shell
+> echo Hello world
+Hello world
+> echo "Hello, world!"
+Hello, world!
+```
\ No newline at end of file
diff --git a/commands/edit.md b/commands/edit.md
new file mode 100644
index 0000000000000..5cfeeb55fe0a3
--- /dev/null
+++ b/commands/edit.md
@@ -0,0 +1,45 @@
+# edit
+
+Edits an existing column on a table. First parameter is the column to edit and the second parameter is the value to put.
+
+## Examples
+
+```shell
+> ls
+━━━┯━━━━━━━━━━━━━━━━━━━━━━━━━━━━┯━━━━━━┯━━━━━━━━━━┯━━━━━━━━┯━━━━━━━━━━━┯━━━━━━━━━━━
+ # │ name │ type │ readonly │ size │ accessed │ modified
+───┼────────────────────────────┼──────┼──────────┼────────┼───────────┼───────────
+ 0 │ zeusiscrazy.txt │ File │ │ 556 B │ a day ago │ a day ago
+ 1 │ coww.txt │ File │ │ 24 B │ a day ago │ a day ago
+ 2 │ randomweirdstuff.txt │ File │ │ 197 B │ a day ago │ a day ago
+ 3 │ abaracadabra.txt │ File │ │ 401 B │ a day ago │ a day ago
+ 4 │ youshouldeatmorecereal.txt │ File │ │ 768 B │ a day ago │ a day ago
+━━━┷━━━━━━━━━━━━━━━━━━━━━━━━━━━━┷━━━━━━┷━━━━━━━━━━┷━━━━━━━━┷━━━━━━━━━━━┷━━━━━━━━━━━
+> ls | edit modified neverrrr
+━━━┯━━━━━━━━━━━━━━━━━━━━━━━━━━━━┯━━━━━━┯━━━━━━━━━━┯━━━━━━━━┯━━━━━━━━━━━┯━━━━━━━━━━
+ # │ name │ type │ readonly │ size │ accessed │ modified
+───┼────────────────────────────┼──────┼──────────┼────────┼───────────┼──────────
+ 0 │ zeusiscrazy.txt │ File │ │ 556 B │ a day ago │ neverrrr
+ 1 │ coww.txt │ File │ │ 24 B │ a day ago │ neverrrr
+ 2 │ randomweirdstuff.txt │ File │ │ 197 B │ a day ago │ neverrrr
+ 3 │ abaracadabra.txt │ File │ │ 401 B │ a day ago │ neverrrr
+ 4 │ youshouldeatmorecereal.txt │ File │ │ 768 B │ a day ago │ neverrrr
+━━━┷━━━━━━━━━━━━━━━━━━━━━━━━━━━━┷━━━━━━┷━━━━━━━━━━┷━━━━━━━━┷━━━━━━━━━━━┷━━━━━━━━━━
+```
+
+```shell
+> shells
+━━━┯━━━┯━━━━━━━━━━━━┯━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+ # │ │ name │ path
+───┼───┼────────────┼────────────────────────────────
+ 0 │ X │ filesystem │ /home/username/stuff/expr/stuff
+ 1 │ │ filesystem │ /
+━━━┷━━━┷━━━━━━━━━━━━┷━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+> shells | edit " " X | edit path /
+━━━┯━━━┯━━━━━━━━━━━━┯━━━━━━
+ # │ │ name │ path
+───┼───┼────────────┼──────
+ 0 │ X │ filesystem │ /
+ 1 │ X │ filesystem │ /
+━━━┷━━━┷━━━━━━━━━━━━┷━━━━━━
+```
diff --git a/commands/enter.md b/commands/enter.md
new file mode 100644
index 0000000000000..426fe0ec4b91e
--- /dev/null
+++ b/commands/enter.md
@@ -0,0 +1,39 @@
+# enter
+
+This command creates a new shell and begin at this path.
+
+## Examples
+
+```shell
+/home/foobar> cat user.json
+{
+ "Name": "Peter",
+ "Age": 30,
+ "Telephone": 88204828,
+ "Country": "Singapore"
+}
+/home/foobar> enter user.json
+/> ls
+━━━━━━━┯━━━━━┯━━━━━━━━━━━┯━━━━━━━━━━━
+ Name │ Age │ Telephone │ Country
+───────┼─────┼───────────┼───────────
+ Peter │ 30 │ 88204828 │ Singapore
+━━━━━━━┷━━━━━┷━━━━━━━━━━━┷━━━━━━━━━━━
+/> exit
+/home/foobar>
+```
+
+It also provides the ability to work with multiple directories at the same time. This command will allow you to create a new "shell" and enter it at the specified path. You can toggle between this new shell and the original shell with the `p` (for previous) and `n` (for next), allowing you to navigate around a ring buffer of shells. Once you're done with a shell, you can `exit` it and remove it from the ring buffer.
+
+```shell
+/> enter /tmp
+/tmp> enter /usr
+/usr> enter /bin
+/bin> enter /opt
+/opt> p
+/bin> p
+/usr> p
+/tmp> p
+/> n
+/tmp>
+```
diff --git a/commands/env.md b/commands/env.md
new file mode 100644
index 0000000000000..5dd08fac512b3
--- /dev/null
+++ b/commands/env.md
@@ -0,0 +1,27 @@
+# env
+
+The `env` command prints to terminal the environment of nushell
+
+This includes
+- cwd : the path to the current working the directory (`cwd`),
+- home : the path to the home directory
+- config : the path to the config file for nushell
+- history : the path to the nushell command history
+- temp : the path to the temp file
+- vars : descriptor variable for the table
+
+`env` does not take any arguments, and ignores any arguments given.
+
+
+## Examples -
+
+
+```shell
+/home/username/mynushell/docs/commands(master)> env
+━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┯━━━━━━━━━━━━━━━━┯━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┯━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┯━━━━━━┯━━━━━━━━━━━━━━━━
+ cwd │ home │ config │ history │ temp │ vars
+────────────────────────────────────────┼────────────────┼───────────────────────────────────────┼────────────────────────────────────────────┼──────┼────────────────
+ /home/username/mynushell/docs/commands │ /home/username │ /home/username/.config/nu/config.toml │ /home/username/.local/share/nu/history.txt │ /tmp │ [table: 1 row]
+━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┷━━━━━━━━━━━━━━━━┷━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┷━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┷━━━━━━┷━━━━━━━━━━━━━━━━
+```
+
diff --git a/commands/exit.md b/commands/exit.md
new file mode 100644
index 0000000000000..0238204f28b41
--- /dev/null
+++ b/commands/exit.md
@@ -0,0 +1,30 @@
+# exit
+
+Exits the nu shell. If you have multiple nu shells, use `exit --now` to exit all of them.
+
+## Examples
+
+```shell
+> exit
+```
+
+```
+/home/username/stuff/books> shells
+---+---+------------+----------------------------
+ # | | name | path
+---+---+------------+----------------------------
+ 0 | | filesystem | /home/username/stuff/notes
+ 1 | | filesystem | /home/username/stuff/videos
+ 2 | X | filesystem | /home/username/stuff/books
+---+---+------------+----------------------------
+/home/username/stuff/books> exit
+/home/username/stuff/videos> shells
+---+---+------------+----------------------------
+ # | | name | path
+---+---+------------+----------------------------
+ 0 | | filesystem | /home/username/stuff/notes
+ 1 | X | filesystem | /home/username/stuff/videos
+---+---+------------+----------------------------
+/home/username/stuff/videos> exit --now
+exits both the shells
+```
diff --git a/commands/fetch.md b/commands/fetch.md
new file mode 100644
index 0000000000000..8d81e960441c5
--- /dev/null
+++ b/commands/fetch.md
@@ -0,0 +1,32 @@
+# fetch
+
+This command loads from a URL into a cell, convert it to table if possible (avoid by appending `--raw` flag)
+
+## Examples
+
+```shell
+> fetch http://headers.jsontest.com
+━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┯━━━━━━━━┯━━━━━━━━━━━━━━━━━━━━━━┯━━━━━━━━━━━━━━━━┯━━━━━━━━━━━━━━━━━━━━━━━━━
+ X-Cloud-Trace-Context │ Accept │ Host │ Content-Length │ user-agent
+───────────────────────────────────────────────────────┼────────┼──────────────────────┼────────────────┼─────────────────────────
+ aeee1a8abf08820f6fe19d114dc3bb87/16772233176633589121 │ */* │ headers.jsontest.com │ 0 │ curl/7.54.0 isahc/0.7.1
+━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┷━━━━━━━━┷━━━━━━━━━━━━━━━━━━━━━━┷━━━━━━━━━━━━━━━━┷━━━━━━━━━━━━━━━━━━━━━━━━━
+> fetch http://headers.jsontest.com --raw
+{
+ "X-Cloud-Trace-Context": "aeee1a8abf08820f6fe19d114dc3bb87/16772233176633589121",
+ "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3",
+ "Upgrade-Insecure-Requests": "1",
+ "User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36",
+ "Host": "headers.jsontest.com",
+ "Accept-Language": "en-GB,en-US;q=0.9,en;q=0.8"
+}
+```
+
+```shell
+> fetch https://www.jonathanturner.org/feed.xml
+━━━━━━━━━━━━━━━━
+ rss
+────────────────
+ [table: 1 row]
+━━━━━━━━━━━━━━━━
+```
\ No newline at end of file
diff --git a/commands/first.md b/commands/first.md
new file mode 100644
index 0000000000000..d295c8fd53c39
--- /dev/null
+++ b/commands/first.md
@@ -0,0 +1,28 @@
+# first
+
+Use `first` to retrieve the first "n" rows of a table. `first` has a required amount parameter that indicates how many rows you would like returned. If more than one row is returned, an index column will be included showing the row number.
+
+## Examples
+
+```shell
+> ps | first 1
+━━━━━━━┯━━━━━━━━━━━━━━┯━━━━━━━━━┯━━━━━━━━━━━━━━━━━━━
+ pid │ name │ status │ cpu
+───────┼──────────────┼─────────┼───────────────────
+ 60358 │ nu_plugin_ps │ Running │ 5.399802999999999
+━━━━━━━┷━━━━━━━━━━━━━━┷━━━━━━━━━┷━━━━━━━━━━━━━━━━━━━
+```
+
+```shell
+> ps | first 5
+━━━┯━━━━━━━┯━━━━━━━━━━━━━━┯━━━━━━━━━┯━━━━━━━━━━━━━━━━━━━
+ # │ pid │ name │ status │ cpu
+───┼───────┼──────────────┼─────────┼───────────────────
+ 0 │ 60754 │ nu_plugin_ps │ Running │ 4.024156000000000
+ 1 │ 60107 │ quicklookd │ Running │ 0.000000000000000
+ 2 │ 59356 │ nu │ Running │ 0.000000000000000
+ 3 │ 59216 │ zsh │ Running │ 0.000000000000000
+ 4 │ 59162 │ vim │ Running │ 0.000000000000000
+━━━┷━━━━━━━┷━━━━━━━━━━━━━━┷━━━━━━━━━┷━━━━━━━━━━━━━━━━━━━
+```
+
diff --git a/commands/from-csv.md b/commands/from-csv.md
new file mode 100644
index 0000000000000..b72818eefc132
--- /dev/null
+++ b/commands/from-csv.md
@@ -0,0 +1,112 @@
+# from-csv
+
+Converts csv data into table. Use this when nushell cannot dertermine the input file extension.
+
+## Example
+
+Let's say we have the following file :
+
+```shell
+> cat pets.txt
+animal, name, age
+cat, Tom, 7
+dog, Alfred, 10
+chameleon, Linda, 1
+```
+
+`pets.txt` is actually a .csv file but it has the .txt extension, `open` is not able to convert it into a table :
+
+```shell
+> open pets.txt
+animal, name, age
+cat, Tom, 7
+dog, Alfred, 10
+chameleon, Linda, 1
+```
+
+To get a table from `pets.txt` we need to use the `from-csv` command :
+
+```shell
+> open pets.txt | from-csv
+━━━┯━━━━━━━━━━━┯━━━━━━━━━┯━━━━━━
+ # │ animal │ name │ age
+───┼───────────┼─────────┼──────
+ 0 │ cat │ Tom │ 7
+ 1 │ dog │ Alfred │ 10
+ 2 │ chameleon │ Linda │ 1
+━━━┷━━━━━━━━━━━┷━━━━━━━━━┷━━━━━━
+```
+
+To ignore the csv headers use `--headerless` :
+
+```shell
+━━━┯━━━━━━━━━━━┯━━━━━━━━━┯━━━━━━━━━
+ # │ Column1 │ Column2 │ Column3
+───┼───────────┼─────────┼─────────
+ 0 │ dog │ Alfred │ 10
+ 1 │ chameleon │ Linda │ 1
+━━━┷━━━━━━━━━━━┷━━━━━━━━━┷━━━━━━━━━
+```
+
+To split on a character other than ',' use `--separator` :
+
+```shell
+> open pets.txt
+animal; name; age
+cat; Tom; 7
+dog; Alfred; 10
+chameleon; Linda; 1
+```
+
+```shell
+> open pets.txt | from-csv --separator ';'
+━━━┯━━━━━━━━━━━┯━━━━━━━━━┯━━━━━━
+ # │ animal │ name │ age
+───┼───────────┼─────────┼──────
+ 0 │ cat │ Tom │ 7
+ 1 │ dog │ Alfred │ 10
+ 2 │ chameleon │ Linda │ 1
+━━━┷━━━━━━━━━━━┷━━━━━━━━━┷━━━━━━
+```
+
+To use this command to open a csv with separators other than a comma, use the `--raw` switch of `open` to open the csv, othewise the csv will enter `from-csv` as a table split on commas rather than raw text.
+
+```shell
+> mv pets.txt pets.csv
+> open pets.csv | from-csv --separator ';'
+error: Expected a string from pipeline
+- shell:1:16
+1 | open pets.csv | from-csv --separator ';'
+ | ^^^^^^^^ requires string input
+- shell:1:0
+1 | open pets.csv | from-csv --separator ';'
+ | value originates from here
+
+> open pets.csv --raw | from-csv --separator ';'
+━━━┯━━━━━━━━━━━┯━━━━━━━━━┯━━━━━━
+ # │ animal │ name │ age
+───┼───────────┼─────────┼──────
+ 0 │ cat │ Tom │ 7
+ 1 │ dog │ Alfred │ 10
+ 2 │ chameleon │ Linda │ 1
+━━━┷━━━━━━━━━━━┷━━━━━━━━━┷━━━━━━
+```
+
+Note that separators are currently provided as strings and need to be wrapped in quotes.
+
+```shell
+> open pets.csv --raw | from-csv --separator ;
+- shell:1:43
+1 | open pets.csv --raw | from-csv --separator ;
+ | ^
+```
+
+It is also considered an error to use a separator greater than one char :
+
+```shell
+> open pets.txt | from-csv --separator '123'
+error: Expected a single separator char from --separator
+- shell:1:37
+1 | open pets.txt | from-csv --separator '123'
+ | ^^^^^ requires a single character string input
+```
diff --git a/commands/from-toml.md b/commands/from-toml.md
new file mode 100644
index 0000000000000..d3f3364c78b3a
--- /dev/null
+++ b/commands/from-toml.md
@@ -0,0 +1,23 @@
+# from-toml
+Converts toml data into table. Use this when nushell cannot dertermine the input file extension.
+
+## Example
+Let's say we have the following Rust .lock file :
+```shell
+> open Cargo.lock
+# This file is automatically @generated by Cargo.
+# It is not intended for manual editing. [[package]] name = "adler32" version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index"
+...
+```
+
+The "Cargo.lock" file is actually a .toml file, but the file extension isn't .toml. That's okay, we can use the `from-toml` command :
+
+
+```shell
+> open Cargo.lock | from-toml
+━━━━━━━━━━━━━━━━┯━━━━━━━━━━━━━━━━━━━
+ metadata │ package
+────────────────┼───────────────────
+ [table: 1 row] │ [table: 154 rows]
+━━━━━━━━━━━━━━━━┷━━━━━━━━━━━━━━━━━━━
+```
\ No newline at end of file
diff --git a/commands/group-by.md b/commands/group-by.md
new file mode 100644
index 0000000000000..96288000314ec
--- /dev/null
+++ b/commands/group-by.md
@@ -0,0 +1,72 @@
+# group-by
+
+This command creates a new table with the data from the table rows grouped by the column given.
+
+## Examples
+
+Let's say we have this table of all countries in the world sorted by their population:
+
+```shell
+> open countries_by_population.json | from-json | first 10
+━━━┯━━━━━━┯━━━━━━━━━━━━━━━━━┯━━━━━━━━━━━━━━━━━━━━━━━┯━━━━━━━━━━━━━━━━━━━━━━━┯━━━━━━━━━━━━━━━━━┯━━━━━━━━━━━━━━━━━┯━━━━━━━━
+ # │ rank │ country or area │ UN continental region │ UN statistical region │ population 2018 │ population 2019 │ change
+───┼──────┼─────────────────┼───────────────────────┼───────────────────────┼─────────────────┼─────────────────┼────────
+ 0 │ 1 │ China │ Asia │ Eastern Asia │ 1,427,647,786 │ 1,433,783,686 │ +0.4%
+ 1 │ 2 │ India │ Asia │ Southern Asia │ 1,352,642,280 │ 1,366,417,754 │ +1.0%
+ 2 │ 3 │ United States │ Americas │ Northern America │ 327,096,265 │ 329,064,917 │ +0.6%
+ 3 │ 4 │ Indonesia │ Asia │ South-eastern Asia │ 267,670,543 │ 270,625,568 │ +1.1%
+ 4 │ 5 │ Pakistan │ Asia │ Southern Asia │ 212,228,286 │ 216,565,318 │ +2.0%
+ 5 │ 6 │ Brazil │ Americas │ South America │ 209,469,323 │ 211,049,527 │ +0.8%
+ 6 │ 7 │ Nigeria │ Africa │ Western Africa │ 195,874,683 │ 200,963,599 │ +2.6%
+ 7 │ 8 │ Bangladesh │ Asia │ Southern Asia │ 161,376,708 │ 163,046,161 │ +1.0%
+ 8 │ 9 │ Russia │ Europe │ Eastern Europe │ 145,734,038 │ 145,872,256 │ +0.1%
+ 9 │ 10 │ Mexico │ Americas │ Central America │ 126,190,788 │ 127,575,529 │ +1.1%
+━━━┷━━━━━━┷━━━━━━━━━━━━━━━━━┷━━━━━━━━━━━━━━━━━━━━━━━┷━━━━━━━━━━━━━━━━━━━━━━━┷━━━━━━━━━━━━━━━━━┷━━━━━━━━━━━━━━━━━┷━━━━━━━━
+```
+
+Here we have listed only the first 10 lines. In total this table has got 233 rows which is to big to get information easily out of it.
+
+We can use the `group-by` command on 'UN statistical region' to create a table per continental region.
+
+```shell
+> open countries_by_population.json | from-json | group-by "UN continental region"
+━━━━━━━━━━━━━━━━━━┯━━━━━━━━━━━━━━━━━━┯━━━━━━━━━━━━━━━━━━┯━━━━━━━━━━━━━━━━━━┯━━━━━━━━━━━━━━━━━━
+ Asia │ Americas │ Africa │ Europe │ Oceania
+──────────────────┼──────────────────┼──────────────────┼──────────────────┼──────────────────
+ [table: 51 rows] │ [table: 53 rows] │ [table: 58 rows] │ [table: 48 rows] │ [table: 23 rows]
+━━━━━━━━━━━━━━━━━━┷━━━━━━━━━━━━━━━━━━┷━━━━━━━━━━━━━━━━━━┷━━━━━━━━━━━━━━━━━━┷━━━━━━━━━━━━━━━━━━
+```
+
+Now we can already get some informations like "which continental regions are there" and "how many countries are in each region".
+If we want to see only the countries in the continental region of Oceania we can type:
+
+```shell
+> open countries_by_population.json | from-json | group-by "UN continental region" | get Oceania
+━━━━┯━━━━━━┯━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┯━━━━━━━━━━━━━━━━━━━━━━━┯━━━━━━━━━━━━━━━━━━━━━━━━━━━┯━━━━━━━━━━━━━━━━━┯━━━━━━━━━━━━━━━━━┯━━━━━━━━
+ # │ rank │ country or area │ UN continental region │ UN statistical region │ population 2018 │ population 2019 │ change
+────┼──────┼────────────────────────────────┼───────────────────────┼───────────────────────────┼─────────────────┼─────────────────┼────────
+ 0 │ 55 │ Australia │ Oceania │ Australia and New Zealand │ 24,898,152 │ 25,203,198 │ +1.2%
+ 1 │ 98 │ Papua New Guinea │ Oceania │ Melanesia │ 8,606,323 │ 8,776,109 │ +2.0%
+ 2 │ 125 │ New Zealand │ Oceania │ Australia and New Zealand │ 4,743,131 │ 4,783,063 │ +0.8%
+ 3 │ 161 │ Fiji │ Oceania │ Melanesia │ 883,483 │ 889,953 │ +0.7%
+ 4 │ 166 │ Solomon Islands │ Oceania │ Melanesia │ 652,857 │ 669,823 │ +2.6%
+ 5 │ 181 │ Vanuatu │ Oceania │ Melanesia │ 292,680 │ 299,882 │ +2.5%
+ 6 │ 183 │ New Caledonia │ Oceania │ Melanesia │ 279,993 │ 282,750 │ +1.0%
+ 7 │ 185 │ French Polynesia │ Oceania │ Polynesia │ 277,679 │ 279,287 │ +0.6%
+ 8 │ 188 │ Samoa │ Oceania │ Polynesia │ 196,129 │ 197,097 │ +0.5%
+ 9 │ 191 │ Guam │ Oceania │ Micronesia │ 165,768 │ 167,294 │ +0.9%
+ 10 │ 193 │ Kiribati │ Oceania │ Micronesia │ 115,847 │ 117,606 │ +1.5%
+ 11 │ 194 │ Federated States of Micronesia │ Oceania │ Micronesia │ 112,640 │ 113,815 │ +1.0%
+ 12 │ 196 │ Tonga │ Oceania │ Polynesia │ 110,589 │ 110,940 │ +0.3%
+ 13 │ 207 │ Marshall Islands │ Oceania │ Micronesia │ 58,413 │ 58,791 │ +0.6%
+ 14 │ 209 │ Northern Mariana Islands │ Oceania │ Micronesia │ 56,882 │ 56,188 │ −1.2%
+ 15 │ 210 │ American Samoa │ Oceania │ Polynesia │ 55,465 │ 55,312 │ −0.3%
+ 16 │ 221 │ Palau │ Oceania │ Micronesia │ 17,907 │ 18,008 │ +0.6%
+ 17 │ 222 │ Cook Islands │ Oceania │ Polynesia │ 17,518 │ 17,548 │ +0.2%
+ 18 │ 224 │ Tuvalu │ Oceania │ Polynesia │ 11,508 │ 11,646 │ +1.2%
+ 19 │ 225 │ Wallis and Futuna │ Oceania │ Polynesia │ 11,661 │ 11,432 │ −2.0%
+ 20 │ 226 │ Nauru │ Oceania │ Micronesia │ 10,670 │ 10,756 │ +0.8%
+ 21 │ 231 │ Niue │ Oceania │ Polynesia │ 1,620 │ 1,615 │ −0.3%
+ 22 │ 232 │ Tokelau │ Oceania │ Polynesia │ 1,319 │ 1,340 │ +1.6%
+━━━━┷━━━━━━┷━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┷━━━━━━━━━━━━━━━━━━━━━━━┷━━━━━━━━━━━━━━━━━━━━━━━━━━━┷━━━━━━━━━━━━━━━━━┷━━━━━━━━━━━━━━━━━┷━━━━━━━━
+```
diff --git a/commands/help.md b/commands/help.md
new file mode 100644
index 0000000000000..a232910c72451
--- /dev/null
+++ b/commands/help.md
@@ -0,0 +1,47 @@
+# help
+
+Use `help` for more information on a command.
+Use `help commands` to list all availble commands.
+Use `help ` to display help about a particular command.
+
+## Examples
+
+```shell
+> help
+Welcome to Nushell.
+
+Here are some tips to help you get started.
+ * help commands - list all available commands
+ * help - display help about a particular command
+
+You can also learn more at https://book.nushell.sh
+```
+
+```shell
+> help commands
+━━━━┯━━━━━━━━━━━━━━┯━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+ # │ name │ description
+────┼──────────────┼────────────────────────────────────────────────────────────────────────────────────────
+ 0 │ add │ Add a new field to the table.
+ 1 │ autoview │ View the contents of the pipeline as a table or list.
+ 2 │ cd │ Change to a new path.
+ 3 │ config │ Configuration management.
+ 4 │ cp │ Copy files.
+ 5 │ date │ Get the current datetime.
+...
+ 70 │ trim │ Trim leading and following whitespace from text data.
+ 71 │ version │ Display Nu version
+ 72 │ where │ Filter table to match the condition.
+ 73 │ which │ Finds a program file.
+━━━━┷━━━━━━━━━━━━━━┷━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+```
+
+```shell
+> help cd
+Change to a new path.
+
+Usage:
+ > cd (directory)
+```
+
+
diff --git a/commands/inc.md b/commands/inc.md
new file mode 100644
index 0000000000000..c6dcb8d806749
--- /dev/null
+++ b/commands/inc.md
@@ -0,0 +1,31 @@
+# inc
+
+This command increments the value of variable by one.
+
+## Examples
+
+```shell
+> open rustfmt.toml
+---------
+ edition
+---------
+ 2018
+---------
+> open rustfmt.toml | inc edition
+---------
+ edition
+---------
+ 2019
+---------
+```
+
+```shell
+> open Cargo.toml | get package.version
+0.1.3
+> open Cargo.toml | inc package.version --major | get package.version
+1.0.0
+> open Cargo.toml | inc package.version --minor | get package.version
+0.2.0
+> open Cargo.toml | inc package.version --patch | get package.version
+0.1.4
+```
\ No newline at end of file
diff --git a/commands/last.md b/commands/last.md
new file mode 100644
index 0000000000000..bc7a55f12bcc6
--- /dev/null
+++ b/commands/last.md
@@ -0,0 +1,29 @@
+# last
+
+Use `last` to retrieve the last "n" rows of a table. `last` has a required amount parameter that indicates how many rows you would like returned. If more than one row is returned, an index column will be included showing the row number. `last` does not alter the order of the rows of the table.
+
+## Examples
+
+```shell
+> ps | last 1
+━━━━━┯━━━━━━━━━━━━━┯━━━━━━━━━┯━━━━━━━━━━━━━━━━━━━
+ pid │ name │ status │ cpu
+─────┼─────────────┼─────────┼───────────────────
+ 121 │ loginwindow │ Running │ 0.000000000000000
+━━━━━┷━━━━━━━━━━━━━┷━━━━━━━━━┷━━━━━━━━━━━━━━━━━━━
+```
+
+```shell
+> ps | last 5
+━━━┯━━━━━┯━━━━━━━━━━━━━━━━┯━━━━━━━━━┯━━━━━━━━━━━━━━━━━━━
+ # │ pid │ name │ status │ cpu
+───┼─────┼────────────────┼─────────┼───────────────────
+ 0 │ 360 │ CommCenter │ Running │ 0.000000000000000
+ 1 │ 358 │ distnoted │ Running │ 0.000000000000000
+ 2 │ 356 │ UserEventAgent │ Running │ 0.000000000000000
+ 3 │ 354 │ cfprefsd │ Running │ 0.000000000000000
+ 4 │ 121 │ loginwindow │ Running │ 0.000000000000000
+━━━┷━━━━━┷━━━━━━━━━━━━━━━━┷━━━━━━━━━┷━━━━━━━━━━━━━━━━━━━
+```
+
+
diff --git a/commands/lines.md b/commands/lines.md
new file mode 100644
index 0000000000000..7153900e3a526
--- /dev/null
+++ b/commands/lines.md
@@ -0,0 +1,28 @@
+# lines
+This command takes a string from a pipeline as input, and returns a table where each line of the input string is a row in the table. Empty lines are ignored. This command is capable of feeding other commands, such as `nth`, with its output.
+
+## Usage
+```shell
+> [input-command] | lines
+```
+
+## Examples
+Basic usage:
+```shell
+> printf "Hello\nWorld!\nLove, nushell." | lines
+━━━┯━━━━━━━━━━━━━━━━
+ # │ value
+───┼────────────────
+ 0 │ Hello
+ 1 │ World!
+ 2 │ Love, nushell.
+━━━┷━━━━━━━━━━━━━━━━
+```
+
+One useful application is piping the contents of file into `lines`. This example extracts a certain line from a given file.
+```shell
+> cat lines.md | lines | nth 6
+## Examples
+```
+
+Similarly to this example, `lines` can be used to extract certain portions of or apply transformations to data returned by any program which returns a string.
diff --git a/commands/nth.md b/commands/nth.md
new file mode 100644
index 0000000000000..0c8ce57f0c432
--- /dev/null
+++ b/commands/nth.md
@@ -0,0 +1,31 @@
+# nth
+
+This command returns the nth row of a table, starting from 0.
+If the number given is less than 0 or more than the number of rows, nothing is returned.
+
+## Usage
+```shell
+> [input-command] | nth [row-number]
+```
+
+## Examples
+```shell
+> ls
+━━━┯━━━━━━━━━━━━┯━━━━━━━━━━━┯━━━━━━━━━━┯━━━━━━━━┯━━━━━━━━━━━━━━━┯━━━━━━━━━━━━━━━
+ # │ name │ type │ readonly │ size │ accessed │ modified
+───┼────────────┼───────────┼──────────┼────────┼───────────────┼───────────────
+ 0 │ Cargo.toml │ File │ │ 239 B │ 2 minutes ago │ 2 minutes ago
+ 1 │ .git │ Directory │ │ 4.1 KB │ 2 minutes ago │ 2 minutes ago
+ 2 │ .gitignore │ File │ │ 19 B │ 2 minutes ago │ 2 minutes ago
+ 3 │ src │ Directory │ │ 4.1 KB │ 2 minutes ago │ 2 minutes ago
+━━━┷━━━━━━━━━━━━┷━━━━━━━━━━━┷━━━━━━━━━━┷━━━━━━━━┷━━━━━━━━━━━━━━━┷━━━━━━━━━━━━━━━
+
+> ls | nth 0
+━━━━━━━━━━━━┯━━━━━━┯━━━━━━━━━━┯━━━━━━━━┯━━━━━━━━━━━━━━━┯━━━━━━━━━━━━━━━
+ name │ type │ readonly │ size │ accessed │ modified
+────────────┼──────┼──────────┼────────┼───────────────┼───────────────
+ Cargo.toml │ File │ │ 239 B │ 2 minutes ago │ 2 minutes ago
+━━━━━━━━━━━━┷━━━━━━┷━━━━━━━━━━┷━━━━━━━━┷━━━━━━━━━━━━━━━┷━━━━━━━━━━━━━━━
+
+> ls | nth 5
+```
\ No newline at end of file
diff --git a/commands/open.md b/commands/open.md
new file mode 100644
index 0000000000000..61b5d1748b3a8
--- /dev/null
+++ b/commands/open.md
@@ -0,0 +1,95 @@
+# open
+
+Loads a file into a cell, convert it to table if possible (avoid by appending `--raw` flag)
+
+## Example
+
+```shell
+> cat user.yaml
+- Name: Peter
+ Age: 30
+ Telephone: 88204828
+ Country: Singapore
+- Name: Michael
+ Age: 42
+ Telephone: 44002010
+ Country: Spain
+- Name: Will
+ Age: 50
+ Telephone: 99521080
+ Country: Germany
+> open user.yaml
+━━━┯━━━━━━━━━┯━━━━━┯━━━━━━━━━━━┯━━━━━━━━━━━
+ # │ Name │ Age │ Telephone │ Country
+───┼─────────┼─────┼───────────┼───────────
+ 0 │ Peter │ 30 │ 88204828 │ Singapore
+ 1 │ Michael │ 42 │ 44002010 │ Spain
+ 2 │ Will │ 50 │ 99521080 │ Germany
+━━━┷━━━━━━━━━┷━━━━━┷━━━━━━━━━━━┷━━━━━━━━━━━
+> open user.yaml --raw
+- Name: Peter
+ Age: 30
+ Telephone: 88204828
+ Country: Singapore
+- Name: Michael
+ Age: 42
+ Telephone: 44002010
+ Country: Spain
+- Name: Will
+ Age: 50
+ Telephone: 99521080
+ Country: Germany
+```
+
+```shell
+> cat user.json
+[
+ {
+ "Name": "Peter",
+ "Age": 30,
+ "Telephone": 88204828,
+ "Country": "Singapore"
+ },
+ {
+ "Name": "Michael",
+ "Age": 42,
+ "Telephone": 44002010,
+ "Country": "Spain"
+ },
+ {
+ "Name": "Will",
+ "Age": 50,
+ "Telephone": 99521080,
+ "Country": "Germany"
+ }
+]
+> open user.json
+━━━┯━━━━━━━━━┯━━━━━┯━━━━━━━━━━━┯━━━━━━━━━━━
+ # │ Name │ Age │ Telephone │ Country
+───┼─────────┼─────┼───────────┼───────────
+ 0 │ Peter │ 30 │ 88204828 │ Singapore
+ 1 │ Michael │ 42 │ 44002010 │ Spain
+ 2 │ Will │ 50 │ 99521080 │ Germany
+━━━┷━━━━━━━━━┷━━━━━┷━━━━━━━━━━━┷━━━━━━━━━━━
+> open user.json --raw
+[
+ {
+ "Name": "Peter",
+ "Age": 30,
+ "Telephone": 88204828,
+ "Country": "Singapore"
+ },
+ {
+ "Name": "Michael",
+ "Age": 42,
+ "Telephone": 44002010,
+ "Country": "Spain"
+ },
+ {
+ "Name": "Will",
+ "Age": 50,
+ "Telephone": 99521080,
+ "Country": "Germany"
+ }
+]
+```
\ No newline at end of file
diff --git a/commands/pick.md b/commands/pick.md
new file mode 100644
index 0000000000000..e0d0e4c079a70
--- /dev/null
+++ b/commands/pick.md
@@ -0,0 +1,53 @@
+# pick
+
+This command displays only the column names passed on to it.
+
+## Examples
+
+```shell
+> ls
+━━━┯━━━━━━━━━━━━━━━━━━━━━━━━━━━━┯━━━━━━┯━━━━━━━━━━┯━━━━━━━━┯━━━━━━━━━━━━━┯━━━━━━━━━━━━━┯━━━━━━━━━━━━━
+ # │ name │ type │ readonly │ size │ created │ accessed │ modified
+───┼────────────────────────────┼──────┼──────────┼────────┼─────────────┼─────────────┼─────────────
+ 0 │ zeusiscrazy.txt │ File │ │ 556 B │ a month ago │ a month ago │ a month ago
+ 1 │ coww.txt │ File │ │ 24 B │ a month ago │ a month ago │ a month ago
+ 2 │ randomweirdstuff.txt │ File │ │ 197 B │ a month ago │ a month ago │ a month ago
+ 3 │ abaracadabra.txt │ File │ │ 401 B │ a month ago │ a month ago │ a month ago
+ 4 │ youshouldeatmorecereal.txt │ File │ │ 768 B │ a month ago │ a month ago │ a month ago
+━━━┷━━━━━━━━━━━━━━━━━━━━━━━━━━━━┷━━━━━━┷━━━━━━━━━━┷━━━━━━━━┷━━━━━━━━━━━━━┷━━━━━━━━━━━━━┷━━━━━━━━━━━━━
+> ls | pick name
+━━━┯━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+ # │ name
+───┼────────────────────────────
+ 0 │ zeusiscrazy.txt
+ 1 │ coww.txt
+ 2 │ randomweirdstuff.txt
+ 3 │ abaracadabra.txt
+ 4 │ youshouldeatmorecereal.txt
+━━━┷━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+```
+
+The order in which you put the column names matters:
+
+```shell
+> ls | pick type name size
+━━━┯━━━━━━┯━━━━━━━━━━━━━━━━━━━━━━━━━━━━┯━━━━━━━━
+ # │ type │ name │ size
+───┼──────┼────────────────────────────┼────────
+ 0 │ File │ zeusiscrazy.txt │ 556 B
+ 1 │ File │ coww.txt │ 24 B
+ 2 │ File │ randomweirdstuff.txt │ 197 B
+ 3 │ File │ abaracadabra.txt │ 401 B
+ 4 │ File │ youshouldeatmorecereal.txt │ 768 B
+━━━┷━━━━━━┷━━━━━━━━━━━━━━━━━━━━━━━━━━━━┷━━━━━━━━
+> ls | pick size type name
+━━━┯━━━━━━━━┯━━━━━━┯━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+ # │ size │ type │ name
+───┼────────┼──────┼────────────────────────────
+ 0 │ 556 B │ File │ zeusiscrazy.txt
+ 1 │ 24 B │ File │ coww.txt
+ 2 │ 197 B │ File │ randomweirdstuff.txt
+ 3 │ 401 B │ File │ abaracadabra.txt
+ 4 │ 768 B │ File │ youshouldeatmorecereal.txt
+━━━┷━━━━━━━━┷━━━━━━┷━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+```
diff --git a/commands/pivot.md b/commands/pivot.md
new file mode 100644
index 0000000000000..632dae4e0d361
--- /dev/null
+++ b/commands/pivot.md
@@ -0,0 +1,75 @@
+# pivot
+
+Pivots the table contents so rows become columns and columns become rows.
+
+## Examples
+
+```sh
+> ls docs
+━━━┯━━━━━━━━━━━━━━━━━━━━┯━━━━━━━━━━━┯━━━━━━━━━━┯━━━━━━━━┯━━━━━━━━━━━━━┯━━━━━━━━━━━━━
+ # │ name │ type │ readonly │ size │ accessed │ modified
+───┼────────────────────┼───────────┼──────────┼────────┼─────────────┼─────────────
+ 0 │ docs/commands │ Directory │ │ 4.1 KB │ an hour ago │ an hour ago
+ 1 │ docs/docker.md │ File │ │ 7.0 KB │ an hour ago │ a day ago
+ 2 │ docs/philosophy.md │ File │ │ 896 B │ an hour ago │ a day ago
+━━━┷━━━━━━━━━━━━━━━━━━━━┷━━━━━━━━━━━┷━━━━━━━━━━┷━━━━━━━━┷━━━━━━━━━━━━━┷━━━━━━━━━━━━━
+
+> ls docs | pivot
+━━━┯━━━━━━━━━━┯━━━━━━━━━━━━━━━┯━━━━━━━━━━━━━━━━┯━━━━━━━━━━━━━━━━━━━━
+ # │ Column0 │ Column1 │ Column2 │ Column3
+───┼──────────┼───────────────┼────────────────┼────────────────────
+ 0 │ name │ docs/commands │ docs/docker.md │ docs/philosophy.md
+ 1 │ type │ Directory │ File │ File
+ 2 │ readonly │ │ │
+ 3 │ size │ 4.1 KB │ 7.0 KB │ 896 B
+ 4 │ accessed │ an hour ago │ an hour ago │ an hour ago
+ 5 │ modified │ an hour ago │ a day ago │ a day ago
+━━━┷━━━━━━━━━━┷━━━━━━━━━━━━━━━┷━━━━━━━━━━━━━━━━┷━━━━━━━━━━━━━━━━━━━━
+```
+
+Use `--header-row` to treat the first row as column names:
+
+```shell
+> ls docs | pivot --header-row
+━━━┯━━━━━━━━━━━━━━━┯━━━━━━━━━━━━━━━━┯━━━━━━━━━━━━━━━━━━━━
+ # │ docs/commands │ docs/docker.md │ docs/philosophy.md
+───┼───────────────┼────────────────┼────────────────────
+ 0 │ Directory │ File │ File
+ 1 │ │ │
+ 2 │ 4.1 KB │ 7.0 KB │ 896 B
+ 3 │ an hour ago │ an hour ago │ an hour ago
+ 4 │ an hour ago │ a day ago │ a day ago
+━━━┷━━━━━━━━━━━━━━━┷━━━━━━━━━━━━━━━━┷━━━━━━━━━━━━━━━━━━━━
+```
+
+Use `--ignore-titles` to prevent pivoting the column names into values:
+
+```shell
+> ls docs | pivot --ignore-titles
+━━━┯━━━━━━━━━━━━━━━┯━━━━━━━━━━━━━━━━┯━━━━━━━━━━━━━━━━━━━━
+ # │ Column0 │ Column1 │ Column2
+───┼───────────────┼────────────────┼────────────────────
+ 0 │ docs/commands │ docs/docker.md │ docs/philosophy.md
+ 1 │ Directory │ File │ File
+ 2 │ │ │
+ 3 │ 4.1 KB │ 7.0 KB │ 896 B
+ 4 │ an hour ago │ an hour ago │ an hour ago
+ 5 │ an hour ago │ a day ago │ a day ago
+━━━┷━━━━━━━━━━━━━━━┷━━━━━━━━━━━━━━━━┷━━━━━━━━━━━━━━━━━━━━
+```
+
+Additional arguments are used as column names:
+
+```shell
+> ls docs | pivot foo bar baz
+━━━┯━━━━━━━━━━┯━━━━━━━━━━━━━━━┯━━━━━━━━━━━━━━━━┯━━━━━━━━━━━━━━━━━━━━
+ # │ foo │ bar │ baz │ Column3
+───┼──────────┼───────────────┼────────────────┼────────────────────
+ 0 │ name │ docs/commands │ docs/docker.md │ docs/philosophy.md
+ 1 │ type │ Directory │ File │ File
+ 2 │ readonly │ │ │
+ 3 │ size │ 4.1 KB │ 7.0 KB │ 896 B
+ 4 │ accessed │ 2 hours ago │ 2 hours ago │ 2 hours ago
+ 5 │ modified │ 2 hours ago │ a day ago │ a day ago
+━━━┷━━━━━━━━━━┷━━━━━━━━━━━━━━━┷━━━━━━━━━━━━━━━━┷━━━━━━━━━━━━━━━━━━━━
+```
diff --git a/commands/prepend.md b/commands/prepend.md
new file mode 100644
index 0000000000000..86b924923733b
--- /dev/null
+++ b/commands/prepend.md
@@ -0,0 +1,56 @@
+# prepend
+This command prepends the given row to the front of the table
+
+**Note**:
+- `prepend` does not change a file itself. If you want to save your changes, you need to run the `save` command
+- if you want to add something containing a whitespace character, you need to put it in quotation marks
+
+## Examples
+
+Let's complete this table with the missing continents:
+
+```shell
+> open continents.txt | lines
+━━━┯━━━━━━━━━━━━━━━
+ # │
+───┼───────────────
+ 0 │ Africa
+ 1 │ South America
+ 2 │ Australia
+ 3 │ Europe
+ 4 │ Antarctica
+━━━┷━━━━━━━━━━━━━━━
+```
+
+You can add a new row at the top by using `prepend`:
+
+```shell
+> open continents.txt | lines | prepend Asia
+━━━┯━━━━━━━━━━━━━━━
+ # │
+───┼───────────────
+ 0 │ Asia
+ 1 │ Africa
+ 2 │ South America
+ 3 │ Australia
+ 4 │ Europe
+ 5 │ Antarctica
+━━━┷━━━━━━━━━━━━━━━
+```
+
+It's not possible to add multiple rows at once, so you'll need to call `prepend` multiple times:
+
+```shell
+> open continents.txt | lines | prepend Asia | prepend "North America"
+━━━┯━━━━━━━━━━━━━━━
+ # │
+───┼───────────────
+ 0 │ North America
+ 1 │ Asia
+ 2 │ Africa
+ 3 │ South America
+ 4 │ Australia
+ 5 │ Europe
+ 6 │ Antarctica
+━━━┷━━━━━━━━━━━━━━━
+```
diff --git a/commands/reject.md b/commands/reject.md
new file mode 100644
index 0000000000000..0d474ee863b34
--- /dev/null
+++ b/commands/reject.md
@@ -0,0 +1,38 @@
+# reject
+
+This column removes or rejects the columns passed to it.
+
+## Examples
+
+```shell
+> ls
+━━━┯━━━━━━━━━━━━━━━━━━━━━━━━━━━━┯━━━━━━┯━━━━━━━━━━┯━━━━━━━━┯━━━━━━━━━━━━━┯━━━━━━━━━━━━━┯━━━━━━━━━━━━━
+ # │ name │ type │ readonly │ size │ created │ accessed │ modified
+───┼────────────────────────────┼──────┼──────────┼────────┼─────────────┼─────────────┼─────────────
+ 0 │ zeusiscrazy.txt │ File │ │ 556 B │ a month ago │ a month ago │ a month ago
+ 1 │ coww.txt │ File │ │ 24 B │ a month ago │ a month ago │ a month ago
+ 2 │ randomweirdstuff.txt │ File │ │ 197 B │ a month ago │ a month ago │ a month ago
+ 3 │ abaracadabra.txt │ File │ │ 401 B │ a month ago │ a month ago │ a month ago
+ 4 │ youshouldeatmorecereal.txt │ File │ │ 768 B │ a month ago │ a month ago │ a month ago
+━━━┷━━━━━━━━━━━━━━━━━━━━━━━━━━━━┷━━━━━━┷━━━━━━━━━━┷━━━━━━━━┷━━━━━━━━━━━━━┷━━━━━━━━━━━━━┷━━━━━━━━━━━━━
+> ls | reject readonly
+━━━┯━━━━━━━━━━━━━━━━━━━━━━━━━━━━┯━━━━━━┯━━━━━━━━┯━━━━━━━━━━━━━┯━━━━━━━━━━━━━┯━━━━━━━━━━━━━
+ # │ name │ type │ size │ created │ accessed │ modified
+───┼────────────────────────────┼──────┼────────┼─────────────┼─────────────┼─────────────
+ 0 │ zeusiscrazy.txt │ File │ 556 B │ a month ago │ a month ago │ a month ago
+ 1 │ coww.txt │ File │ 24 B │ a month ago │ a month ago │ a month ago
+ 2 │ randomweirdstuff.txt │ File │ 197 B │ a month ago │ a month ago │ a month ago
+ 3 │ abaracadabra.txt │ File │ 401 B │ a month ago │ a month ago │ a month ago
+ 4 │ youshouldeatmorecereal.txt │ File │ 768 B │ a month ago │ a month ago │ a month ago
+━━━┷━━━━━━━━━━━━━━━━━━━━━━━━━━━━┷━━━━━━┷━━━━━━━━┷━━━━━━━━━━━━━┷━━━━━━━━━━━━━┷━━━━━━━━━━━━━
+> ls | reject readonly accessed
+━━━┯━━━━━━━━━━━━━━━━━━━━━━━━━━━━┯━━━━━━┯━━━━━━━━┯━━━━━━━━━━━━━┯━━━━━━━━━━━━━
+ # │ name │ type │ size │ created │ modified
+───┼────────────────────────────┼──────┼────────┼─────────────┼─────────────
+ 0 │ zeusiscrazy.txt │ File │ 556 B │ a month ago │ a month ago
+ 1 │ coww.txt │ File │ 24 B │ a month ago │ a month ago
+ 2 │ randomweirdstuff.txt │ File │ 197 B │ a month ago │ a month ago
+ 3 │ abaracadabra.txt │ File │ 401 B │ a month ago │ a month ago
+ 4 │ youshouldeatmorecereal.txt │ File │ 768 B │ a month ago │ a month ago
+━━━┷━━━━━━━━━━━━━━━━━━━━━━━━━━━━┷━━━━━━┷━━━━━━━━┷━━━━━━━━━━━━━┷━━━━━━━━━━━━━
+```
diff --git a/commands/reverse.md b/commands/reverse.md
new file mode 100644
index 0000000000000..546f251568249
--- /dev/null
+++ b/commands/reverse.md
@@ -0,0 +1,51 @@
+# reverse
+
+This command reverses the order of the elements in a sorted table.
+
+## Examples
+
+```shell
+> ls | sort-by name
+━━━┯━━━━━━━━━━━━━━━━━━━━━━━━━━━━┯━━━━━━┯━━━━━━━━━━┯━━━━━━━━┯━━━━━━━━━━━━━━━━┯━━━━━━━━━━━━━━━━
+ # │ name │ type │ readonly │ size │ accessed │ modified
+───┼────────────────────────────┼──────┼──────────┼────────┼────────────────┼────────────────
+ 0 │ abaracadabra.txt │ File │ │ 401 B │ 23 minutes ago │ 16 minutes ago
+ 1 │ coww.txt │ File │ │ 24 B │ 22 minutes ago │ 17 minutes ago
+ 2 │ randomweirdstuff.txt │ File │ │ 197 B │ 21 minutes ago │ 18 minutes ago
+ 3 │ youshouldeatmorecereal.txt │ File │ │ 768 B │ 30 seconds ago │ now
+ 4 │ zeusiscrazy.txt │ File │ │ 556 B │ 22 minutes ago │ 18 minutes ago
+━━━┷━━━━━━━━━━━━━━━━━━━━━━━━━━━━┷━━━━━━┷━━━━━━━━━━┷━━━━━━━━┷━━━━━━━━━━━━━━━━┷━━━━━━━━━━━━━━━━
+> ls | sort-by name | reverse
+━━━┯━━━━━━━━━━━━━━━━━━━━━━━━━━━━┯━━━━━━┯━━━━━━━━━━┯━━━━━━━━┯━━━━━━━━━━━━━━━━┯━━━━━━━━━━━━━━━━
+ # │ name │ type │ readonly │ size │ accessed │ modified
+───┼────────────────────────────┼──────┼──────────┼────────┼────────────────┼────────────────
+ 0 │ zeusiscrazy.txt │ File │ │ 556 B │ 22 minutes ago │ 19 minutes ago
+ 1 │ youshouldeatmorecereal.txt │ File │ │ 768 B │ 39 seconds ago │ 18 seconds ago
+ 2 │ randomweirdstuff.txt │ File │ │ 197 B │ 21 minutes ago │ 18 minutes ago
+ 3 │ coww.txt │ File │ │ 24 B │ 22 minutes ago │ 18 minutes ago
+ 4 │ abaracadabra.txt │ File │ │ 401 B │ 23 minutes ago │ 16 minutes ago
+━━━┷━━━━━━━━━━━━━━━━━━━━━━━━━━━━┷━━━━━━┷━━━━━━━━━━┷━━━━━━━━┷━━━━━━━━━━━━━━━━┷━━━━━━━━━━━━━━━━
+```
+
+```shell
+> ls | sort-by size
+━━━┯━━━━━━━━━━━━━━━━━━━━━━━━━━━━┯━━━━━━┯━━━━━━━━━━┯━━━━━━━━┯━━━━━━━━━━━━━━━━┯━━━━━━━━━━━━━━━━
+ # │ name │ type │ readonly │ size │ accessed │ modified
+───┼────────────────────────────┼──────┼──────────┼────────┼────────────────┼────────────────
+ 0 │ coww.txt │ File │ │ 24 B │ 22 minutes ago │ 18 minutes ago
+ 1 │ randomweirdstuff.txt │ File │ │ 197 B │ 21 minutes ago │ 18 minutes ago
+ 2 │ abaracadabra.txt │ File │ │ 401 B │ 23 minutes ago │ 16 minutes ago
+ 3 │ zeusiscrazy.txt │ File │ │ 556 B │ 22 minutes ago │ 19 minutes ago
+ 4 │ youshouldeatmorecereal.txt │ File │ │ 768 B │ a minute ago │ 26 seconds ago
+━━━┷━━━━━━━━━━━━━━━━━━━━━━━━━━━━┷━━━━━━┷━━━━━━━━━━┷━━━━━━━━┷━━━━━━━━━━━━━━━━┷━━━━━━━━━━━━━━━━
+> ls | sort-by size | reverse
+━━━┯━━━━━━━━━━━━━━━━━━━━━━━━━━━━┯━━━━━━┯━━━━━━━━━━┯━━━━━━━━┯━━━━━━━━━━━━━━━━┯━━━━━━━━━━━━━━━━
+ # │ name │ type │ readonly │ size │ accessed │ modified
+───┼────────────────────────────┼──────┼──────────┼────────┼────────────────┼────────────────
+ 0 │ youshouldeatmorecereal.txt │ File │ │ 768 B │ a minute ago │ 32 seconds ago
+ 1 │ zeusiscrazy.txt │ File │ │ 556 B │ 22 minutes ago │ 19 minutes ago
+ 2 │ abaracadabra.txt │ File │ │ 401 B │ 23 minutes ago │ 16 minutes ago
+ 3 │ randomweirdstuff.txt │ File │ │ 197 B │ 21 minutes ago │ 18 minutes ago
+ 4 │ coww.txt │ File │ │ 24 B │ 22 minutes ago │ 18 minutes ago
+━━━┷━━━━━━━━━━━━━━━━━━━━━━━━━━━━┷━━━━━━┷━━━━━━━━━━┷━━━━━━━━┷━━━━━━━━━━━━━━━━┷━━━━━━━━━━━━━━━━
+```
diff --git a/commands/shells.md b/commands/shells.md
new file mode 100644
index 0000000000000..b9fde457b34d3
--- /dev/null
+++ b/commands/shells.md
@@ -0,0 +1,26 @@
+# shells
+
+Lists all the active nu shells with a number/index, a name and the path. Also marks the current nu shell.
+
+## Examples
+
+```
+> shells
+---+---+------------+---------------
+ # | | name | path
+---+---+------------+---------------
+ 0 | | filesystem | /usr
+ 1 | | filesystem | /home
+ 2 | X | filesystem | /home/username
+---+---+------------+---------------
+```
+
+```
+/> shells
+---+---+-------------------------------------------------+------------------------------------
+ # | | name | path
+---+---+-------------------------------------------------+------------------------------------
+ 0 | | filesystem | /Users/username/Code/nushell
+ 1 | X | {/Users/username/Code/nushell/Cargo.toml} | /
+---+---+-------------------------------------------------+------------------------------------
+```
diff --git a/commands/size.md b/commands/size.md
new file mode 100644
index 0000000000000..02599dcce9bbc
--- /dev/null
+++ b/commands/size.md
@@ -0,0 +1,20 @@
+# size
+
+This commands gives word count statistics on any text.
+
+## Examples -
+
+```shell
+> open lalala.txt | size
+━━━━━━━┯━━━━━━━┯━━━━━━━┯━━━━━━━━━━━━
+ lines │ words │ chars │ max length
+───────┼───────┼───────┼────────────
+ 4 │ 10 │ 72 │ 72
+━━━━━━━┷━━━━━━━┷━━━━━━━┷━━━━━━━━━━━━
+> open the_mysterious_affair_at_styles.txt | size
+━━━━━━━┯━━━━━━━┯━━━━━━━━┯━━━━━━━━━━━━
+ lines │ words │ chars │ max length
+───────┼───────┼────────┼────────────
+ 8935 │ 62352 │ 349459 │ 361771
+━━━━━━━┷━━━━━━━┷━━━━━━━━┷━━━━━━━━━━━━
+```
diff --git a/commands/sort-by.md b/commands/sort-by.md
new file mode 100644
index 0000000000000..1f0f3da9ed180
--- /dev/null
+++ b/commands/sort-by.md
@@ -0,0 +1,56 @@
+
+# env
+
+The `sort-by` command sorts the table being displayed in the terminal by a chosen column(s).
+
+`sort-by` takes multiple arguments (being the names of columns) sorting by each argument in order.
+
+
+## Examples -
+
+```shell
+/home/example> ls | sort-by size
+━━━┯━━━━━━┯━━━━━━┯━━━━━━━━━━┯━━━━━━━━┯━━━━━━━━━━━━━━━━┯━━━━━━━━━━━━━━━━
+ # │ name │ type │ readonly │ size │ accessed │ modified
+───┼──────┼──────┼──────────┼────────┼────────────────┼────────────────
+ 0 │ az │ File │ │ 18 B │ 4 minutes ago │ 4 minutes ago
+ 1 │ a │ File │ │ 18 B │ 4 minutes ago │ 38 minutes ago
+ 2 │ ad │ File │ │ 18 B │ 4 minutes ago │ 4 minutes ago
+ 3 │ ac │ File │ │ 18 B │ 4 minutes ago │ 4 minutes ago
+ 4 │ ab │ File │ │ 18 B │ 4 minutes ago │ 4 minutes ago
+ 5 │ c │ File │ │ 102 B │ 35 minutes ago │ 35 minutes ago
+ 6 │ d │ File │ │ 189 B │ 35 minutes ago │ 34 minutes ago
+ 7 │ b │ File │ │ 349 B │ 35 minutes ago │ 35 minutes ago
+━━━┷━━━━━━┷━━━━━━┷━━━━━━━━━━┷━━━━━━━━┷━━━━━━━━━━━━━━━━┷━━━━━━━━━━━━━━━━
+```
+
+```shell
+/home/example> ls | sort-by size name
+━━━┯━━━━━━┯━━━━━━┯━━━━━━━━━━┯━━━━━━━━┯━━━━━━━━━━━━━━━━┯━━━━━━━━━━━━━━━━
+ # │ name │ type │ readonly │ size │ accessed │ modified
+───┼──────┼──────┼──────────┼────────┼────────────────┼────────────────
+ 0 │ a │ File │ │ 18 B │ 4 minutes ago │ 39 minutes ago
+ 1 │ ab │ File │ │ 18 B │ 4 minutes ago │ 4 minutes ago
+ 2 │ ac │ File │ │ 18 B │ 4 minutes ago │ 4 minutes ago
+ 3 │ ad │ File │ │ 18 B │ 4 minutes ago │ 4 minutes ago
+ 4 │ az │ File │ │ 18 B │ 4 minutes ago │ 4 minutes ago
+ 5 │ c │ File │ │ 102 B │ 36 minutes ago │ 35 minutes ago
+ 6 │ d │ File │ │ 189 B │ 35 minutes ago │ 35 minutes ago
+ 7 │ b │ File │ │ 349 B │ 36 minutes ago │ 36 minutes ago
+```
+
+```
+/home/example> ls | sort-by accessed
+━━━┯━━━━━━┯━━━━━━┯━━━━━━━━━━┯━━━━━━━━┯━━━━━━━━━━━━━━━━┯━━━━━━━━━━━━━━━━
+ # │ name │ type │ readonly │ size │ accessed │ modified
+───┼──────┼──────┼──────────┼────────┼────────────────┼────────────────
+ 0 │ b │ File │ │ 349 B │ 37 minutes ago │ 37 minutes ago
+ 1 │ c │ File │ │ 102 B │ 37 minutes ago │ 37 minutes ago
+ 2 │ d │ File │ │ 189 B │ 37 minutes ago │ 36 minutes ago
+ 3 │ a │ File │ │ 18 B │ 6 minutes ago │ 40 minutes ago
+ 4 │ ab │ File │ │ 18 B │ 6 minutes ago │ 6 minutes ago
+ 5 │ ac │ File │ │ 18 B │ 6 minutes ago │ 6 minutes ago
+ 6 │ ad │ File │ │ 18 B │ 5 minutes ago │ 5 minutes ago
+ 7 │ az │ File │ │ 18 B │ 5 minutes ago │ 5 minutes ago
+━━━┷━━━━━━┷━━━━━━┷━━━━━━━━━━┷━━━━━━━━┷━━━━━━━━━━━━━━━━┷━━━━━━━━━━━━━━━━
+```
\ No newline at end of file
diff --git a/commands/str.md b/commands/str.md
new file mode 100644
index 0000000000000..d1ed3edb3d1b3
--- /dev/null
+++ b/commands/str.md
@@ -0,0 +1,50 @@
+# str
+
+Consumes either a single value or a table and converts the provided data to a string and optionally applies a change.
+
+## Examples
+
+```shell
+> shells
+━━━┯━━━┯━━━━━━━━━━━━┯━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+ # │ │ name │ path
+───┼───┼────────────┼────────────────────────────────
+ 0 │ X │ filesystem │ /home/TUX/stuff/expr/stuff
+ 1 │ │ filesystem │ /
+━━━┷━━━┷━━━━━━━━━━━━┷━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+> shells | str path --upcase
+━━━┯━━━┯━━━━━━━━━━━━┯━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+ # │ │ name │ path
+───┼───┼────────────┼────────────────────────────────
+ 0 │ X │ filesystem │ /HOME/TUX/STUFF/EXPR/STUFF
+ 1 │ │ filesystem │ /
+━━━┷━━━┷━━━━━━━━━━━━┷━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+> shells | str path --downcase
+━━━┯━━━┯━━━━━━━━━━━━┯━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+ # │ │ name │ path
+───┼───┼────────────┼────────────────────────────────
+ 0 │ X │ filesystem │ /home/tux/stuff/expr/stuff
+ 1 │ │ filesystem │ /
+━━━┷━━━┷━━━━━━━━━━━━┷━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+> shells | str # --substring "21, 99"
+━━━┯━━━┯━━━━━━━━━━━━┯━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+ # │ │ name │ path
+───┼───┼────────────┼────────────────────────────────
+ 0 │ X │ filesystem │ stuff
+ 1 │ │ filesystem │
+━━━┷━━━┷━━━━━━━━━━━━┷━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+> shells | str # --substring "6,"
+━━━┯━━━┯━━━━━━━━━━━━┯━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+ # │ │ name │ path
+───┼───┼────────────┼────────────────────────────────
+ 0 │ X │ filesystem │ TUX/stuff/expr/stuff
+ 1 │ │ filesystem │
+━━━┷━━━┷━━━━━━━━━━━━┷━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+
+> echo "1, 2, 3" | split-row "," | str --to-int | sum
+━━━━━━━━━
+
+─────────
+ 6
+━━━━━━━━━
+```
diff --git a/commands/sum.md b/commands/sum.md
new file mode 100644
index 0000000000000..7482ca0c54cb4
--- /dev/null
+++ b/commands/sum.md
@@ -0,0 +1,44 @@
+# sum
+This command allows you to calculate the sum of values in a column.
+
+## Examples
+To get the sum of the file sizes in a directory, simply pipe the size column from the ls command to the sum command.
+
+```shell
+> ls | get size | sum
+━━━━━━━━━
+ value
+━━━━━━━━━
+ 51.0 MB
+━━━━━━━━━
+```
+
+To get the sum of the characters that make up your present working directory.
+```shell
+> pwd | split-row / | size | get chars | sum
+━━━━━━━━━
+
+━━━━━━━━━
+21
+━━━━━━━━━
+```
+
+Note that sum only works for integer and byte values. If the shell doesn't recognize the values in a column as one of those types, it will return an error.
+One way to solve this is to convert each row to an integer when possible and then pipe the result to `sum`
+
+```shell
+> open tests/fixtures/formats/caco3_plastics.csv | get tariff_item | sum
+error: Unrecognized type in stream: Primitive(String("2509000000"))
+- shell:1:0
+1 | open tests/fixtures/formats/caco3_plastics.csv | get tariff_item | sum
+ | ^^^^ source
+```
+
+```shell
+> open tests/fixtures/formats/caco3_plastics.csv | get tariff_item | str --to-int | sum
+━━━━━━━━━━━━━
+
+─────────────
+ 29154639996
+━━━━━━━━━━━━━
+```
diff --git a/commands/sys.md b/commands/sys.md
new file mode 100644
index 0000000000000..b21a0ef21924a
--- /dev/null
+++ b/commands/sys.md
@@ -0,0 +1,32 @@
+# sys
+
+This command gives information about the system where nu is running on.
+
+## Examples
+
+```shell
+> sys
+━━━━━━━━━━━━━━━━┯━━━━━━━━━━━━━━━━┯━━━━━━━━━━━━━━━━━┯━━━━━━━━━━━━━━━━┯━━━━━━━━━━━━━━━━━━┯━━━━━━━━━━━━━━━━
+ host │ cpu │ disks │ mem │ net │ battery
+────────────────┼────────────────┼─────────────────┼────────────────┼──────────────────┼────────────────
+ [table: 1 row] │ [table: 1 row] │ [table: 3 rows] │ [table: 1 row] │ [table: 18 rows] │ [table: 1 row]
+━━━━━━━━━━━━━━━━┷━━━━━━━━━━━━━━━━┷━━━━━━━━━━━━━━━━━┷━━━━━━━━━━━━━━━━┷━━━━━━━━━━━━━━━━━━┷━━━━━━━━━━━━━━━━
+> sys | get host
+━━━━━━━━┯━━━━━━━━━┯━━━━━━━━━━━━━━┯━━━━━━━━┯━━━━━━━━━━━━━━━━┯━━━━━━━━━━━━━━━━━━
+ name │ release │ hostname │ arch │ uptime │ users
+────────┼─────────┼──────────────┼────────┼────────────────┼──────────────────
+ Darwin │ 18.7.0 │ C02Y437GJGH6 │ x86_64 │ [table: 1 row] │ [table: 17 rows]
+━━━━━━━━┷━━━━━━━━━┷━━━━━━━━━━━━━━┷━━━━━━━━┷━━━━━━━━━━━━━━━━┷━━━━━━━━━━━━━━━━━━
+> sys | get cpu
+━━━━━━━┯━━━━━━━━━━━━━━━━━━━┯━━━━━━━━━━━━━━━━━━━┯━━━━━━━━━━━━━━━━━━━
+ cores │ current ghz │ min ghz │ max ghz
+───────┼───────────────────┼───────────────────┼───────────────────
+ 12 │ 2.600000000000000 │ 2.600000000000000 │ 2.600000000000000
+━━━━━━━┷━━━━━━━━━━━━━━━━━━━┷━━━━━━━━━━━━━━━━━━━┷━━━━━━━━━━━━━━━━━━━
+> sys | get mem
+━━━━━━━━━┯━━━━━━━━━━┯━━━━━━━━━━━━┯━━━━━━━━━━━
+ total │ free │ swap total │ swap free
+─────────┼──────────┼────────────┼───────────
+ 34.4 GB │ 545.0 MB │ 2.1 GB │ 723.0 MB
+━━━━━━━━━┷━━━━━━━━━━┷━━━━━━━━━━━━┷━━━━━━━━━━━
+```
\ No newline at end of file
diff --git a/commands/tags.md b/commands/tags.md
new file mode 100644
index 0000000000000..2c80cc19cfbab
--- /dev/null
+++ b/commands/tags.md
@@ -0,0 +1,47 @@
+# tags
+
+The tags commands allows users to access the metadata of the previous value in
+the pipeline. This command may be run on multiple values of input as well.
+
+As of writing this, the only metadata returned includes:
+
+- `span`: the start and end indices of the previous value's substring location
+- `anchor`: the source where data was loaded from; this may not appear if the
+ previous pipeline value didn't actually have a source (like trying to `open` a
+ dir, or running `ls` on a dir)
+
+## Examples
+
+```shell
+> open README.md | tags
+━━━━━━━━━━━━━━━━┯━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+ span │ anchor
+────────────────┼──────────────────────────────────────────────────
+ [table: 1 row] │ /Users/danielh/Projects/github/nushell/README.md
+━━━━━━━━━━━━━━━━┷━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+```
+
+```shell
+> open README.md | tags | get span
+━━━━━━━┯━━━━━
+ start │ end
+───────┼─────
+ 5 │ 14
+━━━━━━━┷━━━━━
+```
+
+```shell
+> ls | tags | first 3 | get span
+━━━┯━━━━━━━┯━━━━━
+ # │ start │ end
+───┼───────┼─────
+ 0 │ 0 │ 2
+ 1 │ 0 │ 2
+ 2 │ 0 │ 2
+━━━┷━━━━━━━┷━━━━━
+```
+
+## Reference
+
+More useful information on the `tags` command can be found by referencing [The
+Nu Book's entry on Metadata](https://book.nushell.sh/en/metadata)
diff --git a/commands/to-csv.md b/commands/to-csv.md
new file mode 100644
index 0000000000000..2be6390fa8e2a
--- /dev/null
+++ b/commands/to-csv.md
@@ -0,0 +1,80 @@
+# to-csv
+
+Converts table data into csv text.
+
+## Example
+
+```shell
+> shells
+━━━┯━━━┯━━━━━━━━━━━━┯━━━━━━━━━━━━━━━━━━━━━━━━
+ # │ │ name │ path
+───┼───┼────────────┼────────────────────────
+ 0 │ X │ filesystem │ /home/shaurya
+ 1 │ │ filesystem │ /home/shaurya/Pictures
+ 2 │ │ filesystem │ /home/shaurya/Desktop
+━━━┷━━━┷━━━━━━━━━━━━┷━━━━━━━━━━━━━━━━━━━━━━━━
+> shells | to-csv
+ ,name,path
+X,filesystem,/home/shaurya
+ ,filesystem,/home/shaurya/Pictures
+ ,filesystem,/home/shaurya/Desktop
+```
+
+```shell
+> open caco3_plastics.csv
+━━━┯━━━━━━━━━━━━━━┯━━━━━━━━━━━━━━┯━━━━━━━━━━━━━┯━━━━━━━━━━━━━━┯━━━━━━━━━━┯━━━━━━━━━━━━┯━━━━━━━━━━━━┯━━━━━━━━━━━━┯━━━━━━━━━━━┯━━━━━━━━━━━┯━━━━━━━━━━━━━━
+ # │ importer │ shipper │ tariff_item │ name │ origin │ shipped_at │ arrived_at │ net_weight │ fob_price │ cif_price │ cif_per_net_
+ │ │ │ │ │ │ │ │ │ │ │ weight
+───┼──────────────┼──────────────┼─────────────┼──────────────┼──────────┼────────────┼────────────┼────────────┼───────────┼───────────┼──────────────
+ 0 │ PLASTICOS │ S A REVERTE │ 2509000000 │ CARBONATO DE │ SPAIN │ 18/03/2016 │ 17/04/2016 │ 81,000.00 │ 14,417.58 │ 18,252.34 │ 0.23
+ │ RIVAL CIA │ │ │ CALCIO TIPO │ │ │ │ │ │ │
+ │ LTDA │ │ │ CALCIPORE │ │ │ │ │ │ │
+ │ │ │ │ 160 T AL │ │ │ │ │ │ │
+ 1 │ MEXICHEM │ OMYA ANDINA │ 2836500000 │ CARBONATO │ COLOMBIA │ 07/07/2016 │ 10/07/2016 │ 26,000.00 │ 7,072.00 │ 8,127.18 │ 0.31
+ │ ECUADOR S.A. │ S A │ │ │ │ │ │ │ │ │
+ 2 │ PLASTIAZUAY │ SA REVERTE │ 2836500000 │ CARBONATO DE │ SPAIN │ 27/07/2016 │ 09/08/2016 │ 81,000.00 │ 8,100.00 │ 11,474.55 │ 0.14
+ │ SA │ │ │ CALCIO │ │ │ │ │ │ │
+ 3 │ PLASTICOS │ AND │ 2836500000 │ CALCIUM │ TURKEY │ 04/10/2016 │ 11/11/2016 │ 100,000.00 │ 17,500.00 │ 22,533.75 │ 0.23
+ │ RIVAL CIA │ ENDUSTRIYEL │ │ CARBONATE │ │ │ │ │ │ │
+ │ LTDA │ HAMMADDELER │ │ ANADOLU │ │ │ │ │ │ │
+ │ │ DIS TCARET │ │ ANDCARB CT-1 │ │ │ │ │ │ │
+ │ │ LTD.STI. │ │ │ │ │ │ │ │ │
+ 4 │ QUIMICA │ SA REVERTE │ 2836500000 │ CARBONATO DE │ SPAIN │ 24/06/2016 │ 12/07/2016 │ 27,000.00 │ 3,258.90 │ 5,585.00 │ 0.21
+ │ COMERCIAL │ │ │ CALCIO │ │ │ │ │ │ │
+ │ QUIMICIAL │ │ │ │ │ │ │ │ │ │
+ │ CIA. LTDA. │ │ │ │ │ │ │ │ │ │
+ 5 │ PICA │ OMYA ANDINA │ 3824909999 │ CARBONATO DE │ COLOMBIA │ 01/01/1900 │ 18/01/2016 │ 66,500.00 │ 12,635.00 │ 18,670.52 │ 0.28
+ │ PLASTICOS │ S.A │ │ CALCIO │ │ │ │ │ │ │
+ │ INDUSTRIALES │ │ │ │ │ │ │ │ │ │
+ │ C.A. │ │ │ │ │ │ │ │ │ │
+ 6 │ PLASTIQUIM │ OMYA ANDINA │ 3824909999 │ CARBONATO DE │ COLOMBIA │ 01/01/1900 │ 25/10/2016 │ 33,000.00 │ 6,270.00 │ 9,999.00 │ 0.30
+ │ S.A. │ S.A NIT │ │ CALCIO │ │ │ │ │ │ │
+ │ │ 830.027.386- │ │ RECUBIERTO │ │ │ │ │ │ │
+ │ │ 6 │ │ CON ACIDO │ │ │ │ │ │ │
+ │ │ │ │ ESTEARICO │ │ │ │ │ │ │
+ │ │ │ │ OMYA CARB 1T │ │ │ │ │ │ │
+ │ │ │ │ CG BBS 1000 │ │ │ │ │ │ │
+ 7 │ QUIMICOS │ SIBELCO │ 3824909999 │ CARBONATO DE │ COLOMBIA │ 01/11/2016 │ 03/11/2016 │ 52,000.00 │ 8,944.00 │ 13,039.05 │ 0.25
+ │ ANDINOS │ COLOMBIA SAS │ │ CALCIO │ │ │ │ │ │ │
+ │ QUIMANDI │ │ │ RECUBIERTO │ │ │ │ │ │ │
+ │ S.A. │ │ │ │ │ │ │ │ │ │
+ 8 │ TIGRE │ OMYA ANDINA │ 3824909999 │ CARBONATO DE │ COLOMBIA │ 01/01/1900 │ 28/10/2016 │ 66,000.00 │ 11,748.00 │ 18,216.00 │ 0.28
+ │ ECUADOR S.A. │ S.A NIT │ │ CALCIO │ │ │ │ │ │ │
+ │ ECUATIGRE │ 830.027.386- │ │ RECUBIERTO │ │ │ │ │ │ │
+ │ │ 6 │ │ CON ACIDO │ │ │ │ │ │ │
+ │ │ │ │ ESTEARICO │ │ │ │ │ │ │
+ │ │ │ │ OMYACARB 1T │ │ │ │ │ │ │
+ │ │ │ │ CG BPA 25 NO │ │ │ │ │ │ │
+━━━┷━━━━━━━━━━━━━━┷━━━━━━━━━━━━━━┷━━━━━━━━━━━━━┷━━━━━━━━━━━━━━┷━━━━━━━━━━┷━━━━━━━━━━━━┷━━━━━━━━━━━━┷━━━━━━━━━━━━┷━━━━━━━━━━━┷━━━━━━━━━━━┷━━━━━━━━━━━━━━
+> open caco3_plastics.csv | to-csv
+importer,shipper,tariff_item,name,origin,shipped_at,arrived_at,net_weight,fob_price,cif_price,cif_per_net_weight
+PLASTICOS RIVAL CIA LTDA,S A REVERTE,2509000000,CARBONATO DE CALCIO TIPO CALCIPORE 160 T AL,SPAIN,18/03/2016,17/04/2016,"81,000.00","14,417.58","18,252.34",0.23
+MEXICHEM ECUADOR S.A.,OMYA ANDINA S A,2836500000,CARBONATO,COLOMBIA,07/07/2016,10/07/2016,"26,000.00","7,072.00","8,127.18",0.31
+PLASTIAZUAY SA,SA REVERTE,2836500000,CARBONATO DE CALCIO,SPAIN,27/07/2016,09/08/2016,"81,000.00","8,100.00","11,474.55",0.14
+PLASTICOS RIVAL CIA LTDA,AND ENDUSTRIYEL HAMMADDELER DIS TCARET LTD.STI.,2836500000,CALCIUM CARBONATE ANADOLU ANDCARB CT-1,TURKEY,04/10/2016,11/11/2016,"100,000.00","17,500.00","22,533.75",0.23
+QUIMICA COMERCIAL QUIMICIAL CIA. LTDA.,SA REVERTE,2836500000,CARBONATO DE CALCIO,SPAIN,24/06/2016,12/07/2016,"27,000.00","3,258.90","5,585.00",0.21
+PICA PLASTICOS INDUSTRIALES C.A.,OMYA ANDINA S.A,3824909999,CARBONATO DE CALCIO,COLOMBIA,01/01/1900,18/01/2016,"66,500.00","12,635.00","18,670.52",0.28
+PLASTIQUIM S.A.,OMYA ANDINA S.A NIT 830.027.386-6,3824909999,CARBONATO DE CALCIO RECUBIERTO CON ACIDO ESTEARICO OMYA CARB 1T CG BBS 1000,COLOMBIA,01/01/1900,25/10/2016,"33,000.00","6,270.00","9,999.00",0.30
+QUIMICOS ANDINOS QUIMANDI S.A.,SIBELCO COLOMBIA SAS,3824909999,CARBONATO DE CALCIO RECUBIERTO,COLOMBIA,01/11/2016,03/11/2016,"52,000.00","8,944.00","13,039.05",0.25
+TIGRE ECUADOR S.A. ECUATIGRE,OMYA ANDINA S.A NIT 830.027.386-6,3824909999,CARBONATO DE CALCIO RECUBIERTO CON ACIDO ESTEARICO OMYACARB 1T CG BPA 25 NO,COLOMBIA,01/01/1900,28/10/2016,"66,000.00","11,748.00","18,216.00",0.28
+```
diff --git a/commands/to-json.md b/commands/to-json.md
new file mode 100644
index 0000000000000..eaf1cdb26a859
--- /dev/null
+++ b/commands/to-json.md
@@ -0,0 +1,40 @@
+# to-json
+
+Converts table data into json text.
+
+## Example
+
+```shell
+> shells
+━━━┯━━━┯━━━━━━━━━━━━┯━━━━━━━━━━━━━━━━━━━━━━━━
+ # │ │ name │ path
+───┼───┼────────────┼────────────────────────
+ 0 │ X │ filesystem │ /home/shaurya
+ 1 │ │ filesystem │ /home/shaurya/Pictures
+ 2 │ │ filesystem │ /home/shaurya/Desktop
+━━━┷━━━┷━━━━━━━━━━━━┷━━━━━━━━━━━━━━━━━━━━━━━━
+> shells | to-json
+[{" ":"X","name":"filesystem","path":"/home/shaurya"},{" ":" ","name":"filesystem","path":"/home/shaurya/Pictures"},{" ":" ","name":"filesystem","path":"/home/shaurya/Desktop"}]
+```
+
+```shell
+> open sgml_description.json
+━━━━━━━━━━━━━━━━
+ glossary
+────────────────
+ [table: 1 row]
+━━━━━━━━━━━━━━━━
+> open sgml_description.json | to-json
+{"glossary":{"title":"example glossary","GlossDiv":{"title":"S","GlossList":{"GlossEntry":{"ID":"SGML","SortAs":"SGML","GlossTerm":"Standard Generalized Markup Language","Acronym":"SGML","Abbrev":"ISO 8879:1986","Height":10,"GlossDef":{"para":"A meta-markup language, used to create markup languages such as DocBook.","GlossSeeAlso":["GML","XML"]},"Sections":[101,102],"GlossSee":"markup"}}}}}
+```
+We can also convert formats !
+```shell
+> open jonathan.xml
+━━━━━━━━━━━━━━━━
+ rss
+────────────────
+ [table: 1 row]
+━━━━━━━━━━━━━━━━
+> open jonathan.xml | to-json
+{"rss":[{"channel":[{"title":["Jonathan Turner"]},{"link":["http://www.jonathanturner.org"]},{"link":[]},{"item":[{"title":["Creating crossplatform Rust terminal apps"]},{"description":["
\n\nLook Mom, Pikachu running in Windows CMD!
\n\nPart of the adventure is not seeing the way ahead and going anyway.
\n"]},{"pubDate":["Mon, 05 Oct 2015 00:00:00 +0000"]},{"link":["http://www.jonathanturner.org/2015/10/off-to-new-adventures.html"]},{"guid":["http://www.jonathanturner.org/2015/10/off-to-new-adventures.html"]}]}]}]}
+```
diff --git a/commands/to-toml.md b/commands/to-toml.md
new file mode 100644
index 0000000000000..a026520696e00
--- /dev/null
+++ b/commands/to-toml.md
@@ -0,0 +1,112 @@
+# to-toml
+
+Converts table data into toml text.
+
+## Example
+
+```shell
+> shells
+━━━┯━━━┯━━━━━━━━━━━━┯━━━━━━━━━━━━━━━━━━━━━━━━
+ # │ │ name │ path
+───┼───┼────────────┼────────────────────────
+ 0 │ X │ filesystem │ /home/shaurya
+ 1 │ │ filesystem │ /home/shaurya/Pictures
+ 2 │ │ filesystem │ /home/shaurya/Desktop
+━━━┷━━━┷━━━━━━━━━━━━┷━━━━━━━━━━━━━━━━━━━━━━━━
+> shells | to-toml
+[[]]
+" " = "X"
+name = "filesystem"
+path = "/home/shaurya"
+
+[[]]
+" " = " "
+name = "filesystem"
+path = "/home/shaurya/Pictures"
+
+[[]]
+" " = " "
+name = "filesystem"
+path = "/home/shaurya/Desktop"
+
+```
+
+```shell
+> open cargo_sample.toml
+━━━━━━━━━━━━━━━━┯━━━━━━━━━━━━━━━━━━┯━━━━━━━━━━━━━━━━
+ dependencies │ dev-dependencies │ package
+────────────────┼──────────────────┼────────────────
+ [table: 1 row] │ [table: 1 row] │ [table: 1 row]
+━━━━━━━━━━━━━━━━┷━━━━━━━━━━━━━━━━━━┷━━━━━━━━━━━━━━━━
+> open cargo_sample.toml | to-toml
+[dependencies]
+ansi_term = "0.11.0"
+app_dirs = "1.2.1"
+byte-unit = "2.1.0"
+bytes = "0.4.12"
+chrono-humanize = "0.0.11"
+chrono-tz = "0.5.1"
+clap = "2.33.0"
+conch-parser = "0.1.1"
+derive-new = "0.5.6"
+dunce = "1.0.0"
+futures-sink-preview = "0.3.0-alpha.16"
+futures_codec = "0.2.2"
+getset = "0.0.7"
+git2 = "0.8.0"
+itertools = "0.8.0"
+lalrpop-util = "0.17.0"
+language-reporting = "0.3.0"
+log = "0.4.6"
+logos = "0.10.0-rc2"
+logos-derive = "0.10.0-rc2"
+nom = "5.0.0-beta1"
+ordered-float = "1.0.2"
+pretty_env_logger = "0.3.0"
+prettyprint = "0.6.0"
+prettytable-rs = "0.8.0"
+regex = "1.1.6"
+rustyline = "4.1.0"
+serde = "1.0.91"
+serde_derive = "1.0.91"
+serde_json = "1.0.39"
+subprocess = "0.1.18"
+sysinfo = "0.8.4"
+term = "0.5.2"
+tokio-fs = "0.1.6"
+toml = "0.5.1"
+toml-query = "0.9.0"
+
+[dependencies.chrono]
+features = ["serde"]
+version = "0.4.6"
+
+[dependencies.cursive]
+default-features = false
+features = ["pancurses-backend"]
+version = "0.12.0"
+
+[dependencies.futures-preview]
+features = ["compat", "io-compat"]
+version = "0.3.0-alpha.16"
+
+[dependencies.indexmap]
+features = ["serde-1"]
+version = "1.0.2"
+
+[dependencies.pancurses]
+features = ["win32a"]
+version = "0.16"
+
+[dev-dependencies]
+pretty_assertions = "0.6.1"
+
+[package]
+authors = ["Yehuda Katz "]
+description = "A shell for the GitHub era"
+edition = "2018"
+license = "ISC"
+name = "nu"
+version = "0.1.1"
+
+```
diff --git a/commands/to-tsv.md b/commands/to-tsv.md
new file mode 100644
index 0000000000000..b9e5f97d4fe30
--- /dev/null
+++ b/commands/to-tsv.md
@@ -0,0 +1,80 @@
+# to-tsv
+
+Converts table data into tsv text.
+
+## Example
+
+```shell
+> shells
+━━━┯━━━┯━━━━━━━━━━━━┯━━━━━━━━━━━━━━━━━━━━━━━━
+ # │ │ name │ path
+───┼───┼────────────┼────────────────────────
+ 0 │ X │ filesystem │ /home/shaurya
+ 1 │ │ filesystem │ /home/shaurya/Pictures
+ 2 │ │ filesystem │ /home/shaurya/Desktop
+━━━┷━━━┷━━━━━━━━━━━━┷━━━━━━━━━━━━━━━━━━━━━━━━
+> shells |to-tsv
+ name path
+X filesystem /home/shaurya
+
+```
+
+```shell
+> open caco3_plastics.tsv
+━━━┯━━━━━━━━━━━━━━┯━━━━━━━━━━━━━━┯━━━━━━━━━━━━━┯━━━━━━━━━━━━━━┯━━━━━━━━━━┯━━━━━━━━━━━━┯━━━━━━━━━━━━┯━━━━━━━━━━━━┯━━━━━━━━━━━┯━━━━━━━━━━━┯━━━━━━━━━━━━━━
+ # │ importer │ shipper │ tariff_item │ name │ origin │ shipped_at │ arrived_at │ net_weight │ fob_price │ cif_price │ cif_per_net_
+ │ │ │ │ │ │ │ │ │ │ │ weight
+───┼──────────────┼──────────────┼─────────────┼──────────────┼──────────┼────────────┼────────────┼────────────┼───────────┼───────────┼──────────────
+ 0 │ PLASTICOS │ S A REVERTE │ 2509000000 │ CARBONATO DE │ SPAIN │ 18/03/2016 │ 17/04/2016 │ 81,000.00 │ 14,417.58 │ 18,252.34 │ 0.23
+ │ RIVAL CIA │ │ │ CALCIO TIPO │ │ │ │ │ │ │
+ │ LTDA │ │ │ CALCIPORE │ │ │ │ │ │ │
+ │ │ │ │ 160 T AL │ │ │ │ │ │ │
+ 1 │ MEXICHEM │ OMYA ANDINA │ 2836500000 │ CARBONATO │ COLOMBIA │ 07/07/2016 │ 10/07/2016 │ 26,000.00 │ 7,072.00 │ 8,127.18 │ 0.31
+ │ ECUADOR S.A. │ S A │ │ │ │ │ │ │ │ │
+ 2 │ PLASTIAZUAY │ SA REVERTE │ 2836500000 │ CARBONATO DE │ SPAIN │ 27/07/2016 │ 09/08/2016 │ 81,000.00 │ 8,100.00 │ 11,474.55 │ 0.14
+ │ SA │ │ │ CALCIO │ │ │ │ │ │ │
+ 3 │ PLASTICOS │ AND │ 2836500000 │ CALCIUM │ TURKEY │ 04/10/2016 │ 11/11/2016 │ 100,000.00 │ 17,500.00 │ 22,533.75 │ 0.23
+ │ RIVAL CIA │ ENDUSTRIYEL │ │ CARBONATE │ │ │ │ │ │ │
+ │ LTDA │ HAMMADDELER │ │ ANADOLU │ │ │ │ │ │ │
+ │ │ DIS TCARET │ │ ANDCARB CT-1 │ │ │ │ │ │ │
+ │ │ LTD.STI. │ │ │ │ │ │ │ │ │
+ 4 │ QUIMICA │ SA REVERTE │ 2836500000 │ CARBONATO DE │ SPAIN │ 24/06/2016 │ 12/07/2016 │ 27,000.00 │ 3,258.90 │ 5,585.00 │ 0.21
+ │ COMERCIAL │ │ │ CALCIO │ │ │ │ │ │ │
+ │ QUIMICIAL │ │ │ │ │ │ │ │ │ │
+ │ CIA. LTDA. │ │ │ │ │ │ │ │ │ │
+ 5 │ PICA │ OMYA ANDINA │ 3824909999 │ CARBONATO DE │ COLOMBIA │ 01/01/1900 │ 18/01/2016 │ 66,500.00 │ 12,635.00 │ 18,670.52 │ 0.28
+ │ PLASTICOS │ S.A │ │ CALCIO │ │ │ │ │ │ │
+ │ INDUSTRIALES │ │ │ │ │ │ │ │ │ │
+ │ C.A. │ │ │ │ │ │ │ │ │ │
+ 6 │ PLASTIQUIM │ OMYA ANDINA │ 3824909999 │ CARBONATO DE │ COLOMBIA │ 01/01/1900 │ 25/10/2016 │ 33,000.00 │ 6,270.00 │ 9,999.00 │ 0.30
+ │ S.A. │ S.A NIT │ │ CALCIO │ │ │ │ │ │ │
+ │ │ 830.027.386- │ │ RECUBIERTO │ │ │ │ │ │ │
+ │ │ 6 │ │ CON ACIDO │ │ │ │ │ │ │
+ │ │ │ │ ESTEARICO │ │ │ │ │ │ │
+ │ │ │ │ OMYA CARB 1T │ │ │ │ │ │ │
+ │ │ │ │ CG BBS 1000 │ │ │ │ │ │ │
+ 7 │ QUIMICOS │ SIBELCO │ 3824909999 │ CARBONATO DE │ COLOMBIA │ 01/11/2016 │ 03/11/2016 │ 52,000.00 │ 8,944.00 │ 13,039.05 │ 0.25
+ │ ANDINOS │ COLOMBIA SAS │ │ CALCIO │ │ │ │ │ │ │
+ │ QUIMANDI │ │ │ RECUBIERTO │ │ │ │ │ │ │
+ │ S.A. │ │ │ │ │ │ │ │ │ │
+ 8 │ TIGRE │ OMYA ANDINA │ 3824909999 │ CARBONATO DE │ COLOMBIA │ 01/01/1900 │ 28/10/2016 │ 66,000.00 │ 11,748.00 │ 18,216.00 │ 0.28
+ │ ECUADOR S.A. │ S.A NIT │ │ CALCIO │ │ │ │ │ │ │
+ │ ECUATIGRE │ 830.027.386- │ │ RECUBIERTO │ │ │ │ │ │ │
+ │ │ 6 │ │ CON ACIDO │ │ │ │ │ │ │
+ │ │ │ │ ESTEARICO │ │ │ │ │ │ │
+ │ │ │ │ OMYACARB 1T │ │ │ │ │ │ │
+ │ │ │ │ CG BPA 25 NO │ │ │ │ │ │ │
+━━━┷━━━━━━━━━━━━━━┷━━━━━━━━━━━━━━┷━━━━━━━━━━━━━┷━━━━━━━━━━━━━━┷━━━━━━━━━━┷━━━━━━━━━━━━┷━━━━━━━━━━━━┷━━━━━━━━━━━━┷━━━━━━━━━━━┷━━━━━━━━━━━┷━━━━━━━━━━━━━━
+> open caco3_plastics.tsv | to-tsv
+importer shipper tariff_item name origin shipped_at arrived_at net_weight fob_price cif_price cif_per_net_weight
+PLASTICOS RIVAL CIA LTDA S A REVERTE 2509000000 CARBONATO DE CALCIO TIPO CALCIPORE 160 T AL SPAIN 18/03/2016 17/04/2016 81,000.00 14,417.58 18,252.34 0.23
+MEXICHEM ECUADOR S.A. OMYA ANDINA S A 2836500000 CARBONATO COLOMBIA 07/07/2016 10/07/2016 26,000.00 7,072.00 8,127.18 0.31
+PLASTIAZUAY SA SA REVERTE 2836500000 CARBONATO DE CALCIO SPAIN 27/07/2016 09/08/2016 81,000.00 8,100.00 11,474.55 0.14
+PLASTICOS RIVAL CIA LTDA AND ENDUSTRIYEL HAMMADDELER DIS TCARET LTD.STI. 2836500000 CALCIUM CARBONATE ANADOLU ANDCARB CT-1 TURKEY 04/10/2016 11/11/2016 100,000.00 17,500.00 22,533.75 0.23
+QUIMICA COMERCIAL QUIMICIAL CIA. LTDA. SA REVERTE 2836500000 CARBONATO DE CALCIO SPAIN 24/06/2016 12/07/2016 27,000.00 3,258.90 5,585.00 0.21
+PICA PLASTICOS INDUSTRIALES C.A. OMYA ANDINA S.A 3824909999 CARBONATO DE CALCIO COLOMBIA 01/01/1900 18/01/2016 66,500.00 12,635.00 18,670.52 0.28
+PLASTIQUIM S.A. OMYA ANDINA S.A NIT 830.027.386-6 3824909999 CARBONATO DE CALCIO RECUBIERTO CON ACIDO ESTEARICO OMYA CARB 1T CG BBS 1000 COLOMBIA 01/01/1900 25/10/2016 33,000.00 6,270.00 9,999.00 0.30
+QUIMICOS ANDINOS QUIMANDI S.A. SIBELCO COLOMBIA SAS 3824909999 CARBONATO DE CALCIO RECUBIERTO COLOMBIA 01/11/2016 03/11/2016 52,000.00 8,944.00 13,039.05 0.25
+TIGRE ECUADOR S.A. ECUATIGRE OMYA ANDINA S.A NIT 830.027.386-6 3824909999 CARBONATO DE CALCIO RECUBIERTO CON ACIDO ESTEARICO OMYACARB 1T CG BPA 25 NO COLOMBIA 01/01/1900 28/10/2016 66,000.00 11,748.00 18,216.00 0.28
+
+```
diff --git a/commands/to-url.md b/commands/to-url.md
new file mode 100644
index 0000000000000..ad11133760ae8
--- /dev/null
+++ b/commands/to-url.md
@@ -0,0 +1,35 @@
+# to-url
+
+Converts table data into url-formatted text.
+
+## Example
+
+```shell
+> shells
+━━━┯━━━┯━━━━━━━━━━━━┯━━━━━━━━━━━━━━━━━━━━━━━━
+ # │ │ name │ path
+───┼───┼────────────┼────────────────────────
+ 0 │ X │ filesystem │ /home/shaurya
+ 1 │ │ filesystem │ /home/shaurya/Pictures
+ 2 │ │ filesystem │ /home/shaurya/Desktop
+━━━┷━━━┷━━━━━━━━━━━━┷━━━━━━━━━━━━━━━━━━━━━━━━
+> shells | to-url
+━━━┯━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+ # │ value
+───┼───────────────────────────────────────────────────────
+ 0 │ +=X&name=filesystem&path=%2Fhome%2Fshaurya
+ 1 │ +=+&name=filesystem&path=%2Fhome%2Fshaurya%2FPictures
+ 2 │ +=+&name=filesystem&path=%2Fhome%2Fshaurya%2FDesktop
+━━━┷━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+```
+
+```shell
+> open sample.url
+━━━━━━━━━━┯━━━━━━━━┯━━━━━━┯━━━━━━━━
+ bread │ cheese │ meat │ fat
+──────────┼────────┼──────┼────────
+ baguette │ comté │ ham │ butter
+━━━━━━━━━━┷━━━━━━━━┷━━━━━━┷━━━━━━━━
+> open sample.url | to-url
+bread=baguette&cheese=comt%C3%A9&meat=ham&fat=butter
+```
diff --git a/commands/to-yaml.md b/commands/to-yaml.md
new file mode 100644
index 0000000000000..b2be3768ef0b1
--- /dev/null
+++ b/commands/to-yaml.md
@@ -0,0 +1,60 @@
+# to-yaml
+
+Converts table data into yaml text.
+
+## Example
+
+```shell
+> shells
+━━━┯━━━┯━━━━━━━━━━━━┯━━━━━━━━━━━━━━━━━━━━━━━━
+ # │ │ name │ path
+───┼───┼────────────┼────────────────────────
+ 0 │ X │ filesystem │ /home/shaurya
+ 1 │ │ filesystem │ /home/shaurya/Pictures
+ 2 │ │ filesystem │ /home/shaurya/Desktop
+━━━┷━━━┷━━━━━━━━━━━━┷━━━━━━━━━━━━━━━━━━━━━━━━
+> shells | to-yaml
+---
+- " ": X
+ name: filesystem
+ path: /home/shaurya
+- " ": " "
+ name: filesystem
+ path: /home/shaurya/Pictures
+- " ": " "
+ name: filesystem
+ path: /home/shaurya/Desktop
+```
+
+```shell
+> open appveyor.yml
+━━━━━━━━━━━━━━━━━━━━┯━━━━━━━━━━━━━━━━┯━━━━━━━━━━━━━━━━━┯━━━━━━━┯━━━━━━━━━━━━━━━━━┯━━━━━━━━━━━━━━━━━
+ image │ environment │ install │ build │ test_script │ cache
+────────────────────┼────────────────┼─────────────────┼───────┼─────────────────┼─────────────────
+ Visual Studio 2017 │ [table: 1 row] │ [table: 5 rows] │ │ [table: 2 rows] │ [table: 2 rows]
+━━━━━━━━━━━━━━━━━━━━┷━━━━━━━━━━━━━━━━┷━━━━━━━━━━━━━━━━━┷━━━━━━━┷━━━━━━━━━━━━━━━━━┷━━━━━━━━━━━━━━━━━
+> open appveyor.yml | to-yaml
+---
+image: Visual Studio 2017
+environment:
+ global:
+ PROJECT_NAME: nushell
+ RUST_BACKTRACE: 1
+ matrix:
+ - TARGET: x86_64-pc-windows-msvc
+ CHANNEL: nightly
+ BITS: 64
+install:
+ - "set PATH=C:\\msys64\\mingw%BITS%\\bin;C:\\msys64\\usr\\bin;%PATH%"
+ - "curl -sSf -o rustup-init.exe https://win.rustup.rs"
+ - rustup-init.exe -y --default-host %TARGET% --default-toolchain %CHANNEL%-%TARGET%
+ - "set PATH=%PATH%;C:\\Users\\appveyor\\.cargo\\bin"
+ - "call \"C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Auxiliary\\Build\\vcvars64.bat\""
+build: false
+test_script:
+ - cargo build --verbose
+ - cargo test --all --verbose
+cache:
+ - target -> Cargo.lock
+ - "C:\\Users\\appveyor\\.cargo\\registry -> Cargo.lock"
+```
diff --git a/commands/trim.md b/commands/trim.md
new file mode 100644
index 0000000000000..5f01a688f7631
--- /dev/null
+++ b/commands/trim.md
@@ -0,0 +1,12 @@
+# trim
+
+Trim leading and following whitespace from text data
+
+## Example
+
+```shell
+> echo " Hello world"
+ Hello world
+> echo " Hello world" | trim
+Hello world
+```
\ No newline at end of file
diff --git a/commands/version.md b/commands/version.md
new file mode 100644
index 0000000000000..4e31cfc7d12d2
--- /dev/null
+++ b/commands/version.md
@@ -0,0 +1,14 @@
+# version
+
+Outputs the nushell version.
+
+## Examples
+
+```shell
+> version
+━━━━━━━━━
+ version
+─────────
+ 0.5.0
+━━━━━━━━━
+```
diff --git a/commands/where.md b/commands/where.md
new file mode 100644
index 0000000000000..be962726ee083
--- /dev/null
+++ b/commands/where.md
@@ -0,0 +1,34 @@
+# where
+
+This command filters the content of a table based on a condition passed as a parameter, which must be a boolean expression making use of any of the table columns. Other commands such as `ls` are capable of feeding `where` with their output through pipelines.
+
+## Usage
+```shell
+> [input-command] | where [condition]
+```
+
+## Examples
+
+```shell
+> ls | where size > 4kb
+----+----------------+------+----------+----------+----------------+----------------
+ # | name | type | readonly | size | accessed | modified
+----+----------------+------+----------+----------+----------------+----------------
+ 0 | IMG_1291.jpg | File | | 115.5 KB | a month ago | 4 months ago
+ 1 | README.md | File | | 11.1 KB | 2 days ago | 2 days ago
+ 2 | IMG_1291.png | File | | 589.0 KB | a month ago | a month ago
+ 3 | IMG_1381.jpg | File | | 81.0 KB | a month ago | 4 months ago
+ 4 | butterfly.jpeg | File | | 4.2 KB | a month ago | a month ago
+ 5 | Cargo.lock | File | | 199.6 KB | 22 minutes ago | 22 minutes ago
+```
+
+```shell
+> ps | where cpu > 10
+---+-------+----------+-------+-----------------------------
+ # | pid | status | cpu | name
+---+-------+----------+-------+-----------------------------
+ 0 | 1992 | Sleeping | 44.52 | /usr/bin/gnome-shell
+ 1 | 1069 | Sleeping | 16.15 |
+ 2 | 24116 | Sleeping | 13.70 | /opt/google/chrome/chrome
+ 3 | 21976 | Sleeping | 12.67 | /usr/share/discord/Discord
+```
diff --git a/contribute.md b/contribute.md
new file mode 100644
index 0000000000000..6b408657f2519
--- /dev/null
+++ b/contribute.md
@@ -0,0 +1,9 @@
+---
+title: Contribute
+layout: doc
+---
+
+If you are a developer who would like to contribute to Nu, feel free to start working with us on our [GitHub page](https://github.com/nushell/nushell).
+We are also currently writing a [contributers book](https://github.com/nushell/contributer-book) which will help you to get started and dive deeper into the concepts which stand behind Nu, how they are implemented and .
+
+We also have active discussions on [Discord](https://discord.gg/NtAbbGn) and [Twitter](https://twitter.com/nu_shell) where you can get fast help, bring in your own ideas and discuss with us suggestions from other developers.
\ No newline at end of file
diff --git a/documentation.md b/documentation.md
new file mode 100644
index 0000000000000..42ae8c6c79de0
--- /dev/null
+++ b/documentation.md
@@ -0,0 +1,36 @@
+---
+title: Documentation
+layout: doc
+---
+We have a few good resources for you to get started with Nu.
+
+At the bottom of this page you can also find quick references to the commands provided by Nu Shell if you need quick support.
+
+# Books
+
+## Nu Book
+
+You can read our [book](https://book.nushell.sh) to lern more about the core concepts behind Nu. It covers a lot of examples which will help you to have an easy start.
+
+## Contributor Book
+
+In the [contributers book](https://github.com/nushell/contributor-book) you can find further information. It attempts to cover the basics of how Nu works internally, to get a solid understanding. You will learn how data is treated, what kind of data types Nu supports and how you can write plugins for it.
+
+## Cookbook
+
+The [cookbook](https://github.com/nushell/cookbook) is another book which will cover more stuff in the future.
+
+# Quick command references
+
+[add](/commands/add.html) | [first](/commands/first.html) | [prepend](/commands/prepend.html) | [to-toml](/commands/to-toml.html)
+[append](/commands/append.html) | [from-csv](/commands/from-csv.html) | [reject](/commands/reject.html) | [to-tsv](/commands/to-tsv.html)
+[average](/commands/average.html) | [from-toml](/commands/from-toml.html) | [reverse](/commands/reverse.html) | [to-url](/commands/to-url.html)
+[cd](/commands/cd.html) | [group-by](/commands/group-by.html) | [shells](/commands/shells.html) | [to-yaml](/commands/to-yaml.html)
+[count](/commands/count.html) | [help](/commands/help.html) | [size](/commands/size.html) | [trim](/commands/trim.html)
+[date](/commands/date.html) | [inc](/commands/inc.html) | [sort-by](/commands/sort-by.html) | [version](/commands/version.html)
+[echo](/commands/echo.html) | [last](/commands/last.html) | [str](/commands/str.html) | [where](/commands/where.html)
+[edit](/commands/edit.html) | [lines](/commands/lines.html) | [sum](/commands/sum.html)
+[enter](/commands/enter.html) | [nth](/commands/nth.html) | [sys](/commands/sys.html)
+[env](/commands/env.html) | [open](/commands/open.html) | [tags](/commands/tags.html)
+[exit](/commands/exit.html) | [pick](/commands/pick.html) | [to-csv](/commands/to-csv.html)
+[fetch](/commands/fetch.html) | [pivot](/commands/pivot.html) | [to-json](/commands/to-josn.html)
\ No newline at end of file
diff --git a/images/discord.svg b/images/discord.svg
new file mode 100644
index 0000000000000..65c9fccff7514
--- /dev/null
+++ b/images/discord.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/images/github.svg b/images/github.svg
new file mode 100644
index 0000000000000..12b008f9a16de
--- /dev/null
+++ b/images/github.svg
@@ -0,0 +1,5 @@
+
+
\ No newline at end of file
diff --git a/images/link.png b/images/link.png
new file mode 100644
index 0000000000000..a3da491b874d0
Binary files /dev/null and b/images/link.png differ
diff --git a/images/nushell-autocomplete.gif b/images/nushell-autocomplete.gif
new file mode 100644
index 0000000000000..87540af37f1f1
Binary files /dev/null and b/images/nushell-autocomplete.gif differ
diff --git a/images/twitter.svg b/images/twitter.svg
new file mode 100644
index 0000000000000..b0a693331716c
--- /dev/null
+++ b/images/twitter.svg
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/index.html b/index.html
deleted file mode 100644
index 9028ed1e5c250..0000000000000
--- a/index.html
+++ /dev/null
@@ -1,44 +0,0 @@
-
-
-
- Nu
-
-
-
-
-
-
-
-
-
-
- A modern shell for the GitHub era
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/index.md b/index.md
new file mode 100644
index 0000000000000..2eb5f1d2f1831
--- /dev/null
+++ b/index.md
@@ -0,0 +1,125 @@
+---
+# Feel free to add content and custom Front Matter to this file.
+# To modify the layout, see https://jekyllrb.com/docs/themes/#overriding-theme-defaults
+
+layout: default
+title: Nushell
+---
+
+Hello, and welcome to the Nushell project. The goal of this project is to take the Unix philosophy of shells, where pipes connect simple commands together, and bring it to the modern style of development.
+
+# Philosophy
+
+Nu draws inspiration from projects like PowerShell, functional programming languages, and modern CLI tools. Rather than thinking of files and services as raw streams of text, Nu looks at each input as something with structure. For example, when you list the contents of a directory, what you get back is a table of rows, where each row represents an item in that directory. These values can be piped through a series of steps, in a series of commands called a 'pipeline'.
+
+![Example of nushell](https://www.nushell.sh/images/nushell-autocomplete.gif "Example of nushell")
+
+## Pipelines
+
+In Unix, it's common to pipe between commands to split up a sophisticated command over multiple steps. Nu takes this a step further and builds heavily on the idea of _pipelines_. Just as the Unix philosophy, Nu allows commands to output from stdout and read from stdin. Additionally, commands can output structured data (you can think of this as a third kind of stream). Commands that work in the pipeline fit into one of three categories:
+
+* Commands that produce a stream (eg, `ls`)
+* Commands that filter a stream (eg, `where type == "Directory"`)
+* Commands that consume the output of the pipeline (eg, `autoview`)
+
+Commands are separated by the pipe symbol (`|`) to denote a pipeline flowing left to right.
+
+```
+/home/jonathan/Source/nushell(master)> ls | where type == "Directory" | autoview
+━━━━┯━━━━━━━━━━━┯━━━━━━━━━━━┯━━━━━━━━━━┯━━━━━━━━┯━━━━━━━━━━━━━━┯━━━━━━━━━━━━━━━━
+ # │ name │ type │ readonly │ size │ accessed │ modified
+────┼───────────┼───────────┼──────────┼────────┼──────────────┼────────────────
+ 0 │ .azure │ Directory │ │ 4.1 KB │ 2 months ago │ a day ago
+ 1 │ target │ Directory │ │ 4.1 KB │ 3 days ago │ 3 days ago
+ 2 │ images │ Directory │ │ 4.1 KB │ 2 months ago │ 2 weeks ago
+ 3 │ tests │ Directory │ │ 4.1 KB │ 2 months ago │ 37 minutes ago
+ 4 │ tmp │ Directory │ │ 4.1 KB │ 2 weeks ago │ 2 weeks ago
+ 5 │ src │ Directory │ │ 4.1 KB │ 2 months ago │ 37 minutes ago
+ 6 │ assets │ Directory │ │ 4.1 KB │ a month ago │ a month ago
+ 7 │ docs │ Directory │ │ 4.1 KB │ 2 months ago │ 2 months ago
+━━━━┷━━━━━━━━━━━┷━━━━━━━━━━━┷━━━━━━━━━━┷━━━━━━━━┷━━━━━━━━━━━━━━┷━━━━━━━━━━━━━━━━
+```
+
+Because most of the time you'll want to see the output of a pipeline, `autoview` is assumed. We could have also written the above:
+
+```
+/home/jonathan/Source/nushell(master)> ls | where type == Directory
+```
+
+Being able to use the same commands and compose them differently is an important philosophy in Nu. For example, we could use the built-in `ps` command as well to get a list of the running processes, using the same `where` as above.
+
+```text
+/home/jonathan/Source/nushell(master)> ps | where cpu > 0
+━━━┯━━━━━━━┯━━━━━━━━━━━━━━━━━┯━━━━━━━━━━┯━━━━━━━━━━
+ # │ pid │ name │ status │ cpu
+───┼───────┼─────────────────┼──────────┼──────────
+ 0 │ 992 │ chrome │ Sleeping │ 6.988768
+ 1 │ 4240 │ chrome │ Sleeping │ 5.645982
+ 2 │ 13973 │ qemu-system-x86 │ Sleeping │ 4.996551
+ 3 │ 15746 │ nu │ Sleeping │ 84.59905
+━━━┷━━━━━━━┷━━━━━━━━━━━━━━━━━┷━━━━━━━━━━┷━━━━━━━━━━
+
+```
+
+## Opening files
+
+Nu can load file and URL contents as raw text or as structured data (if it recognizes the format). For example, you can load a .toml file as structured data and explore it:
+
+```
+/home/jonathan/Source/nushell(master)> open Cargo.toml
+━━━━━━━━━━━━━━━━━━┯━━━━━━━━━━━━━━━━┯━━━━━━━━━━━━━━━━━━
+ bin │ dependencies │ dev-dependencies
+──────────────────┼────────────────┼──────────────────
+ [table: 12 rows] │ [table: 1 row] │ [table: 1 row]
+━━━━━━━━━━━━━━━━━━┷━━━━━━━━━━━━━━━━┷━━━━━━━━━━━━━━━━━━
+```
+
+We can pipeline this into a command that gets the contents of one of the columns:
+
+```
+/home/jonathan/Source/nushell(master)> open Cargo.toml | get package
+━━━━━━━━━━━━━━━━━┯━━━━━━━━━━━━━━━━━━━━━━━━━━━━┯━━━━━━━━━┯━━━━━━━━━┯━━━━━━┯━━━━━━━━━
+ authors │ description │ edition │ license │ name │ version
+─────────────────┼────────────────────────────┼─────────┼─────────┼──────┼─────────
+ [table: 3 rows] │ A shell for the GitHub era │ 2018 │ MIT │ nu │ 0.5.0
+━━━━━━━━━━━━━━━━━┷━━━━━━━━━━━━━━━━━━━━━━━━━━━━┷━━━━━━━━━┷━━━━━━━━━┷━━━━━━┷━━━━━━━━━
+```
+
+Finally, we can use commands outside of Nu once we have the data we want:
+
+```
+/home/jonathan/Source/nushell(master)> open Cargo.toml | get package.version | echo $it
+0.5.0
+```
+
+Here we use the variable `$it` to refer to the value being piped to the external command.
+
+## Shells
+
+Nu will work inside of a single directory and allow you to navigate around your filesystem by default. Nu also offers a way of adding additional working directories that you can jump between, allowing you to work in multiple directories at the same time.
+
+To do so, use the `enter` command, which will allow you create a new "shell" and enter it at the specified path. You can toggle between this new shell and the original shell with the `p` (for previous) and `n` (for next), allowing you to navigate around a ring buffer of shells. Once you're done with a shell, you can `exit` it and remove it from the ring buffer.
+
+Finally, to get a list of all the current shells, you can use the `shells` command.
+
+## Plugins
+
+Nu supports plugins that offer additional functionality to the shell and follow the same structured data model that built-in commands use. This allows you to extend nu for your needs.
+
+There are a few examples in the `plugins` directory.
+
+Plugins are binaries that are available in your path and follow a `nu_plugin_*` naming convention. These binaries interact with nu via a simple JSON-RPC protocol where the command identifies itself and passes along its configuration, which then makes it available for use. If the plugin is a filter, data streams to it one element at a time, and it can stream data back in return via stdin/stdout. If the plugin is a sink, it is given the full vector of final data and is given free reign over stdin/stdout to use as it pleases.
+
+# Goals
+
+Nu adheres closely to a set of goals that make up its design philosophy. As features are added, they are checked against these goals.
+
+* First and foremost, Nu is cross-platform. Commands and techniques should carry between platforms and offer first-class consistent support for Windows, macOS, and Linux.
+
+* Nu ensures direct compatibility with existing platform-specific executables that make up people's workflows.
+
+* Nu's workflow and tools should have the usability in day-to-day experience of using a shell in 2019 (and beyond).
+
+* Nu views data as both structured and unstructured. It is a structured shell like PowerShell.
+
+* Finally, Nu views data functionally. Rather than using mutation, pipelines act as a means to load, change, and save data without mutable state.
diff --git a/installation.md b/installation.md
new file mode 100644
index 0000000000000..6f23d0f030f1e
--- /dev/null
+++ b/installation.md
@@ -0,0 +1,87 @@
+---
+layout: doc
+title: Installation
+---
+
+This is just a short description of how you can install Nu. There is better documented [installation guide](https://book.nushell.sh/en/installation) in our book which is covering much more ways and possibilties.
+
+## Local
+
+To build Nu, you will need to use the **latest stable (1.39 or later)** version of the compiler.
+
+Required dependencies:
+
+* pkg-config and libssl (only needed on Linux)
+ * on Debian/Ubuntu: `apt install pkg-config libssl-dev`
+
+Optional dependencies:
+
+* To use Nu with all possible optional features enabled, you'll also need the following:
+ * on Linux (on Debian/Ubuntu): `apt install libxcb-composite0-dev libx11-dev`
+
+To install Nu via cargo (make sure you have installed [rustup](https://rustup.rs/) and the latest stable compiler via `rustup install stable`):
+
+```
+cargo install nu
+```
+
+You can also install Nu with all the bells and whistles (be sure to have installed the [dependencies](https://book.nushell.sh/en/installation#dependencies) for your platform):
+
+```
+cargo install nu --all-features
+```
+
+## Pre-built binaries
+
+### Windows
+
+**Please Note:** Nu works on Windows 10 and does not currently have Windows 7/8.1 support.
+
+Download the current released `.zip`-file from the [release page](https://github.com/nushell/nushell/releases) and extract it for example to:
+
+```
+C:\Program Files
+```
+
+And then add the folder of `nu` to your PATH. Once we have done that, we can run Nu using the `nu` command:
+
+```
+> nu
+C:\Users\user>
+```
+
+### Docker
+
+If you want to pull a pre-built container, you can browse tags for the [nushell organization](https://quay.io/organization/nushell)
+on Quay.io. Pulling a container would come down to:
+
+```bash
+$ docker pull quay.io/nushell/nu
+$ docker pull quay.io/nushell/nu-base
+```
+
+Both "nu-base" and "nu" provide the nu binary, however nu-base also includes the source code at `/code`
+in the container and all dependencies.
+
+Optionally, you can also build the containers locally using the [dockerfiles provided](docker):
+To build the base image:
+
+```bash
+$ docker build -f docker/Dockerfile.nu-base -t nushell/nu-base .
+```
+
+And then to build the smaller container (using a Multistage build):
+
+```bash
+$ docker build -f docker/Dockerfile -t nushell/nu .
+```
+
+Either way, you can run either container as follows:
+
+```bash
+$ docker run -it nushell/nu-base
+$ docker run -it nushell/nu
+/> exit
+```
+
+The second container is a bit smaller if the size is important to you.
\ No newline at end of file