diff --git a/.classpath b/.classpath
new file mode 100644
index 0000000..953de0b
--- /dev/null
+++ b/.classpath
@@ -0,0 +1,36 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..ea8c4bf
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+/target
diff --git a/.project b/.project
new file mode 100644
index 0000000..467251e
--- /dev/null
+++ b/.project
@@ -0,0 +1,23 @@
+
+
+ blueprint-converter
+
+
+
+
+
+ org.eclipse.jdt.core.javabuilder
+
+
+
+
+ org.eclipse.m2e.core.maven2Builder
+
+
+
+
+
+ org.eclipse.jdt.core.javanature
+ org.eclipse.m2e.core.maven2Nature
+
+
diff --git a/.settings/org.eclipse.core.resources.prefs b/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..29abf99
--- /dev/null
+++ b/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,6 @@
+eclipse.preferences.version=1
+encoding//src/main/java=UTF-8
+encoding//src/main/resources=UTF-8
+encoding//src/test/java=UTF-8
+encoding//src/test/resources=UTF-8
+encoding/=UTF-8
diff --git a/.settings/org.eclipse.jdt.core.prefs b/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..ec4300d
--- /dev/null
+++ b/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,5 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
+org.eclipse.jdt.core.compiler.compliance=1.7
+org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
+org.eclipse.jdt.core.compiler.source=1.7
diff --git a/.settings/org.eclipse.m2e.core.prefs b/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000..f897a7f
--- /dev/null
+++ b/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/pom.xml b/pom.xml
new file mode 100644
index 0000000..b5eb42b
--- /dev/null
+++ b/pom.xml
@@ -0,0 +1,44 @@
+
+ 4.0.0
+
+ de.taimos
+ standalone-parent
+ 1-SNAPSHOT
+
+ org.restdoc.blueprint
+ blueprint-converter
+ 0.1-SNAPSHOT
+ RestDoc to Blueprint converter
+
+ org.restdoc.blueprint.converter.Starter
+
+
+ scm:git:git@github.com:taimos/velocity-cli.git
+ scm:git:git@github.com:taimos/velocity-cli.git
+ scm:git:git@github.com:taimos/velocity-cli.git
+ HEAD
+
+
+
+ org.apache.velocity
+ velocity
+ 1.7
+
+
+ org.apache.velocity
+ velocity-tools
+ 2.0
+
+
+ de.taimos
+ httputils
+ 1.7
+
+
+ org.restdoc
+ restdoc-api
+ 1.4
+
+
+
\ No newline at end of file
diff --git a/src/main/java/.gitkeep b/src/main/java/.gitkeep
new file mode 100644
index 0000000..e69de29
diff --git a/src/main/java/org/restdoc/blueprint/converter/Starter.java b/src/main/java/org/restdoc/blueprint/converter/Starter.java
new file mode 100644
index 0000000..4c84ee5
--- /dev/null
+++ b/src/main/java/org/restdoc/blueprint/converter/Starter.java
@@ -0,0 +1,66 @@
+package org.restdoc.blueprint.converter;
+
+import java.io.FileWriter;
+import java.io.IOException;
+
+import org.apache.commons.lang.CharEncoding;
+import org.apache.http.HttpResponse;
+import org.apache.velocity.Template;
+import org.apache.velocity.VelocityContext;
+import org.apache.velocity.app.Velocity;
+import org.apache.velocity.runtime.RuntimeConstants;
+import org.apache.velocity.tools.generic.DateTool;
+import org.apache.velocity.tools.generic.MathTool;
+import org.restdoc.api.RestDoc;
+import org.restdoc.api.util.RestDocParser;
+
+import de.taimos.httputils.WS;
+
+/**
+ * Copyright 2014 Hoegernet
+ *
+ *
+ * @author Thorsten Hoeger
+ *
+ */
+public class Starter {
+
+ public static void main(String[] args) throws IOException {
+ if (args.length != 1) {
+ System.err.println("usage: restdoc2blueprint ");
+ }
+ String url = args[0];
+
+ RestDoc doc = Starter.fetchDoc(url);
+
+ Velocity.setProperty(RuntimeConstants.RESOURCE_LOADER, "class");
+ Velocity.setProperty("class.resource.loader.class", "org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader");
+ Velocity.init();
+ VelocityContext context = new VelocityContext();
+ context.put("mathTool", new MathTool());
+ context.put("dateTool", new DateTool());
+ context.put("rd", doc);
+
+ Template template = Velocity.getTemplate("velocity/blueprint.vm", CharEncoding.UTF_8);
+
+ // try (OutputStreamWriter out = new OutputStreamWriter(System.out, CharEncoding.UTF_8);) {
+ // template.merge(context, out);
+ // } catch (IOException e) {
+ // e.printStackTrace();
+ // }
+ try (FileWriter out = new FileWriter("blueprint.md");) {
+ template.merge(context, out);
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ }
+
+ private static RestDoc fetchDoc(String url) throws IOException {
+ HttpResponse res = WS.url(url).options();
+ if (WS.isStatusOK(res)) {
+ String string = WS.getResponseAsString(res);
+ return RestDocParser.parseString(string);
+ }
+ throw new IOException("invalid HTTP code: " + WS.getStatus(res));
+ }
+}
diff --git a/src/main/resources/.gitkeep b/src/main/resources/.gitkeep
new file mode 100644
index 0000000..e69de29
diff --git a/src/main/resources/velocity/blueprint.vm b/src/main/resources/velocity/blueprint.vm
new file mode 100644
index 0000000..f66e608
--- /dev/null
+++ b/src/main/resources/velocity/blueprint.vm
@@ -0,0 +1,35 @@
+#set( $H = '#' )
+
+#foreach($resource in ${rd.resources})
+$H #if (${resource.id}) ${resource.id} [${resource.path}]#else ${resource.path} #end
+
+$!{resource.description}
+
+Parameter:
+#foreach($param in ${resource.params.entrySet()})
+${param.key} - ${param.value.description} #if(${param.value.validations.size()} > 0)(#foreach($validation in ${param.value.validations})$validation#end)#end
+
+#end
+
+#foreach($method in ${resource.methods.entrySet()})
+$H$H #if (${method.value.description}) ${method.value.description} [$method.key]#else ${method.key} #end
+
+Header:
+#foreach($header in ${method.value.headers.entrySet()})
+${header.key} #if(${header.required}) (required)#end: ${header.description}
+
+#end
+
+Body:
+#foreach($accept in ${method.value.accepts})
+- ${accept.schema} (${accept.type})
+
+#end
+
+#foreach($status in ${method.value.statusCodes.entrySet()})
++ Response ${status.key}
+#end
+
+#end ##method
+
+#end ##resource
diff --git a/src/test/java/.gitkeep b/src/test/java/.gitkeep
new file mode 100644
index 0000000..e69de29
diff --git a/src/test/resources/.gitkeep b/src/test/resources/.gitkeep
new file mode 100644
index 0000000..e69de29