diff --git a/main.distribution/doc/apache-felix-gogo.html b/main.distribution/doc/apache-felix-gogo.html
new file mode 100644
index 0000000..3d18fe2
--- /dev/null
+++ b/main.distribution/doc/apache-felix-gogo.html
@@ -0,0 +1,70 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head>
+
+
+  
+    <title>Apache Felix - Apache Felix Gogo</title>
+    <link rel="stylesheet" href="apache-felix-gogo-Dateien/site.css" type="text/css" media="all">
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+  </head><body>
+    <div class="title"><div class="logo"><a href="http://felix.apache.org/site/index.html"><img alt="Apache Felix" src="apache-felix-gogo-Dateien/logo.png" border="0"></a></div><div class="header"><a href="http://www.apache.org/"><img alt="Apache" src="apache-felix-gogo-Dateien/apache.png" border="0"></a></div></div>
+    <div class="menu">
+<ul>
+	<li><a href="http://felix.apache.org/site/news.html" title="news">news</a></li>
+	<li><a href="http://felix.apache.org/site/license.html" title="license">license</a></li>
+	<li><a href="http://felix.apache.org/site/downloads.cgi" class="external-link" rel="nofollow">downloads</a></li>
+	<li><a href="http://felix.apache.org/site/documentation.html" title="documentation">documentation</a></li>
+	<li><a href="http://felix.apache.org/site/mailinglists.html" title="mailinglists">mailing lists</a></li>
+	<li><a href="http://felix.apache.org/site/contributing.html" title="Contributing">contributing</a></li>
+	<li><a href="http://www.apache.org/" class="external-link" rel="nofollow">asf</a></li>
+	<li><a href="http://www.apache.org/foundation/sponsorship.html" class="external-link" rel="nofollow">sponsorship</a></li>
+	<li><a href="http://www.apache.org/foundation/thanks.html" class="external-link" rel="nofollow">sponsors</a>
+<!-- ApacheCon Ad -->
+<iframe src="apache-felix-gogo-Dateien/button.html" style="border-width: 0pt; float: left;" frameborder="0" height="135" scrolling="no" width="135"></iframe>
+<p style="height: 100px;">
+<!-- ApacheCon Ad -->
+</p></li></ul>
+    </div>
+    <div class="main">
+<h1><a name="ApacheFelixGogo-ApacheFelixGogo"></a>Apache Felix Gogo</h1>
+
+<p>Apache Felix Gogo is a subproject of Apache Felix implementing the
+OSGi RFC 147, which describes a standard shell for OSGi-based
+environments. See <a href="http://felix.apache.org/site/rfc-147-overview.html" title="RFC 147 Overview">RFC 147 Overview</a> for more information.</p>
+
+<h2><a name="ApacheFelixGogo-UsingGogowiththeFelixFramework"></a>Using Gogo with the Felix Framework</h2>
+
+<p>The Gogo subproject consists of three bundles:</p>
+
+<ol>
+	<li><b>runtime</b> - implements the core command processing functionality.</li>
+	<li><b>shell</b> - provides a simple textual user interface to interact with the command processor.</li>
+	<li><b>command</b> - implements a set of basic commands.</li>
+</ol>
+
+
+<p>As of the Apache Felix Framework 3.0.0, Gogo is included as the
+default shell in the framework distribution. To use it, you just start
+the framework like normal:</p>
+
+<div class="preformatted panel" style="border-width: 1px;"><div class="preformattedContent panelContent">
+<pre>$ cd felix-framework-3.0.0
+$ java -jar bin/felix.jar
+_______________
+Welcome to Apache Felix Gogo
+
+g! lb
+START LEVEL 1
+   ID|State      |Level|Name
+    0|Active     |    0|System Bundle (3.0.0)
+    1|Active     |    1|Apache Felix Bundle Repository (1.6.2)
+    2|Active     |    1|Apache Felix Gogo Command (0.6.0)
+    3|Active     |    1|Apache Felix Gogo Runtime (0.6.0)
+    4|Active     |    1|Apache Felix Gogo Shell (0.6.0)
+g! 
+</pre>
+</div></div>
+
+<p>Gogo shell integration in the framework distribution is also discussed in the <a href="http://felix.apache.org/site/apache-felix-framework-usage-documentation.html" title="Apache Felix Framework Usage Documentation">framework usage document</a></p>
+    </div>
+  </body></html>
\ No newline at end of file
