diff --git a/proposals/save-restore.md b/proposals/save-restore.md
new file mode 100644
index 0000000..bbf54c9
--- /dev/null
+++ b/proposals/save-restore.md
@@ -0,0 +1,80 @@
+# Unified Cordova npm save & restore Proposal
+- Status: Proposed
+
+### Current
+
+Existing save/restore functionality
+
+1. `cordova plugin add/rm PLUGINNAME||gitURL||localPlugin --save`
+    - adds/rms `<plugin name="cordova-plugin-device" spec="../../cordova-plugin-device" />` to `config.xml`.
+    - plugin add: https://github.com/apache/cordova-lib/blob/master/cordova-lib/src/cordova/plugin.js#L210-L235
+    - plugin rm: https://github.com/apache/cordova-lib/blob/master/cordova-lib/src/cordova/plugin.js#L291-L298
+
+2. `cordova platform add/rm Platform||gitURL||localPath --save`
+    - adds/rms `<engine name="ios" spec="~4.2.1" />` to `config.xml`
+    - platform rm: https://github.com/apache/cordova-lib/blob/master/cordova-lib/src/cordova/platform.js#L247-L263
+    - platform add: https://github.com/apache/cordova-lib/blob/master/cordova-lib/src/cordova/platform.js#L227-L238
+
+3. `cordova platform/plugin save`
+    - adds installed but not saved plugins + platforms to `config.xml`
+    - platforms: https://github.com/apache/cordova-lib/blob/master/cordova-lib/src/cordova/platform.js#L247-L263
+    - plugins: https://github.com/apache/cordova-lib/blob/master/cordova-lib/src/cordova/plugin.js#L409-L451
+
+4. autosave for platforms and plugins (didn't test, not documented)
+    - manually create .cordova/config.json, add `"auto_save_plugins":"true"` and `"auto_save_platforms":"true"`
+    - https://github.com/apache/cordova-lib/blob/master/cordova-lib/src/cordova/platform.js#L76
+    - https://github.com/apache/cordova-lib/blob/master/cordova-lib/src/cordova/plugin.js#L538-L542
+ 
+5. `cordova prepare` restores missing plugins and platforms based on `config.xml`
+    - https://github.com/apache/cordova-lib/blob/master/cordova-lib/src/cordova/restore-util.js
+    - https://github.com/apache/cordova-lib/blob/master/cordova-lib/src/cordova/prepare.js#L46
+    - https://github.com/apache/cordova-lib/blob/master/cordova-lib/src/cordova/prepare.js#L66
+
+### Proposal:
+
+* Move saved plugins/platforms to `package.json`. Introduce new `cordova` key in `package.json` that stores what plugins and platforms have been saved. This is required for restoring.
+
+```javascript
+{
+...
+    "dependencies": {
+        "cordova-plugin-device": "^1.1.3",
+        "cordova-android": "^5.2.2" 
+    }
+    "cordova": {
+        "platforms": ["andoid"],
+        "plugins": ["cordova-plugin-device"]
+    }
+...
+}
+```
+
+* Update `--save` logic to save to `package.json`. `cordova-fetch` allows us to pass the `--save` flag down to our `npm install PLUGIN/PLATFORM` command. Plugins and Platforms get added as regular dependencies in `package.json` this way. `cordova plugin/platform add/rm` would also add/rm the plugin/platform to/from the new `cordova` key in `package.json`.
+* autosave: remove functionality. Have docs telling users they can set autosave in npm config if they want it. `npm config set save=true`. `cordova-fetch` will use system *npm*, so this *should* work, but we will have to test it.
+* restore: continue restoring during prepare. Instead of looking in `config.xml`, look in `package.json` at `cordova` key.
+* cordova platform/plugin save: Adds existing, unsaved platforms/plugins to package.json's `cordova` key and edits `dependencies` with platoform/plugins + versions.
+* cordova plugin fetching logic will still be respected. If you don't specify a version, the proper version based on `cordovaDependencies` will be fetched.
+* cordova platform fetching logic will also stay intact. cordova will grab the pinned platform version unless a different version is specified. 
+
+My plan is to keep the existing save/restore `config.xml` logic for cordova@6.x and start adding the `package.json` logic beside it. If your project has a `package.json`, it will start saving to it as well as `config.xml`. In cordova@7, I want to rip out saving to `config.xml` logic. 
+
+The reason for this change is to add `package.json` in a standard cordova app and have it work as it would in a node style project. This will lead to cordova developers able to use npm modules while building their apps. 
+
+### New Requirements
+
+* Need to create a easy way to migrate `config.xml` saved platforms and plugins into `package.json`. I'm thinking this happens during the restore phase which runs on prepare. Alternatively, we could create a new command to do it. 
+* Automatically add `package.json` to existing cordova projects which don't have it. 
+
+### Quirks
+
+* Running `npm install` on your projects will fetch the dependencies in `package.json`, but a `cordova prepare` (restore) will be needed to install them to your cordova project.
+* Running `npm install cordova-plugin-device` will fetch the plugin, but won't install it. `cordova plugin add cordova-plugin-device --save` will still be required. Same goes for platforms. Positive is, the plugin/platform will already be fetched.
+* cordova git subdirectories syntax will not be supported anymore for adding plugins. Ex: http://cordova.apache.org/docs/en/latest/reference/cordova-cli/index.html#plugin-spec
+
+### Future goals
+
+* Cordova@7 will drop save/restore support from `config.xml` and only use `package.json`
+
+### Links
+
+* Issues + KANBANBOARD will follow after discussion
