Back to templates

Template details

Initializr

HTML5 Boilerplate build tool for generating custom starter archives via URL parameters and JSON modules.

About this template

Initializr is a web-based HTML5 Boilerplate build tool that assembles custom starter archives from URL parameters and JSON-defined modules.

What is Initializr?

Initializr is an open-source build tool — its GitHub repository, described as "HTML5 Boilerplate Build Tool", has 1,425 stars — that generates downloadable HTML5 Boilerplate starter archives. It accepts a URL with GET parameters naming the modules to include (such as jquery or modernizr) and outputs a ZIP archive of the customized boilerplate. The API runs at initializr.com/builder, and appending ?print displays the archive's contents in the browser instead of downloading it.

Key Features

  • URL-driven module selection — Add module names as GET parameters to the builder URL, e.g. http://www.initializr.com/builder?print&jquery&modernizr, and each module's code or files are injected into the generated archive.
  • JSON module definitions — Each module is a JSON file containing author, name, id, incompatibilities, and an inserts array that specifies exactly which code snippets or files to add and where they go.
  • HTML5 Boilerplate base — Output is built on HTML5 Boilerplate templates, with insertions targeted at files like index.html and directories like js/libs.
  • Code injection and file inclusion — Modules can inject HTML snippets (e.g., adding a script tag for modernizr-2.0.min.js into the head of index.html) or drop entire files into the archive using the type: "file" field.
  • Built-in incompatibility handling — A module's JSON can list incompatible module IDs (e.g., modernizr lists html5shiv), so the build tool knows which module sets cannot safely combine.
  • Print preview mode — Appending ?print to the builder URL shows the generated archive's contents as text, letting you verify the output before downloading.
  • Author attribution — Each module JSON records its author (e.g., Modernizr credits Paul Irish), making the origins of each piece of code visible.
  • Open extension via GitHub — All available modules live publicly in the repository at github.com/verekia/initializr/tree/master/war/builder/modules, so developers can inspect or contribute new ones.

Who is it for?

  • Web developers starting HTML5 projects use Initializr to generate a customized HTML5 Boilerplate with only the libraries they need, such as jQuery and Modernizr, skipping default extras.
  • Build-tool contributors use the documented JSON format to author new modules that inject snippets or files into the boilerplate, which other users can then pull into their archives.
  • Front-end educators use the ?print endpoint to demonstrate to students exactly which files and code a given module set produces, without requiring a download.

What can you do with Initializr?

  • Assemble a project skeleton quickly: Select modules via URL and download a ZIP with the chosen scripts already wired into index.html.
  • Prototype module combinations: Use the print view to inspect which files and script tags a given set of modules generates before committing to the archive.
  • Extend the boilerplate ecosystem: Add a new module folder to the GitHub source following the JSON schema, so the community can include your code in their builds.

How does Initializr work?

The workflow is URL-driven. You hit the builder endpoint with module names as GET parameters; the server reads each module's JSON definition, applies its inserts to the HTML5 Boilerplate templates, and packages the result. With no modules, the archive is just the plain boilerplate; each module either injects a snippet (like a script tag into index.html/head/html5polyfill) or adds a file (like modernizr-2.0.min.js into js/libs).

Pros and cons

  • Pros: Open source with a documented API; modules are data-driven JSON files that are easy to read and extend; includes a compatibility system to avoid conflicting code; print mode makes output inspectable without downloading.
  • Cons: The page shows documentation only — there is no visual/theme configuration described; module selection is limited to what exists in the official repository unless you fork it.

FAQ

How do I add a module to my Initializr archive?

Append the module's id as a GET parameter to the builder URL, e.g. http://www.initializr.com/builder?print&jquery&modernizr, and the generated archive will include that module's files and code insertions.

What is the module JSON format?

A module is defined by a JSON file with author, name, id, incompatibilities, and an inserts array. Each insertion has a what field (the source file), a where field (the target file or location in the boilerplate), and an optional type set to "file" for whole-file additions.

What does the ?print parameter do?

It makes the builder display the content of the generated archive as a listing in the browser instead of downloading it, so you can inspect the module output before you download the ZIP.

Can I make my own modules?

Yes. Modules live in the GitHub repository under war/builder/modules, and the documentation explains the JSON schema. Add a module folder with a JSON config and the referenced files, then use the module id as a GET parameter.

Does Initializr support any theme or visual customization?

The documentation describes only code/module selection — there is no mention of colors, layouts, or styling options. It is a structural boilerplate generator, not a visual theme picker.

screenshot of Initializr on template0.com