Due to the fact that eZ Platform is built using the Symfony 2 framework, it is possible to benefit from most of its stock features such as Bundle Inheritance. You should check out the related Symfony documentation.
Bundle Inheritance allows you to customize a template from a parent bundle. This is very convenient when creating a custom design for an already existing piece of code.
In this cookbook we will create a customized version of a template from the DemoBundle.Creating a bundle
Create a new bundle to host your design using the dedicated command (from your app installation):
Configuring bundle to inherit from another
Following the related Symfony documentation, modify your bundle to make it inherit from the "eZDemoBundle". Then copy a template from the DemoBundle in the new bundle, following the same directory structure. Customize this template, clear application caches and reload the page. You custom design should be available.
Known limitation
If you are experiencing problems with routes not working after adding your bundle, take a look at this issue.