diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..1b6ba26
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,2 @@
+doc_venv
+_build
diff --git a/.gitreview b/.gitreview
new file mode 100644
index 0000000..faaf342
--- /dev/null
+++ b/.gitreview
@@ -0,0 +1,5 @@
+[gerrit]
+host=gerrit.onosproject.org
+port=29418
+project=trellis-docs.git
+defaultremote=origin
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..170c6ee
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,55 @@
+# Makefile for Trellis documentation created with Sphinx
+
+# use bash for pushd/popd, and to fail quickly. virtualenv's activate
+# has undefined variables, so no -u
+SHELL = bash -e -o pipefail
+
+# You can set these variables from the command line.
+SPHINXOPTS   ?=
+SPHINXBUILD  ?= sphinx-build
+SOURCEDIR    ?= .
+BUILDDIR     ?= _build
+
+# Put it first so that "make" without argument is like "make help".
+help: doc_venv
+	source ./doc_venv/bin/activate ;\
+	$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
+
+.PHONY: help lint reload Makefile test
+
+# Create the virtualenv with all the tools installed
+doc_venv:
+	virtualenv doc_venv ;\
+	source ./doc_venv/bin/activate ;\
+	pip install livereload ;\
+	pip install -r requirements.txt
+
+# automatically reload changes in browser as they're made
+reload: doc_venv
+	source ./doc_venv/bin/activate ;\
+	set -u ;\
+	sphinx-reload $(SOURCEDIR)
+
+# lint and link verification. linkcheck is built into sphinx
+test: lint linkcheck
+
+lint: rst-lint
+
+rst-lint: doc_venv
+	source ./doc_venv/bin/activate ;\
+	set -u ;\
+	doc8 --ignore-path doc_venv --ignore-path _build $(SOURCEDIR)
+
+# clean up
+clean:
+	rm -rf $(BUILDDIR)
+
+clean-all: clean
+	rm -rf doc_venv
+
+# Catch-all target: route all unknown targets to Sphinx using the new
+# "make mode" option.  $(O) is meant as a shortcut for $(SPHINXOPTS).
+%: Makefile doc_venv | $(OTHER_REPO_DOCS)
+	source ./doc_venv/bin/activate ;\
+	set -u ;\
+	$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
diff --git a/VERSION b/VERSION
new file mode 100644
index 0000000..c0ab82c
--- /dev/null
+++ b/VERSION
@@ -0,0 +1 @@
+0.0.1-dev
diff --git a/_static/css/rtd_theme_mods.css b/_static/css/rtd_theme_mods.css
new file mode 100644
index 0000000..30da586
--- /dev/null
+++ b/_static/css/rtd_theme_mods.css
@@ -0,0 +1,25 @@
+/*
+ * Copyright 2019-present Open Networking Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.  */
+
+/* Don't restrict content width on the RTD theme
+ * from: https://stackoverflow.com/a/32898444 */
+
+.wy-nav-content {
+  max-width: none;
+}
+
+.wy-table-responsive table td, .wy-table-responsive table th {
+  white-space: normal;
+}
diff --git a/_static/fonts/Inconsolata-Bold.ttf b/_static/fonts/Inconsolata-Bold.ttf
new file mode 100644
index 0000000..9addc89
--- /dev/null
+++ b/_static/fonts/Inconsolata-Bold.ttf
Binary files differ
diff --git a/_static/fonts/Inconsolata-Regular.ttf b/_static/fonts/Inconsolata-Regular.ttf
new file mode 100644
index 0000000..592ccd2
--- /dev/null
+++ b/_static/fonts/Inconsolata-Regular.ttf
Binary files differ
diff --git a/architecture.rst b/architecture.rst
new file mode 100644
index 0000000..8e9f331
--- /dev/null
+++ b/architecture.rst
@@ -0,0 +1,2 @@
+Architecture and Design
+***********************
diff --git a/community.rst b/community.rst
new file mode 100644
index 0000000..a43d3a0
--- /dev/null
+++ b/community.rst
@@ -0,0 +1,11 @@
+Community and Resource
+**********************
+
+Slides
+======
+
+Videos
+======
+
+Community Channels
+==================
diff --git a/conf.py b/conf.py
new file mode 100644
index 0000000..6e16d1e
--- /dev/null
+++ b/conf.py
@@ -0,0 +1,244 @@
+# Copyright 2019-present Open Networking Foundation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# -*- coding: utf-8 -*-
+#
+# Configuration file for the Sphinx documentation builder.
+#
+# This file does only contain a selection of the most common options. For a
+# full list see the documentation:
+# http://www.sphinx-doc.org/en/master/config
+
+# -- Path setup --------------------------------------------------------------
+
+# If extensions (or modules to document with autodoc) are in another directory,
+# add these directories to sys.path here. If the directory is relative to the
+# documentation root, use os.path.abspath to make it absolute, like shown here.
+#
+# import os
+# import sys
+# sys.path.insert(0, os.path.abspath('.'))
+
+import os
+
+def get_version():
+    with open("VERSION") as f:
+        return f.read().strip()
+
+# -- Project information -----------------------------------------------------
+
+project = u'Trellis Docs'
+copyright = u'2019, Open Networking Foundation'
+author = u'Trellis Community'
+
+# The short X.Y version
+version = get_version()
+
+# The full version, including alpha/beta/rc tags
+release = get_version()
+
+# -- General configuration ---------------------------------------------------
+
+# If your documentation needs a minimal Sphinx version, state it here.
+#
+# needs_sphinx = '1.0'
+
+# make all warnings errors
+warning_is_error = True
+
+# Add any Sphinx extension module names here, as strings. They can be
+# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
+# ones.
+extensions = [
+    'recommonmark',
+    'sphinx.ext.coverage',
+    'sphinx.ext.ifconfig',
+    'sphinx.ext.mathjax',
+    'sphinx.ext.todo',
+    'sphinxcontrib.actdiag',
+    'sphinxcontrib.blockdiag',
+    'sphinxcontrib.nwdiag',
+    'sphinxcontrib.packetdiag',
+    'sphinxcontrib.rackdiag',
+    'sphinxcontrib.seqdiag',
+]
+
+# Add any paths that contain templates here, relative to this directory.
+templates_path = ['_templates']
+
+# The suffix(es) of source filenames.
+# You can specify multiple suffix as a list of string:
+#
+# source_suffix = ['.rst', '.md']
+source_suffix = ['.rst', '.md']
+
+# The master toctree document.
+master_doc = 'index'
+
+# The language for content autogenerated by Sphinx. Refer to documentation
+# for a list of supported languages.
+#
+# This is also used if you do content translation via gettext catalogs.
+# Usually you set "language" from the command line for these cases.
+language = None
+
+# List of patterns, relative to source directory, that match files and
+# directories to ignore when looking for source files.
+# This pattern also affects html_static_path and html_extra_path.
+exclude_patterns = [u'_build', 'doc_venv', 'requirements.txt', 'Thumbs.db', '.DS_Store', 'repos', '*/vendor']
+
+# The name of the Pygments (syntax highlighting) style to use.
+pygments_style = None
+
+# -- Options for HTML output -------------------------------------------------
+
+# The theme to use for HTML and HTML Help pages.  See the documentation for
+# a list of builtin themes.
+#
+html_theme = 'sphinx_rtd_theme'
+
+# Theme options are theme-specific and customize the look and feel of a theme
+# further.  For a list of options available for each theme, see the
+# documentation.
+#
+# html_theme_options = {}
+
+# Add any paths that contain custom static files (such as style sheets) here,
+# relative to this directory. They are copied after the builtin static files,
+# so a file named "default.css" will overwrite the builtin "default.css".
+html_static_path = ['_static']
+
+# Custom sidebar templates, must be a dictionary that maps document names
+# to template names.
+#
+# The default sidebars (for documents that don't match any pattern) are
+# defined by theme itself.  Builtin themes are using these templates by
+# default: ``['localtoc.html', 'relations.html', 'sourcelink.html',
+# 'searchbox.html']``.
+#
+# html_sidebars = {}
+
+
+# -- Options for HTMLHelp output ---------------------------------------------
+
+# Output file base name for HTML help builder.
+htmlhelp_basename = 'TrellisDocs'
+
+
+# -- Options for LaTeX output ------------------------------------------------
+
+latex_elements = {
+    # The paper size ('letterpaper' or 'a4paper').
+    #
+    # 'papersize': 'letterpaper',
+
+    # The font size ('10pt', '11pt' or '12pt').
+    #
+    # 'pointsize': '10pt',
+
+    # Additional stuff for the LaTeX preamble.
+    #
+    # 'preamble': '',
+
+    # Latex figure (float) alignment
+    #
+    # 'figure_align': 'htbp',
+}
+
+# Grouping the document tree into LaTeX files. List of tuples
+# (source start file, target name, title,
+#  author, documentclass [howto, manual, or own class]).
+latex_documents = [
+    (master_doc, 'TrellisDocs.tex', u'Trellis Docs',
+     u'Trellis Team', 'manual'),
+]
+
+
+# -- Options for manual page output ------------------------------------------
+
+# One entry per manual page. List of tuples
+# (source start file, name, description, authors, manual section).
+man_pages = [
+    (master_doc, 'Trellis Docs', u'Trellis Docs',
+     [author], 1)
+]
+
+
+# -- Options for Texinfo output ----------------------------------------------
+
+# Grouping the document tree into Texinfo files. List of tuples
+# (source start file, target name, title, author,
+#  dir menu entry, description, category)
+texinfo_documents = [
+    (master_doc, 'Trellis Docs', u'Trellis Docs',
+     author, 'TrellisDocs', 'One line description of project.',
+     'Miscellaneous'),
+]
+
+
+# -- Options for Epub output -------------------------------------------------
+
+# Bibliographic Dublin Core info.
+epub_title = project
+
+# The unique identifier of the text. This can be a ISBN number
+# or the project homepage.
+#
+# epub_identifier = ''
+
+# A unique identification for the text.
+#
+# epub_uid = ''
+
+# A list of files that should not be packed into the epub file.
+epub_exclude_files = ['search.html']
+
+
+# -- Extension configuration -------------------------------------------------
+
+# blockdiag/etc. config
+
+rackdiag_antialias = True
+rackdiag_html_image_format = "SVG"
+rackdiag_fontpath = [
+    "_static/fonts/Inconsolata-Regular.ttf",
+    "_static/fonts/Inconsolata-Bold.ttf",
+]
+
+nwdiag_antialias = True
+nwdiag_html_image_format = "SVG"
+nwdiag_fontpath = [
+    "_static/fonts/Inconsolata-Regular.ttf",
+    "_static/fonts/Inconsolata-Bold.ttf",
+]
+
+# -- Options for todo extension ----------------------------------------------
+# If true, `todo` and `todoList` produce output, else they produce nothing.
+todo_include_todos = True
+
+# -- Configure recommonmark to use AutoStructify -----------------------------
+# Docs: https://recommonmark.readthedocs.io/en/latest/auto_structify.html
+
+import recommonmark
+from recommonmark.transform import AutoStructify
+
+def setup(app):
+
+    app.add_css_file('css/rtd_theme_mods.css')
+
+    app.add_config_value('recommonmark_config', {
+            'auto_toc_tree_section': 'Contents',
+            }, True)
+
+    app.add_transform(AutoStructify)
diff --git a/configuration.rst b/configuration.rst
new file mode 100644
index 0000000..bf19316
--- /dev/null
+++ b/configuration.rst
@@ -0,0 +1,35 @@
+Feature and Configuration
+*************************
+
+Configuration Basics
+====================
+
+Device Configuration
+====================
+
+Bridging and Unicast Routing
+============================
+
+Dual Homing
+===========
+
+External Connectivity
+=====================
+
+DHCP Relay
+==========
+
+Multicast
+=========
+
+VLAN Cross Connect
+==================
+
+AAA
+===
+
+Pseudowire
+==========
+
+MAC Security
+============
diff --git a/index.rst b/index.rst
new file mode 100644
index 0000000..71fd437
--- /dev/null
+++ b/index.rst
@@ -0,0 +1,24 @@
+Trellis Documentation
+*********************
+
+This documents the Trellis project
+
+.. toctree::
+   :maxdepth: 1
+   :caption: Table of Content
+
+   intro
+   architecture
+   installation
+   configuration
+   operation
+   troubleshooting
+   testing
+   community
+
+
+.. toctree::
+   :maxdepth: 1
+   :caption: Documentation Notes
+
+   readme
diff --git a/installation.rst b/installation.rst
new file mode 100644
index 0000000..add98ac
--- /dev/null
+++ b/installation.rst
@@ -0,0 +1,44 @@
+Installation
+************
+
+BOM
+===
+
+Edgecore Switches
+=================
+
+Install ONOS
+------------
+
+Install ONL
+-----------
+
+Install OF-DPA
+--------------
+
+QCT Switches
+============
+
+Install ONOS
+------------
+
+Install ONL
+-----------
+
+Install OF-DPA
+--------------
+
+Delta Switches
+==============
+
+Install ONOS
+------------
+
+Install ONL
+-----------
+
+Install OF-DPA
+--------------
+
+Trellis in a Box (TiaB)
+=======================
diff --git a/intro.rst b/intro.rst
new file mode 100644
index 0000000..73b48c6
--- /dev/null
+++ b/intro.rst
@@ -0,0 +1,2 @@
+Introduction
+************
diff --git a/operation.rst b/operation.rst
new file mode 100644
index 0000000..7c158d1
--- /dev/null
+++ b/operation.rst
@@ -0,0 +1,2 @@
+Operation
+*********
diff --git a/readme.rst b/readme.rst
new file mode 100644
index 0000000..6863626
--- /dev/null
+++ b/readme.rst
@@ -0,0 +1,51 @@
+Documentation Guide
+===================
+
+Building the Docs
+------------------
+
+The documentation build process is stored in the Makefile. Building docs
+requires Python to be installed, and most steps will create a virtualenv
+(``doc_venv``) which install the documentation generation toolset.
+
+Run ``make html`` to generate html documentation in ``_build/html``.
+
+Run ``make reload`` to get a live reload in your browser (refreshes on document
+save).
+
+To check the formatting of documentation, run ``make lint``. This will be done
+in Jenkins to validate the documentation, so please do this before you create a
+patchset.
+
+Writing Docs
+------------
+
+Docs are generated using Sphinx: http://www.sphinx-doc.org
+
+Documentation is done in `reStructuredText
+<http://www.sphinx-doc.org/en/master/usage/restructuredtext/index.html>`__
+(``.rst``)  or the `CommonMark flavor of Markdown
+<https://spec.commonmark.org/>`__ (``.md``), but only .rst files can use certain
+features like embedded diagrams or tables.
+
+One tool that is useful for converting between text formats is `Pandoc
+<https://pandoc.org>`__ - for example, to convert a ``.html`` file to ``.rst``,
+you can run ``pandoc file.html -o file.rst``.
+
+Creating Diagrams
+-----------------
+
+The blockdiag suite of tools can be used for inline diagramming in ``.rst``
+files:
+
+- Block diagrams: http://blockdiag.com/en/blockdiag/sphinxcontrib.html
+- Network diagrams (& racks): http://blockdiag.com/en/nwdiag/sphinxcontrib.html
+
+Attributes that can be applied to nodes:
+http://blockdiag.com/en/blockdiag/attributes/node.attributes.html
+
+Examples:
+
+- blockdiag: http://blockdiag.com/en/blockdiag/examples.html
+- nwdiag: http://blockdiag.com/en/nwdiag/nwdiag-examples.html
+- rackdiag: http://blockdiag.com/en/nwdiag/rackdiag-examples.html
diff --git a/requirements.txt b/requirements.txt
new file mode 100644
index 0000000..7dc66f2
--- /dev/null
+++ b/requirements.txt
@@ -0,0 +1,14 @@
+Sphinx~=1.8.5
+actdiag~=0.5.4
+blockdiag~=1.5.4
+doc8~=0.8.0
+livereload~=2.6.1
+nwdiag~=1.0.4
+recommonmark~=0.6.0
+seqdiag~=0.9.6
+sphinx-reload~=0.2.0
+sphinx-rtd-theme~=0.4.3
+sphinxcontrib-actdiag~=0.8.5
+sphinxcontrib-blockdiag~=1.5.5
+sphinxcontrib-nwdiag~=0.9.5
+sphinxcontrib-seqdiag~=0.8.5
diff --git a/testing.rst b/testing.rst
new file mode 100644
index 0000000..f01af3d
--- /dev/null
+++ b/testing.rst
@@ -0,0 +1,8 @@
+Testing
+*******
+
+Controller Feature Test (TestON)
+================================
+
+Switch Conformance Test (OFTest)
+================================
diff --git a/troubleshooting.rst b/troubleshooting.rst
new file mode 100644
index 0000000..0bffb8a
--- /dev/null
+++ b/troubleshooting.rst
@@ -0,0 +1,2 @@
+Troubleshooting
+***************
