Back to docs
{
    "id": "530dc20a-afff-43c5-a672-ef984279f418", 
    "name": "My App", 
    "startURL": "http://app/index.html", 
    "version": "1.0.0.0",
    "cachePath": "{appdata}\\530dc20a-afff-43c5-a672-ef984279f418\\cache",
    "autoUpdateURL": "",
    "company": "Your Company Here",
    "copyright": "Your copyright here",
    "window": {"title": "My App", 
           "width": 1024, 
           "height": 768, 
           "borderStyle": 3, 
           "minButton": true, 
           "maxButton": true, 
           "controlBox": true, 
           "refreshOnF5": false, 
           "backSpaceNavigatesBack": true 
           "customWindowSkin": false,
           "customNonCientAreaHeight": 0,
           "customBorderWidth": 0,
           "saveWindowPosition": true,
           "minWidth": 800,
           "minHeight": 600,
           "spaceBarScrollsPage": true
           },
    "icon": "myIcon.ico",
    "mimeTypes": [".html", "text/html", ".htm", "text/html", ".css", "text/css", ".js", "text/javascript", 
                  ".png", "image/png", ".jpg", "image/jpeg", ".gif", "image/gif", ".webm", "video/webm", "/mp4", "video/mp4"],
    "minifyJS": false,
    "editor": "Notepad.exe",
    "experimental":  {"multiThreadedMessageLoop": true, "useAdvancedGPUAcceleration": false, "runtimePath": "(local)" },
    "debug":  {"showFPSCounter": false, "showUIDebuggingInfo": false, "showSourceFileName": true  },
    "projectDescription": "Some descriptive information about your project or project template.",
    "customStr": "An example custom piece of metadata",
    "customNum": 42
}

JSON format required

Please note that the manifest.txt file must be in valid JSON format in order to be processed correclty

id
The globally unique identifier for your app. This is generated and used by Alchemium.
name
Your app name assigned at project creation time.
startURL
The first page that will be loaded when your app starts (default: http://app/index.html) relative to the .\app directory. Note, you can also start with a page served via the web if your start url is in the format like "www.google.com" or "https://www.google.com" etc... Note! Pages served via the web do not support automatic compilation of less, coffeescript and TypeScript, nor do they support include file processing.
version
The 4 part version number of your app. This will be embedded as a standard Windows EXE RT_VERSION resource into the compiled EXE.

cachePath
This is the directory the embdedded browser engine will use to store cache data, cookies, IndexedDB, LocalStorage etc The {appdata} portion is a special macro that will resolve to the Local Application data on the user's filesystem. This is important because we need this to be a location that Alchemium can write to safely. Each application has it's own unique cache folder. You may override this, but be very careful that it is a valid path with read/write access. It is highly recommended that you accept the default.
autoUpdateURL
If this is set, Alchemium will check for a manifest.txt and app.zip (the Output of a release build) in the location pointed to by this url. It will do a quick scan of the server's manifest.txt, and if the server's version is greater, it will automatically updated the local app.zip with the server version. Auto update checks are only made if the Network is available. Leave this to set "" if you do not want auto-update functionality.
company
Name of your company to embed in version resource.
icon
Path to the .ico file that will be used as your application's icon.
window
Object property used to set the application window style.
width
Initial window width in pixels.
height
Initial window height in pixels.
borderStyle
1 - A fixed border
2 - Fixed Dialog
3 - A resizable border. (DEFAULT)
1 - A fixed border
4 - Full screen (Kiosk Mode).
0 - None, No border.
minButton
true/false should the window have a minimize button.
maxButton
true/false should the window have a maximize button.
controlBox
true/false should the window have a control box.
refreshOnF5
Should F5 refresh the page (Note this only applies in a release build. F5 refreshes the page in non-release builds)
backSpaceNavigatesBack
Should the backspace key navigate back to the previous page. (Note this only applies in a release build. Backspace navigates back in non-release builds)
minWidth
The minimum with a user should be allowed to size the application window to.
minHeight
The minimum height a user should be allowed to size the application window to.
spaceBarScrollsPage
Set to false to override standard browser behavior of scrolling a page when the user presses the spacebar key (and focus is not in an editable field). This can be useful in some multimedia/gaming scenarios where the spacebar is being used as the "fire" button or some other activity that should "eat" the default behavior (true).
mimeTypes
Lets Alchemium know what mimetype to return when serving up your resources. The list is in pairs with the first value being a file extension and the second indicating the mime type to return when serving up .\app\* files with that extension.
minifyJS
If true Alchemium will minify all .js files in the project when in Architect mode. Note JavaScript files will always be minified when compiling a release build. You typically would only set this to true if you wanted to track down a minification issue in debug mode. The default is false.
editor
The full path file name of the default editor you would like launched when CTRL-O is pressed, or edit page is chosen from the context menu when running an Alchemium app in architect mode. The active page you are viewing's original source file will be launched in this editor.
debug
(Note all debug flags are disabled in release builds. These only apply when running in Architect mode)
projectDescription
Add any helpful notes or information about your project or project template here.
showFPSCounter
Will show the current FPS for the renderer. This is typically used when using Alchemium to package and deply HTML5 games and you are trying to optimize game performance.
showUIDebuggingInfo
Renderer will draw red rectangles around areas of the screen that are dirty and currently being repainted. Again, only really of interest to game developers in most cases...
showSourceFileName
Will show the source file name in the application window caption for each page currently being viewed .
experimental
Not fully supported, use at your own risk. Flags will typically live here until we are 100% confident that they don't have any impact on platform stability, then they will either be removed or graduate. *One exception: We suggest setting useAdvancedGPUAcceleration=true if you are using Alchemium as an HTML5 or Flash game content shell / distribution platform.
runtimePath
Will cause your application to look in the location specified for the required Alchemium runtime files. This could be useful if you wanted to distibute multiple applications but only one copy of the runtime in a common shared location. This is not yet officially supported Default is (local) which will result in your app loading the runtime from it's .\runtime sub directory.

You can also add your own arbitrary metadata here and it will be exposed to your javascript via alchemium.app.getManifestJSON() which returns this raw JSON which you can deserialize via JSON.parse() For example, this JavaScript:

var manifest = JSON.parse(alchemium.app.getManifestJSON());
console.log(manifest.customStr);	
will log "An example custom piece of metadata" to the console.