-# Atom Shell documents
-
## Tutorials
* [Quick start](tutorial/quick-start.md)
* [Application distribution](tutorial/application-distribution.md)
* [Use native node modules](tutorial/use-native-node-modules.md)
-## Development
-
-* [Coding style](development/coding-style.md)
-* [Source code directory structure](development/source-code-directory-structure.md)
-* [Build instructions (Mac)](development/build-instructions-mac.md)
-* [Build instructions (Windows)](development/build-instructions-windows.md)
-* [Build instructions (Linux)](development/build-instructions-linux.md)
-
## API references
-Browser side modules:
+* [Synopsis](api/synopsis.md)
+
+Modules for browser side:
* [app](api/app.md)
* [auto-updater](api/auto-updater.md)
* [power-monitor](api/power-monitor.md)
* [protocol](api/protocol.md)
-Renderer side modules:
+Modules for web page:
* [ipc (renderer)](api/ipc-renderer.md)
* [remote](api/remote.md)
-Common modules:
+Modules for both sides:
* [clipboard](api/clipboard.md)
* [crash-reporter](api/crash-reporter.md)
* [screen](api/screen.md)
* [shell](api/shell.md)
+
+## Development
+
+* [Coding style](development/coding-style.md)
+* [Source code directory structure](development/source-code-directory-structure.md)
+* [Build instructions (Mac)](development/build-instructions-mac.md)
+* [Build instructions (Windows)](development/build-instructions-windows.md)
+* [Build instructions (Linux)](development/build-instructions-linux.md)
--- /dev/null
+# Synopsis
+
+All [node.js's built-in modules](http://nodejs.org/api/) are available in
+atom-shell, and third-party node modules are fully supported too (including the
+[native modules](../tutorial/use-native-node-modules.md)).
+
+And atom-shell also provided some extra built-in modules for developing native
+desktop applications, some modules are only available on browser side, and some
+are only available on renderer side, and some can be used by both sides. The
+basic rule is: if a module is GUI or low level system related, then it should
+be only available on browser side. You need to be familiar with the concept of
+[browser side](../tutorial/quick-start.md#the-browser-side) to be able to use
+those modules.
+
+The browser side script is just like a normal `node.js` script:
+
+```javascript
+var app = require('app');
+var BrowserWindow = require('browser-window');
+
+var window = null;
+
+app.on('ready', function() {
+ window = new BrowserWindow({width: 800, height: 600});
+ window.loadUrl('https://github.com');
+});
+
+```
+
+And the web page is no different to a normal web page, except for the extra
+ability to use node modules:
+
+```html
+<!DOCTYPE html>
+<html>
+ <body>
+ <script>
+ var remote = require('remote');
+ console.log(remote.require('app').getVersion());
+ </script>
+ </body>
+</html>
+```
+
+To run your app, read [Run your app](../tutorial/quick-start.md#run-your-app).
On Window:
```cmd
-$ .\atom-shell\atom.exe app
+$ .\atom-shell\atom.exe path-to-app\
```
On Linux:
```bash
-$ ./atom-shell/atom app
+$ ./atom-shell/atom path-to-app/
```
On Mac OS X:
```bash
-$ ./Atom.app/Contents/MacOS/Atom app
+$ ./Atom.app/Contents/MacOS/Atom path-to-app/
```