You can clone with HTTPS or Subversion.
Clone in Desktop Download ZIPSince our package system is similar to LÖVE, following guides are modified from its Wiki.
An app's package is a zip archive with .nw as extension. Three caveats:
package.json file that describes the package, see Manifest format.package.json file must be at the root of the archive. .nw, the file and directory path names are case sensitive. This can be puzzling for Windows and Mac OS X users, whose filesystem is case insensitive, and whose apps may work when unzipped but not when packaged.Here's how to proceed to generate a working .nw file:
package.json file is in the root directory (if you make a zip file containing a folder with your stuff in it, then it's not going to work) .zip to .nw. By default, file extensions may be hidden. You need to (press alt), go to folder options and uncheck "Hide extensions for known file types" to be able to rename the zip. From the command line:
cd ~/Projects/my_app
zip -r ../${PWD##*/}.nw *
.nw file shall be located right outside of your project directory Many people are (understandably) concerned about what end-users need to do in order to run an app. If users receive a .nw alone, they will naturally need node-webkit installed (or at least unzipped) in order to run it. But, with node-webkit, you can merge the .nw file with the node-webkit executable.
In general, it's recommended to offer a .nw for download, and optionally "merged" versions for the platforms where this makes things simpler.
Two things should be noted:
Here's how to do it on Windows. In a console, type this:
copy /b nw.exe+app.nw app.exe
Then, all you have to do is zip app.exe and required DLLs, and distribute them. Yes; this does mean that the game will have a private copy of node-webkit, but there's nothing wrong with that. It also means that you will have to create one package for each platform you would like to support, or simply offer the .nw alone for the other platforms.
On Linux, it's similar:
cat /usr/bin/nw app.nw > app && chmod +x app
Then, you'll have to make a package for various packaging systems with dependencies as the node-webkit package. Were you to make a .deb package this way, for instance, the user would not have to install the node-webkit package separately.
Eventually, we will provide scripts which do this automatically for various package systems. You'll have to figure it out yourself until then.
Currently we lack deep integration with Mac.