diff --git a/BUILD b/BUILD
new file mode 100644
index 0000000..70a98c1
--- /dev/null
+++ b/BUILD
@@ -0,0 +1,8 @@
+load("//tools/bzl:js.bzl", "polygerrit_plugin")
+
+polygerrit_plugin(
+    name = "cm",
+    srcs = glob(["**/*.html", "**/*.js"]),
+    app = "plugin.html",
+    deps = ["//lib/js:codemirror-minified"],
+)
diff --git a/gr-editor/gr-editor-styles.html b/gr-editor/gr-editor-styles.html
new file mode 100644
index 0000000..5da80c7
--- /dev/null
+++ b/gr-editor/gr-editor-styles.html
@@ -0,0 +1,42 @@
+<!--
+Copyright (C) 2017 The Android Open Source Project
+
+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.
+-->
+
+<dom-module id="gr-editor-styles">
+  <link rel="stylesheet" type="css" href="../bower_components/codemirror-minified/lib/codemirror.css">
+  <link rel="stylesheet" type="css" href="../bower_components/codemirror-minified/theme/ambiance.css">
+  <link rel="stylesheet" type="css" href="../bower_components/codemirror-minified/theme/ambiance-mobile.css">
+  <link rel="stylesheet" type="css" href="../bower_components/codemirror-minified/theme/material.css">
+  <link rel="stylesheet" type="css" href="../bower_components/codemirror-minified/theme/blackboard.css">
+  <link rel="stylesheet" type="css" href="../bower_components/codemirror-minified/theme/cobalt.css">
+  <link rel="stylesheet" type="css" href="../bower_components/codemirror-minified/theme/eclipse.css">
+  <link rel="stylesheet" type="css" href="../bower_components/codemirror-minified/theme/elegant.css">
+  <link rel="stylesheet" type="css" href="../bower_components/codemirror-minified/theme/erlang-dark.css">
+  <link rel="stylesheet" type="css" href="../bower_components/codemirror-minified/theme/lesser-dark.css">
+  <link rel="stylesheet" type="css" href="../bower_components/codemirror-minified/theme/midnight.css">
+  <link rel="stylesheet" type="css" href="../bower_components/codemirror-minified/theme/monokai.css">
+  <link rel="stylesheet" type="css" href="../bower_components/codemirror-minified/theme/neat.css">
+  <link rel="stylesheet" type="css" href="../bower_components/codemirror-minified/theme/night.css">
+  <link rel="stylesheet" type="css" href="../bower_components/codemirror-minified/theme/rubyblue.css">
+  <link rel="stylesheet" type="css" href="../bower_components/codemirror-minified/theme/solarized.css">
+  <link rel="stylesheet" type="css" href="../bower_components/codemirror-minified/theme/twilight.css">
+  <link rel="stylesheet" type="css" href="../bower_components/codemirror-minified/theme/vibrant-ink.css">
+  <link rel="stylesheet" type="css" href="../bower_components/codemirror-minified/theme/xq-dark.css">
+  <link rel="stylesheet" type="css" href="../bower_components/codemirror-minified/theme/xq-light.css">
+  <link rel="stylesheet" type="css" href="../bower_components/codemirror-minified/addon/fold/foldgutter.css">
+  <template>
+    <style></style>
+  </template>
+</dom-module>
\ No newline at end of file
diff --git a/gr-editor/gr-editor.html b/gr-editor/gr-editor.html
new file mode 100644
index 0000000..e476c51
--- /dev/null
+++ b/gr-editor/gr-editor.html
@@ -0,0 +1,62 @@
+<!--
+Copyright (C) 2017 The Android Open Source Project
+
+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.
+-->
+
+<link rel="import" href="./gr-editor-styles.html">
+
+<dom-module id="gr-editor">
+  <template>
+    <style include="gr-editor-styles">
+      .CodeMirror,
+      #wrapper {
+        height: 100%;
+      }
+      .CodeMirror {
+        font-family: 'Roboto Mono', Menlo, 'Lucida Console', Monaco, monospace;
+      }
+    </style>
+    <div id="wrapper"></div>
+  </template>
+  <script src="../bower_components/codemirror-minified/lib/codemirror.js"></script>
+  <script src="../bower_components/codemirror-minified/mode/python/python.js" ></script>
+  <script src="../bower_components/codemirror-minified/mode/ruby/ruby.js" ></script>
+  <script src="../bower_components/codemirror-minified/mode/php/php.js" ></script>
+  <script src="../bower_components/codemirror-minified/mode/pascal/pascal.js" ></script>
+  <script src="../bower_components/codemirror-minified/mode/sql/sql.js" ></script>
+  <script src="../bower_components/codemirror-minified/mode/clike/clike.js" ></script>
+  <script src="../bower_components/codemirror-minified/mode/xml/xml.js" ></script>
+  <script src="../bower_components/codemirror-minified/mode/javascript/javascript.js" ></script>
+  <script src="../bower_components/codemirror-minified/mode/css/css.js" ></script>
+  <script src="../bower_components/codemirror-minified/mode/vbscript/vbscript.js" ></script>
+  <script src="../bower_components/codemirror-minified/mode/htmlmixed/htmlmixed.js" ></script>
+  <script src="../bower_components/codemirror-minified/mode/apl/apl.js" ></script>
+  <script src="../bower_components/codemirror-minified/mode/asciiarmor/asciiarmor.js" ></script>
+  <script src="../bower_components/codemirror-minified/mode/markdown/markdown.js" ></script>
+  <script src="../bower_components/codemirror-minified/mode/clojure/clojure.js" ></script>
+  <script src="../bower_components/codemirror-minified/mode/cmake/cmake.js" ></script>
+  <script src="../bower_components/codemirror-minified/mode/dart/dart.js" ></script>
+  <script src="../bower_components/codemirror-minified/mode/fortran/fortran.js" ></script>
+  <script src="../bower_components/codemirror-minified/mode/haskell/haskell.js" ></script>
+  <script src="../bower_components/codemirror-minified/mode/sass/sass.js" ></script>
+  <script src="../bower_components/codemirror-minified/mode/shell/shell.js" ></script>
+  <script src="../bower_components/codemirror-minified/mode/xml/xml.js" ></script>
+  <script src="../bower_components/codemirror-minified/mode/yaml/yaml.js" ></script>
+  <script src="../bower_components/codemirror-minified/addon/fold/foldcode.js" ></script>
+  <script src="../bower_components/codemirror-minified/addon/fold/foldgutter.js" ></script>
+  <script src="../bower_components/codemirror-minified/addon/fold/brace-fold.js" ></script>
+  <script src="../bower_components/codemirror-minified/addon/fold/xml-fold.js" ></script>
+  <script src="../bower_components/codemirror-minified/addon/fold/markdown-fold.js" ></script>
+  <script src="./gr-editor.js"></script>
+</dom-module>
\ No newline at end of file
diff --git a/gr-editor/gr-editor.js b/gr-editor/gr-editor.js
new file mode 100644
index 0000000..cf76865
--- /dev/null
+++ b/gr-editor/gr-editor.js
@@ -0,0 +1,47 @@
+// Copyright (C) 2017 The Android Open Source Project
+//
+// 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.
+(function() {
+  'use strict';
+
+  Polymer({
+    is: 'gr-editor',
+    /**
+     * Fired when the content of the editor changes.
+     *
+     * @event content-change
+     */
+
+    properties: {
+      fileContent: String,
+      mirror: Object,
+      prefs: Object,
+    },
+
+    attached() {
+      this.scopeSubtree(this.$.wrapper, true);
+      this.mirror = CodeMirror(this.$.wrapper, Object.assign({} , {
+        value: this.fileContent,
+      }, this.prefs));
+      this.async(() => { this.mirror.refresh(); }, 1);
+      this.addEventListeners();
+    },
+
+    addEventListeners() {
+      this.mirror.on('change', e => {
+        this.dispatchEvent(new CustomEvent('content-change',
+            {detail: {value: e.getValue()}, bubbles: true}));
+      });
+    },
+  });
+})();
\ No newline at end of file
diff --git a/plugin.html b/plugin.html
new file mode 100644
index 0000000..f3ddeda
--- /dev/null
+++ b/plugin.html
@@ -0,0 +1,25 @@
+<!--
+Copyright (C) 2017 The Android Open Source Project
+
+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.
+-->
+<link rel="import" href="./gr-editor/gr-editor.html">
+
+<dom-module id="editor-plugin">
+  <script>
+    Gerrit.install(plugin => {
+      plugin.registerCustomComponent(
+          'editor', 'gr-editor', {replace: true});
+    });
+  </script>
+</dom-module>
\ No newline at end of file
