diff --git a/bin/jsx_react_0.8_to_0.9_codemod/package.json b/bin/jsx_react_0.8_to_0.9_codemod/package.json
deleted file mode 100644
index fff7f3c59f..0000000000
--- a/bin/jsx_react_0.8_to_0.9_codemod/package.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "name": "jsx_whitespace_transformer",
- "version": "1.0.0",
- "dependencies": {
- "esprima-fb": "~2001.1001.0-dev-harmony-fb",
- "jstransform": "~2.0.1",
- "node-find-files": "0.0.2",
- "optimist": "~0.6.0"
- }
-}
diff --git a/bin/jsx_react_0.8_to_0.9_codemod/.gitignore b/npm-jsx_whitespace_transform/.gitignore
similarity index 100%
rename from bin/jsx_react_0.8_to_0.9_codemod/.gitignore
rename to npm-jsx_whitespace_transform/.gitignore
diff --git a/npm-jsx_whitespace_transform/README.md b/npm-jsx_whitespace_transform/README.md
new file mode 100644
index 0000000000..2a789cd367
--- /dev/null
+++ b/npm-jsx_whitespace_transform/README.md
@@ -0,0 +1,40 @@
+# JSX Whitespace Transformer
+
+React 0.9 changes the way whitespace is parsed from JSX.
+
+Take this example block:
+
+```js
+
+ Monkeys:
+
+
+```
+
+In 0.8 and below, this would be transformed to the following:
+
+```js
+React.DOM.div(null,
+ " Monkeys: ",
+ React.DOM.input( {type:"text"} )
+)
+```
+
+In 0.9, this will instead be transformed the following:
+
+```js
+React.DOM.div(null,
+ "Monkeys:",
+ React.DOM.input( {type:"text"} )
+)
+```
+
+
+## Usage
+
+The `jsx_whitespace_transformer` module ships an executable which transforms a file or directory of files. It looks for the `@jsx React.DOM` trigger, the same as the `jsx` transformer works. Files will be modified in place, so be sure you are prepared for that.
+
+```sh
+$ npm -g install jsx_whitespace_transformer
+$ jsx_whitespace_tranformer
+```
diff --git a/npm-jsx_whitespace_transform/package.json b/npm-jsx_whitespace_transform/package.json
new file mode 100644
index 0000000000..06803ec55a
--- /dev/null
+++ b/npm-jsx_whitespace_transform/package.json
@@ -0,0 +1,17 @@
+{
+ "name": "jsx_whitespace_transformer",
+ "description": "A utility to update your JSX to behave identically in React 0.8 and React 0.9.",
+ "version": "1.0.0",
+ "main": "run.js",
+ "dependencies": {
+ "esprima-fb": "~2001.1001.0-dev-harmony-fb",
+ "jstransform": "~2.0.1",
+ "node-find-files": "0.0.2",
+ "optimist": "~0.6.0"
+ },
+ "bin": {
+ "jsx_whitespace_transformer": "./run.js"
+ },
+ "license": "Apache-2.0",
+ "preferGlobal": true
+}
diff --git a/bin/jsx_react_0.8_to_0.9_codemod/run b/npm-jsx_whitespace_transform/run
similarity index 100%
rename from bin/jsx_react_0.8_to_0.9_codemod/run
rename to npm-jsx_whitespace_transform/run
diff --git a/bin/jsx_react_0.8_to_0.9_codemod/transforms/react.js b/npm-jsx_whitespace_transform/transforms/react.js
similarity index 100%
rename from bin/jsx_react_0.8_to_0.9_codemod/transforms/react.js
rename to npm-jsx_whitespace_transform/transforms/react.js
diff --git a/bin/jsx_react_0.8_to_0.9_codemod/transforms/xjs.js b/npm-jsx_whitespace_transform/transforms/xjs.js
similarity index 100%
rename from bin/jsx_react_0.8_to_0.9_codemod/transforms/xjs.js
rename to npm-jsx_whitespace_transform/transforms/xjs.js