diff --git a/docs/administration.rst b/docs/administration.rst
new file mode 100644
index 0000000..94a7407
--- /dev/null
+++ b/docs/administration.rst
@@ -0,0 +1,24 @@
+.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+.. http://creativecommons.org/licenses/by/4.0
+
+Administration
+==============
+
+
+.. note::
+   * This section is used to describe a software component from the perspective of on-going
+     operation including regular processes and actions that are taken to configure and manage
+     the component. 
+   
+   * This section is typically: provided for platform-component or applications; and
+     referenced in user guides
+   
+   * This note must be removed after content has been added.
+
+
+Processes
+---------
+
+
+Actions
+-------
diff --git a/docs/architecture.rst b/docs/architecture.rst
new file mode 100644
index 0000000..8daa0d3
--- /dev/null
+++ b/docs/architecture.rst
@@ -0,0 +1,27 @@
+.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+.. http://creativecommons.org/licenses/by/4.0
+
+Architecture
+============
+
+.. note::
+   * This section is used to describe a software component from a high level
+     view of capability, common usage scenarios, and interactions with other
+     components required in the usage scenarios.  
+   
+   * The architecture section is typically: provided in a platform-component
+     and sdk collections; and referenced from developer and user guides.
+   
+   * This note must be removed after content has been added.
+
+
+Capabilities
+------------
+
+
+Usage Scenarios
+---------------
+
+
+Interactions
+------------
diff --git a/docs/configuration.rst b/docs/configuration.rst
new file mode 100644
index 0000000..085f9c6
--- /dev/null
+++ b/docs/configuration.rst
@@ -0,0 +1,27 @@
+.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+.. http://creativecommons.org/licenses/by/4.0
+
+Configuration
+=============
+
+.. note::
+   * This section is used to describe the options a software component offers for configuration.
+
+   * Configuration is typically: provided for platform-component and sdk projects;
+     and referenced in developer and user guides.
+   
+   * This note must be removed after content has been added.
+
+
+
+Example ...
+
+You can provide the following in ``basic.conf``
+
+``host=ADDRESS``
+  The address of the host
+
+``port=PORT``
+  The port used for signaling
+
+  Optional. Default: ``8080``
diff --git a/docs/consumedapis.rst b/docs/consumedapis.rst
new file mode 100644
index 0000000..c2af4c2
--- /dev/null
+++ b/docs/consumedapis.rst
@@ -0,0 +1,16 @@
+.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+.. http://creativecommons.org/licenses/by/4.0
+
+Consumed APIs
+=============
+
+.. note::
+   * This section is used to reference APIs that a software component depends on
+     and uses from other sources.  
+   
+   * Consumed APIs should be a specific link to the offered APIs from another component
+     or external source.
+
+   * This note must be removed after content has been added.
+
+
diff --git a/docs/delivery.rst b/docs/delivery.rst
new file mode 100644
index 0000000..f3f083a
--- /dev/null
+++ b/docs/delivery.rst
@@ -0,0 +1,44 @@
+.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+.. http://creativecommons.org/licenses/by/4.0
+
+Delivery
+========
+
+.. note::
+   * This section is used to describe a software component packaging.
+     For a run-time component this might be executable images, containers, etc.
+     For an SDK this might be libraries.
+
+   * This section is typically provided for a platform-component and sdk;
+     and referenced in developer and user guides
+   
+   * This note must be removed after content has been added.
+
+Example use of a block diagram.
+
+.. blockdiag::
+   
+
+   blockdiag layers {
+   orientation = portrait
+   a -> m;
+   b -> n;
+   c -> x;
+   m -> y;
+   m -> z;
+   group l1 {
+	color = blue;
+	x; y; z;
+	}
+   group l2 {
+	color = yellow;
+	m; n; 
+	}
+   group l3 {
+	color = orange;
+	a; b; c;
+	}
+
+   }
+
+
diff --git a/docs/humaninterfaces.rst b/docs/humaninterfaces.rst
new file mode 100644
index 0000000..4292846
--- /dev/null
+++ b/docs/humaninterfaces.rst
@@ -0,0 +1,17 @@
+.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+.. http://creativecommons.org/licenses/by/4.0
+
+Human Interfaces
+================
+
+.. note::
+   * This section is used to describe a software component's command line and graphical
+     user interfaces.
+   
+   * This section is typically: provided for a platform-component and application; and
+     referenced from  user guides.
+   
+   * This note must be removed after content has been added.
+
+
+
diff --git a/docs/index.rst b/docs/index.rst
index b4ceb80..7ba626a 100644
--- a/docs/index.rst
+++ b/docs/index.rst
@@ -5,6 +5,14 @@
 
 .. toctree::
    :maxdepth: 2
