Apache Cordova hello world

Clone this repo:
  1. 76e5c49 Merge pull request #59 from mosabab/patch-3 by Darryl Pogue · 3 weeks ago master
  2. 9ce8e6a update to set in Quotation mark by Mosab A · 3 weeks ago
  3. 2bdd3c8 Set UTF-8 in capital letters as standard in XML by Mosab A · 3 weeks ago
  4. 1316332 chore(index.html): add charset, prevent scaling, use default attributes (#58) by Mosab A · 8 weeks ago
  5. bff5ef2 Merge pull request #57 from mosabab/patch-1 by Darryl Pogue · 8 weeks ago

Apache Cordova Hello World Application

A simple Hello World application that serves two purposes:

  • It is used as the default app template when creating new projects
  • It is a reference for building and publishing custom Cordova Templates

Structure of your template

├── package.json (for your template package to be published on npm)
├── index.js
└── template_src (contains template files)
    ├── package.json
    ├── config.xml
    └── (files and folders that make up the template)

Outside of template_src

All files outside of template_src are used to define parameters about the template. These files are not copied over at creation, so feel free to add a README or any other files outside of template_src.


index.js points to where the template exists. You'll see that index.js usually looks like:

var path = require('path');

module.exports = {
    dirname : path.join(__dirname, 'template_src')


This package.json holds information about the template itself like its name, version etc. All templates should contain the keyword "cordova:template" so that the template is searchable on npm. For example:

    "name": "cordova-example-template",
    "version": "1.0.0",
    "...": "...",
    "keywords": [

Inside of template_src

All files inside of template_src compose the template from which a user would desire in order to create their project. Everything in this folder is copied over to the created project.

The package.json in template_src should be filled with information that describes the project that would be created from the template.

If you want to include .gitignore files in your template, you have to name them gitignore (without a leading dot) instead. They will be renamed to .gitignore upon template expansion.