diff --git a/libraries/pom.xml b/libraries/pom.xml
index 466fe998a09..b8664d1f77e 100644
--- a/libraries/pom.xml
+++ b/libraries/pom.xml
@@ -82,6 +82,8 @@
tools/kotlin-reflect
tools/kotlin-osgi-bundle
+ tools/maven-archetypes
+
tools/binary-compatibility-validator
diff --git a/libraries/tools/maven-archetypes/kotlin-archetype-js/pom.xml b/libraries/tools/maven-archetypes/kotlin-archetype-js/pom.xml
new file mode 100644
index 00000000000..c8b72187af7
--- /dev/null
+++ b/libraries/tools/maven-archetypes/kotlin-archetype-js/pom.xml
@@ -0,0 +1,18 @@
+
+
+ 4.0.0
+
+
+ org.jetbrains.kotlin
+ kotlin-archetypes-parent
+ 0.1-SNAPSHOT
+ ../pom.xml
+
+
+ org.jetbrains.kotlin
+ kotlin-archetype-js
+ Kotlin single-module JavaScript project archetype
+ kotlin-archetype-js
+ maven-archetype
+
diff --git a/libraries/tools/maven-archetypes/kotlin-archetype-js/src/main/resources/META-INF/maven/archetype-metadata.xml b/libraries/tools/maven-archetypes/kotlin-archetype-js/src/main/resources/META-INF/maven/archetype-metadata.xml
new file mode 100644
index 00000000000..4dab7cab8ca
--- /dev/null
+++ b/libraries/tools/maven-archetypes/kotlin-archetype-js/src/main/resources/META-INF/maven/archetype-metadata.xml
@@ -0,0 +1,28 @@
+
+
+
+
+
+ src/main/kotlin
+
+ **/*.kt
+
+
+
+
+
+ index.html
+
+
+
+
+
+
+ ${project.version}
+
+
+
diff --git a/libraries/tools/maven-archetypes/kotlin-archetype-js/src/main/resources/archetype-resources/index.html b/libraries/tools/maven-archetypes/kotlin-archetype-js/src/main/resources/archetype-resources/index.html
new file mode 100644
index 00000000000..897d08686c0
--- /dev/null
+++ b/libraries/tools/maven-archetypes/kotlin-archetype-js/src/main/resources/archetype-resources/index.html
@@ -0,0 +1,18 @@
+
+
+
+
+ Test page
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/libraries/tools/maven-archetypes/kotlin-archetype-js/src/main/resources/archetype-resources/pom.xml b/libraries/tools/maven-archetypes/kotlin-archetype-js/src/main/resources/archetype-resources/pom.xml
new file mode 100644
index 00000000000..4f8f1d6f2c5
--- /dev/null
+++ b/libraries/tools/maven-archetypes/kotlin-archetype-js/src/main/resources/archetype-resources/pom.xml
@@ -0,0 +1,73 @@
+
+
+
+ 4.0.0
+
+ ${groupId}
+ ${artifactId}
+ ${version}
+ jar
+
+ ${groupId} ${artifactId}
+
+
+ UTF-8
+ ${kotlinVersion}
+ 4.12
+
+
+
+
+ org.jetbrains.kotlin
+ kotlin-js-library
+ ${kotlin.version}
+
+
+
+
+ src/main/kotlin
+
+
+
+ kotlin-maven-plugin
+ org.jetbrains.kotlin
+ ${kotlin.version}
+
+
+
+ compile
+ compile
+
+ js
+
+
+ true
+ ${project.build.outputDirectory}/${project.artifactId}.js
+
+
+
+
+
+
+
+ maven-dependency-plugin
+
+
+ extract-kotlinjs
+ prepare-package
+
+ unpack-dependencies
+
+
+ kotlin-js-library
+ ${build.outputDirectory}/lib
+ **\/*.js
+ **\/*.meta.js
+
+
+
+
+
+
+
+
diff --git a/libraries/tools/maven-archetypes/kotlin-archetype-js/src/main/resources/archetype-resources/src/main/kotlin/Hello.kt b/libraries/tools/maven-archetypes/kotlin-archetype-js/src/main/resources/archetype-resources/src/main/kotlin/Hello.kt
new file mode 100644
index 00000000000..b16121d53b1
--- /dev/null
+++ b/libraries/tools/maven-archetypes/kotlin-archetype-js/src/main/resources/archetype-resources/src/main/kotlin/Hello.kt
@@ -0,0 +1,13 @@
+package ${package}
+
+import kotlin.browser.window
+
+/**
+ * Example main function. Started at script body.
+ * At first time you have to run `mvn package`.
+ * Open example index.html in browser once you compile it.
+ */
+fun main(args: Array) {
+ window.alert("Hello, World!")
+}
+
diff --git a/libraries/tools/maven-archetypes/kotlin-archetype-js/src/test/resources/projects/basic/archetype.properties b/libraries/tools/maven-archetypes/kotlin-archetype-js/src/test/resources/projects/basic/archetype.properties
new file mode 100644
index 00000000000..1b9bba2c2db
--- /dev/null
+++ b/libraries/tools/maven-archetypes/kotlin-archetype-js/src/test/resources/projects/basic/archetype.properties
@@ -0,0 +1,6 @@
+#Mon Nov 30 19:53:25 MSK 2015
+package=it.pkg
+version=0.1-SNAPSHOT
+groupId=archetype.it
+artifactId=basic
+kotlinVersion=0.1-SNAPSHOT
diff --git a/libraries/tools/maven-archetypes/kotlin-archetype-js/src/test/resources/projects/basic/goal.txt b/libraries/tools/maven-archetypes/kotlin-archetype-js/src/test/resources/projects/basic/goal.txt
new file mode 100644
index 00000000000..e69de29bb2d
diff --git a/libraries/tools/maven-archetypes/kotlin-archetype-jvm/pom.xml b/libraries/tools/maven-archetypes/kotlin-archetype-jvm/pom.xml
new file mode 100644
index 00000000000..959c06c48e4
--- /dev/null
+++ b/libraries/tools/maven-archetypes/kotlin-archetype-jvm/pom.xml
@@ -0,0 +1,18 @@
+
+
+ 4.0.0
+
+
+ org.jetbrains.kotlin
+ kotlin-archetypes-parent
+ 0.1-SNAPSHOT
+ ../pom.xml
+
+
+ org.jetbrains.kotlin
+ kotlin-archetype-jvm
+ Kotlin single-module JVM project archetype
+ kotlin-archetype-jvm
+ maven-archetype
+
diff --git a/libraries/tools/maven-archetypes/kotlin-archetype-jvm/src/main/resources/META-INF/maven/archetype-metadata.xml b/libraries/tools/maven-archetypes/kotlin-archetype-jvm/src/main/resources/META-INF/maven/archetype-metadata.xml
new file mode 100644
index 00000000000..33efbe484b3
--- /dev/null
+++ b/libraries/tools/maven-archetypes/kotlin-archetype-jvm/src/main/resources/META-INF/maven/archetype-metadata.xml
@@ -0,0 +1,28 @@
+
+
+
+
+
+ src/main/kotlin
+
+ **/*.kt
+
+
+
+ src/test/kotlin
+
+ **/*.kt
+
+
+
+
+
+
+ ${project.version}
+
+
+
diff --git a/libraries/tools/maven-archetypes/kotlin-archetype-jvm/src/main/resources/archetype-resources/pom.xml b/libraries/tools/maven-archetypes/kotlin-archetype-jvm/src/main/resources/archetype-resources/pom.xml
new file mode 100644
index 00000000000..d2cb5ed3f7f
--- /dev/null
+++ b/libraries/tools/maven-archetypes/kotlin-archetype-jvm/src/main/resources/archetype-resources/pom.xml
@@ -0,0 +1,68 @@
+
+
+
+ 4.0.0
+
+ ${groupId}
+ ${artifactId}
+ ${version}
+ jar
+
+ ${groupId} ${artifactId}
+
+
+ UTF-8
+ ${kotlinVersion}
+ 4.12
+
+
+
+
+ org.jetbrains.kotlin
+ kotlin-stdlib
+ ${kotlin.version}
+
+
+ org.jetbrains.kotlin
+ kotlin-test-junit
+ ${kotlin.version}
+ test
+
+
+ junit
+ junit
+ ${junit.version}
+ test
+
+
+
+
+ src/main/kotlin
+ src/test/kotlin
+
+
+
+ org.jetbrains.kotlin
+ kotlin-maven-plugin
+ ${kotlin.version}
+
+
+ compile
+ compile
+
+ compile
+
+
+
+ test-compile
+ test-compile
+
+ test-compile
+
+
+
+
+
+
+
+
diff --git a/libraries/tools/maven-archetypes/kotlin-archetype-jvm/src/main/resources/archetype-resources/src/main/kotlin/Hello.kt b/libraries/tools/maven-archetypes/kotlin-archetype-jvm/src/main/resources/archetype-resources/src/main/kotlin/Hello.kt
new file mode 100644
index 00000000000..9e2befd0ded
--- /dev/null
+++ b/libraries/tools/maven-archetypes/kotlin-archetype-jvm/src/main/resources/archetype-resources/src/main/kotlin/Hello.kt
@@ -0,0 +1,6 @@
+package ${package}
+
+fun main(args: Array) {
+ println("Hello, World")
+}
+
diff --git a/libraries/tools/maven-archetypes/kotlin-archetype-jvm/src/main/resources/archetype-resources/src/test/kotlin/HelloTest.kt b/libraries/tools/maven-archetypes/kotlin-archetype-jvm/src/main/resources/archetype-resources/src/test/kotlin/HelloTest.kt
new file mode 100644
index 00000000000..ec286ea3167
--- /dev/null
+++ b/libraries/tools/maven-archetypes/kotlin-archetype-jvm/src/main/resources/archetype-resources/src/test/kotlin/HelloTest.kt
@@ -0,0 +1,8 @@
+package ${package}
+
+import org.junit.Test
+import kotlin.test.assertEquals
+
+class HelloTest {
+
+}
diff --git a/libraries/tools/maven-archetypes/kotlin-archetype-jvm/src/test/resources/projects/basic/archetype.properties b/libraries/tools/maven-archetypes/kotlin-archetype-jvm/src/test/resources/projects/basic/archetype.properties
new file mode 100644
index 00000000000..1b9bba2c2db
--- /dev/null
+++ b/libraries/tools/maven-archetypes/kotlin-archetype-jvm/src/test/resources/projects/basic/archetype.properties
@@ -0,0 +1,6 @@
+#Mon Nov 30 19:53:25 MSK 2015
+package=it.pkg
+version=0.1-SNAPSHOT
+groupId=archetype.it
+artifactId=basic
+kotlinVersion=0.1-SNAPSHOT
diff --git a/libraries/tools/maven-archetypes/kotlin-archetype-jvm/src/test/resources/projects/basic/goal.txt b/libraries/tools/maven-archetypes/kotlin-archetype-jvm/src/test/resources/projects/basic/goal.txt
new file mode 100644
index 00000000000..e69de29bb2d
diff --git a/libraries/tools/maven-archetypes/pom.xml b/libraries/tools/maven-archetypes/pom.xml
new file mode 100644
index 00000000000..f584410cd9e
--- /dev/null
+++ b/libraries/tools/maven-archetypes/pom.xml
@@ -0,0 +1,59 @@
+
+
+ 4.0.0
+
+
+ org.jetbrains.kotlin
+ kotlin-project
+ 0.1-SNAPSHOT
+ ../../pom.xml
+
+
+ org.jetbrains.kotlin
+ kotlin-archetypes
+ Kotlin archetypes parent
+ kotlin-archetypes-parent
+ pom
+
+
+ kotlin-archetype-jvm
+ kotlin-archetype-js
+
+
+
+
+
+ src/main/resources
+ true
+
+ META-INF/maven/archetype-metadata.xml
+
+
+
+ src/main/resources
+ false
+
+ META-INF/maven/archetype-metadata.xml
+
+
+
+
+
+
+ org.apache.maven.archetype
+ archetype-packaging
+ 2.4
+
+
+
+
+
+
+ maven-archetype-plugin
+ 2.4
+
+
+
+
+