-
-	releases/index
-	onap-developer/index
+   
+   administration.rst
+   architecture.rst
+   configuration.rst
+   consumedapis.rst
+   delivery.rst
+   humaninterfaces.rst
+   installation.rst
+   logging.rst
+   offeredapis.rst
+   release-notes.rst
diff --git a/docs/installation.rst b/docs/installation.rst
new file mode 100644
index 0000000..be64a63
--- /dev/null
+++ b/docs/installation.rst
@@ -0,0 +1,20 @@
+.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+.. http://creativecommons.org/licenses/by/4.0
+
+Installation
+============
+
+.. note::
+   * This section is used to describe how a software component is acquired and installed.
+   
+   * This section is typically: provided for a platform-component and application; and
+     referenced in user guides.
+
+   * This note must be removed after content has been added.
+
+Environment
+-----------
+
+
+Steps
+-----
diff --git a/docs/onap-developer/docs-templates-platform-component-logging.rst b/docs/logging.rst
similarity index 94%
rename from docs/onap-developer/docs-templates-platform-component-logging.rst
rename to docs/logging.rst
index eed1568..b1ce120 100644
--- a/docs/onap-developer/docs-templates-platform-component-logging.rst
+++ b/docs/logging.rst
@@ -1,9 +1,17 @@
 .. This work is licensed under a Creative Commons Attribution 4.0 International License.
 .. http://creativecommons.org/licenses/by/4.0
 
-Logging & Diagnostic Information
---------------------------------
-Description on how to interact with and diagnose problems with the components as delivered.
+Logging
+=======
+
+.. note::
+   * This section is used to describe the informational or diagnostic messages emitted from 
+     a software component and the methods or collecting them.
+   
+   * This section is typically: provided for a platform-component and sdk; and
+     referenced in developer and user guides
+   
+   * This note must be removed after content has been added.
 
 +--------+------------------------------------------+---------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+---------------------+
 | Server | Location                                 | Type                | Description                                                                                                                                                                               | Rolling             |
@@ -35,4 +43,12 @@
 |        | /data/logs/FE/SDC/SDC-FE/all.log         | application logging | On demand we can enable log aggregation into one file for easier debuging, by editing the logback.xml inside the server docker.The file is located under: config/catalog-fe/logback.xml.  | rolls               |
 |        |                                          |                     | To allow this logger set this property to true                                                                                                                                            |                     |
 |        |                                          |                     | This log holds all the logging output of the application.                                                                                                                                 |                     |
