first commit about weex-loader
diff --git a/weex-loader/README.md b/weex-loader/README.md
new file mode 100644
index 0000000..3fc549b
--- /dev/null
+++ b/weex-loader/README.md
@@ -0,0 +1,182 @@
+# Weex Loader
+
+A webpack loader for Weex.
+
+## Install
+
+```
+npm install weex-loader --save
+```
+
+## Dependencies
+
+The loader needs `weex-scripter/weex-styler/weex-templater` in peer dependencies. You should install them in your projects.
+
+```
+npm install weex-scripter weex-styler weex-templater --save
+```
+
+## Feature
+
+0. Can load `.we` file.
+1. Can load parted files(`.js/.css/.tpl`) instead of one `.we` file.
+2. Can chain any loader you want when write parted files.
+3. Can require a CommonJS module.
+4. Can specify the name of a component.
+
+## Not yet for Spec
+
+0. `<we-element>/<wa-element>/<wx-element>/<element>` tag
+
+## Usage
+
+### How to load a `.we` file.
+
+**make a webpack config**
+```javascript
+var path = require('path');
+var webpack = require('webpack');
+
+var loader = require('weex-loader');
+var scripter = require('weex-scripter');
+var styler = require('weex-styler');
+var templater = require('weex-templater');
+
+/* use the default parsers or your custom parsers */
+loader.useScripter(scripter);
+loader.useStyler(styler);
+loader.useTemplater(templater);
+
+module.exports = {
+  entry: './test/main.we?entry=true',
+  output: {
+    path: './test/actual',
+    filename: 'main.js'
+  },
+  module: {
+    loaders: [
+      {
+        test: /\.we(\?[^?]+)?$/,
+        loader: 'weex'
+      }
+    ]
+  }
+}
+```
+
+### How to write parted files
+
+#### write .js/.css/.tpl anywhere
+
+**main.js as script**
+```javascript
+module.exports = {
+    data: {
+        text: 'Hello World'
+    }
+}
+
+module.exports.style = require('./main.css');
+module.exports.template = require('./main.tpl');
+```
+
+**main.css as style**
+```css
+.h1 {
+    font-size: 60px;
+    color: red;
+    padding-top: 20px;
+    padding-bottom: 20px;
+    padding-left: 20px;
+    padding-right: 20px;
+}
+```
+
+**main.tpl as template**
+```html
+<container>
+    <text class="h1">{{text}}</text>
+</container>
+```
+
+Then change the entry to `main.js` in `webpack.config.js`
+
+#### add some loader in webpack config
+
+**loader for script**
+```json
+  {
+    test: /\.js(\?[^?]+)?$/,
+    loader: 'weex?type=script'
+  }
+```
+
+**loader for style**
+```json
+  {
+    test: /\.css(\?[^?]+)?$/, 
+    loader: 'weex?type=style'
+  }
+```
+
+**loader for template**
+```json
+  {
+    test: /\.tpl(\?[^?]+)?$/, 
+    loader: 'weex?type=tpl'
+  }
+```
+
+### How to require a CommonJS module
+
+0. first, require a `path/to/module.js` in `script` like `var _ = require('lodash')`. 
+1. then use it in `script`.
+
+### How to embed a composed component
+
+0. first, require a `path/to/component.js` in `script` like `require('./sub.js')`.
+1. second, use it in `template` like `<sub></sub>`.
+
+### How to specify the name of a component
+
+0. By default, the name is the basename without extname of component path.
+1. Give a name query in require request, like `require('./sub.js?name="goto"')`
+2. use the name in `template` like `<goto></goto>`.
+
+## Chain your favorite loader
+
+For examples:
+
+### write ES2015
+
+Only your need is chain babel-loader before weex-loader.
+
+```json
+  {
+    test: /\.js(\?[^?]+)?$/,
+    loader: 'weex?type=script!babel?presets[]=es2015'
+  }
+```
+
+### write SCSS
+
+Only your need is chain scss loader before weex-loader.
+
+```json
+  {
+    test: /\.scss(\?[^?]+)?$/, 
+    loader: 'weex?type=style!scss'
+  }
+```
+
+## Test
+
+```bash
+npm run test
+```
+will run mocha testing
+
+```bash
+npm run serve
+```
+then open `localhost:12581` on chrome, will run web testing