
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 aninsertsarray 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.htmland directories likejs/libs. - Code injection and file inclusion — Modules can inject HTML snippets (e.g., adding a script tag for
modernizr-2.0.min.jsinto the head ofindex.html) or drop entire files into the archive using thetype: "file"field. - Built-in incompatibility handling — A module's JSON can list incompatible module IDs (e.g.,
modernizrlistshtml5shiv), so the build tool knows which module sets cannot safely combine. - Print preview mode — Appending
?printto 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
?printendpoint 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.