-+--------+------------------------------------------+---------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+---------------------+
\ No newline at end of file
++--------+------------------------------------------+---------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+---------------------+
+
+
+Where to Access Information
+---------------------------
+
+
+Error / Warning Messages
+------------------------
diff --git a/docs/offeredapis.rst b/docs/offeredapis.rst
new file mode 100644
index 0000000..23504c1
--- /dev/null
+++ b/docs/offeredapis.rst
@@ -0,0 +1,14 @@
+.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+.. http://creativecommons.org/licenses/by/4.0
+
+Offered APIs
+============
+
+.. note::
+   * This section is used to describe the external interfaces offered by a software component
+   
+   * This section is typically: provided for a  platform-component and sdk; and 
+     referenced in developer guides and api reference manuals.
+   
+   * This note must be removed after content has been added.
+
diff --git a/docs/onap-developer/docs-templates-platform-component-administration.rst b/docs/onap-developer/docs-templates-platform-component-administration.rst
deleted file mode 100644
index 1d512cf..0000000
--- a/docs/onap-developer/docs-templates-platform-component-administration.rst
+++ /dev/null
@@ -1,19 +0,0 @@
-.. This work is licensed under a Creative Commons Attribution 4.0 International License.
-.. http://creativecommons.org/licenses/by/4.0
-
-
-Administration
---------------
-Describe expected changes and the processes and actions taken for each.
-
-
-Processes
-+++++++++
-* Process 1
-* Process 2
-
-Actions
-+++++++
-* Action X
-* Action Y
-
diff --git a/docs/onap-developer/docs-templates-platform-component-architecture.rst b/docs/onap-developer/docs-templates-platform-component-architecture.rst
deleted file mode 100644
index fd46637..0000000
--- a/docs/onap-developer/docs-templates-platform-component-architecture.rst
+++ /dev/null
@@ -1,7 +0,0 @@
-.. This work is licensed under a Creative Commons Attribution 4.0 International License.
-.. http://creativecommons.org/licenses/by/4.0
-
-
-Architecture
-------------
-Describe the architecture and design of the platform component.
diff --git a/docs/onap-developer/docs-templates-platform-component-configuration.rst b/docs/onap-developer/docs-templates-platform-component-configuration.rst
deleted file mode 100644
index c0c969f..0000000
--- a/docs/onap-developer/docs-templates-platform-component-configuration.rst
+++ /dev/null
@@ -1,19 +0,0 @@
-.. This work is licensed under a Creative Commons Attribution 4.0 International License.
-.. http://creativecommons.org/licenses/by/4.0
-
-Configuration
--------------
-Describe configurations how to provide parameters and value
-
-Basic Setup
-+++++++++++
-
-You can provide the following in ``basic.conf``
-
-``host=ADDRESS``
-  The address of the host
-
-``port=PORT``
-  The port used for signaling
-
-  Optional. Default: ``8080``
diff --git a/docs/onap-developer/docs-templates-platform-component-consumedapis.rst b/docs/onap-developer/docs-templates-platform-component-consumedapis.rst
deleted file mode 100644
index c4309cd..0000000
--- a/docs/onap-developer/docs-templates-platform-component-consumedapis.rst
+++ /dev/null
@@ -1,8 +0,0 @@
-.. This work is licensed under a Creative Commons Attribution 4.0 International License.
-.. http://creativecommons.org/licenses/by/4.0
-
-Consumed APIs
-=============
-References to APIs offered by other components
-
-
diff --git a/docs/onap-developer/docs-templates-platform-component-delivery.rst b/docs/onap-developer/docs-templates-platform-component-delivery.rst
deleted file mode 100644
index cfcab04..0000000
--- a/docs/onap-developer/docs-templates-platform-component-delivery.rst
+++ /dev/null
@@ -1,31 +0,0 @@
-Delivery
---------
-Describe how functions are packaged into run-time components.
-For some components a block diagram may be useful.
-
-.. blockdiag::
-   
-
-   blockdiag layers {
-   orientation = portrait
-   a -> m;
-   b -> n;
-   c -> x;
-   m -> y;
-   m -> z;
-   group l1 {
-	color = blue;
-	x; y; z;
-	}
-   group l2 {
-	color = yellow;
-	m; n; 
-	}
-   group l3 {
-	color = orange;
-	a; b; c;
-	}
-
-   }
-
-
diff --git a/docs/onap-developer/docs-templates-platform-component-humaninterfaces.rst b/docs/onap-developer/docs-templates-platform-component-humaninterfaces.rst
deleted file mode 100644
index 03cc875..0000000
--- a/docs/onap-developer/docs-templates-platform-component-humaninterfaces.rst
+++ /dev/null
@@ -1,19 +0,0 @@
-.. This work is licensed under a Creative Commons Attribution 4.0 International License.
-.. http://creativecommons.org/licenses/by/4.0
-
-Human Interfaces
-----------------
-Provide info on the targeted user, interface types, ports/protocols to access, etc.
-
-Target Users
-++++++++++++
-
-Interface Type
-++++++++++++++
-
-Access
-++++++
-
-
-
-
diff --git a/docs/onap-developer/docs-templates-platform-component-index.rst b/docs/onap-developer/docs-templates-platform-component-index.rst
deleted file mode 100644
index d5db511..0000000
--- a/docs/onap-developer/docs-templates-platform-component-index.rst
+++ /dev/null
@@ -1,20 +0,0 @@
-.. This work is licensed under a Creative Commons Attribution 4.0 International License.
-.. http://creativecommons.org/licenses/by/4.0
-
-Platform Component
-==================
-Provide an overview of the ONAP Platform component capabilities here.
-Add or remove sections below as appropriate for the platform component.
-
-.. toctree::
-   :maxdepth: 1
-
-   architecture.rst
-   offeredapis.rst
-   consumedapis.rst
-   delivery.rst
-   logging.rst
-   installation.rst
-   configuration.rst
-   administration.rst
-   humaninterfaces.rst
diff --git a/docs/onap-developer/docs-templates-platform-component-installation.rst b/docs/onap-developer/docs-templates-platform-component-installation.rst
deleted file mode 100644
index 3238236..0000000
--- a/docs/onap-developer/docs-templates-platform-component-installation.rst
+++ /dev/null
@@ -1,14 +0,0 @@
-.. This work is licensed under a Creative Commons Attribution 4.0 International License.
-.. http://creativecommons.org/licenses/by/4.0
-
-Installation
-------------
-Describe the environment and steps to install.
-
-
-Environment
-+++++++++++
-
-
-Steps
-+++++
diff --git a/docs/onap-developer/docs-templates-platform-component-offeredapis.rst b/docs/onap-developer/docs-templates-platform-component-offeredapis.rst
deleted file mode 100644
index 55e58bd..0000000
--- a/docs/onap-developer/docs-templates-platform-component-offeredapis.rst
+++ /dev/null
@@ -1,29 +0,0 @@
-.. This work is licensed under a Creative Commons Attribution 4.0 International License.
-.. http://creativecommons.org/licenses/by/4.0
-
-
-Offered APIs
-============
-List APIs offered.   One or more of the following examples may be appropriate.
-
-Example Swagger Displayed with swaggerv2doc directive
------------------------------------------------------
-
-.. swaggerv2doc:: https://gerrit.onap.org/r/gitweb?p=vfc/nfvo/lcm.git;a=blob_plain;f=lcm/swagger/vfc.nslcm.swagger.json
-
-
-Example documenting a REST interface with Sphinx httpdomain directive
----------------------------------------------------------------------
-
-.. http:get:: path
-
-   For more information see `<https://pythonhosted.org/sphinxcontrib-httpdomain>`_
-
-
-Word Document Converted to RST using Pandocs
---------------------------------------------
-
-.. toctree:: 
-   :maxdepth: 1
-
-   ../../submodules/appc.git/docs/APPC API Guide/APPC API Guide
diff --git a/docs/release-notes.rst b/docs/release-notes.rst
new file mode 100644
index 0000000..b568bee
--- /dev/null
+++ b/docs/release-notes.rst
@@ -0,0 +1,48 @@
+.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+
+Release Notes
+=============
+
+.. note::
+	* This Release Notes must be updated each time the team decides to Release new artifacts.
+	* The scope of this Release Notes is for this particular component. In other words, each ONAP component has its Release Notes.
+	* This Release Notes is cumulative, the most recently Released artifact is made visible in the top of this Release Notes.
+	* Except the date and the version number, all the other sections are optional but there must be at least one section describing the purpose of this new release.
+	* This note must be removed after content has been added.
+
+
+Version: x.y.z
+--------------
+
+
+:Release Date: yyyy-mm-dd
+
+
+
+**New Features**
+
+One or two sentences explaining the purpose of this Release.
+
+**Bug Fixes**
+	- `CIMAN-65 <https://jira.onap.org/browse/CIMAN-65>`_ and a sentence explaining what this defect is addressing.
+**Known Issues**
+	- `CIMAN-65 <https://jira.onap.org/browse/CIMAN-65>`_ and two, three sentences.
+	  One sentences explaining what is the issue.
+	  
+	  Another sentence explaining the impact of the issue.
+	  
+	  And an optional sentence providing a workaround.
+
+**Security Issues**
+	You may want to include a reference to CVE (Common Vulnerabilities and Exposures) `CVE <https://cve.mitre.org>`_
+
+
+**Upgrade Notes**
+
+**Deprecation Notes**
+
+**Other**
+
+===========
+
+End of Release Notes
diff --git a/docs/releases/docs-templates-release-notes-bug-fixes.rst b/docs/releases/docs-templates-release-notes-bug-fixes.rst
deleted file mode 100644
index ee4ff9f..0000000
--- a/docs/releases/docs-templates-release-notes-bug-fixes.rst
+++ /dev/null
@@ -1,5 +0,0 @@
-.. This work is licensed under a Creative Commons Attribution 4.0 International License.
-
-Bug Fixes
----------
-
diff --git a/docs/releases/docs-templates-release-notes-deprecation-notes.rst b/docs/releases/docs-templates-release-notes-deprecation-notes.rst
deleted file mode 100644
index e954e87..0000000
--- a/docs/releases/docs-templates-release-notes-deprecation-notes.rst
+++ /dev/null
@@ -1,5 +0,0 @@
-.. This work is licensed under a Creative Commons Attribution 4.0 International License.
-
-Deprecation Notes
------------------
-
diff --git a/docs/releases/docs-templates-release-notes-index.rst b/docs/releases/docs-templates-release-notes-index.rst
deleted file mode 100644
index adc76f9..0000000
--- a/docs/releases/docs-templates-release-notes-index.rst
+++ /dev/null
@@ -1,15 +0,0 @@
-.. This work is licensed under a Creative Commons Attribution 4.0 International License.
-
-Release Notes
-=============
-
-.. toctree::
-    :maxdepth: 2
-
-    new-features.rst
-    bug-fixes.rst
-    known-issues.rst
-    security-issues.rst
-    upgrade-notes.rst
-    deprecation-notes.rst
-    other.rst
diff --git a/docs/releases/docs-templates-release-notes-known-issues.rst b/docs/releases/docs-templates-release-notes-known-issues.rst
deleted file mode 100644
index 01c93d1..0000000
--- a/docs/releases/docs-templates-release-notes-known-issues.rst
+++ /dev/null
@@ -1,5 +0,0 @@
-.. This work is licensed under a Creative Commons Attribution 4.0 International License.
-
-Known Issues
-------------
-
diff --git a/docs/releases/docs-templates-release-notes-new-features.rst b/docs/releases/docs-templates-release-notes-new-features.rst
deleted file mode 100644
index ab86bb9..0000000
--- a/docs/releases/docs-templates-release-notes-new-features.rst
+++ /dev/null
@@ -1,5 +0,0 @@
-.. This work is licensed under a Creative Commons Attribution 4.0 International License.
-
-New Features
-------------
-
diff --git a/docs/releases/docs-templates-release-notes-other.rst b/docs/releases/docs-templates-release-notes-other.rst
deleted file mode 100644
index 2ce683b..0000000
--- a/docs/releases/docs-templates-release-notes-other.rst
+++ /dev/null
@@ -1,5 +0,0 @@
-.. This work is licensed under a Creative Commons Attribution 4.0 International License.
-
-Other
------
-
diff --git a/docs/releases/docs-templates-release-notes-security-issues.rst b/docs/releases/docs-templates-release-notes-security-issues.rst
deleted file mode 100644
index 96e1fe9..0000000
--- a/docs/releases/docs-templates-release-notes-security-issues.rst
+++ /dev/null
@@ -1,5 +0,0 @@
-.. This work is licensed under a Creative Commons Attribution 4.0 International License.
-
-Security Issues
----------------
-
diff --git a/docs/releases/docs-templates-release-notes-upgrade-notes.rst b/docs/releases/docs-templates-release-notes-upgrade-notes.rst
deleted file mode 100644
index f31c74a..0000000
--- a/docs/releases/docs-templates-release-notes-upgrade-notes.rst
+++ /dev/null
@@ -1,5 +0,0 @@
-.. This work is licensed under a Creative Commons Attribution 4.0 International License.
-
-Upgrade Notes
--------------
-
diff --git a/docs/releases/index.rst b/docs/releases/index.rst
deleted file mode 100644
index eabde3a..0000000
--- a/docs/releases/index.rst
+++ /dev/null
@@ -1,32 +0,0 @@
-.. This work is licensed under a Creative Commons Attribution 4.0 International License.
-
-
-Releases
-========
-ONAP is developed and released around 6 month cycles.   After an initial major release, additional
-stable point releases may be created.
-
-Major Releases
---------------
-
-.. csv-table:: 
-   :align: left
-   :header-rows: 0
-   :header: "Release", "Status", "Initial Release Date", "Next Phase", "EOL Date"
-   :widths:  15,       10,       10,                     15,           10
-
-   "Amsterdam", "Under Development", "TBD",   "",  ""
-   "R1.0.0 Seed Code", "EOL", "2017-04-XX", "", ""
-
-
-.. include:: repolist.rst
-
-
-Cryptographic Signatures
-------------------------
-
-
-References
-----------
-
-
