# Theme file structure

The following is the valid structure of a zid theme:

```javascript
$ root
** required files
.
┃
┃─── layout.twig **
┃─── header.twig **
┃─── footer.twig **
┃
┃─── templates (accepted extensions: [ '.twig' ] )
┃    ┃─── 404.twig **
┃    ┃─── home.twig **
┃    ┃─── search.twig
┃    ┃─── products.twig **
┃    ┃─── product.twig **
┃    ┃─── categories.twig **
┃    ┃─── category.twig **
┃    ┃─── blogs.twig **
┃    ┃─── blog.twig
┃    ┃─── faqs.twig **
┃    ┃─── cart.twig **
┃    ┃─── shipping-and-payments.twig **
┃    ┃─── account-addresses.twig **
┃    ┃─── account-orders.twig **
┃    ┃─── account-profile.twig **
┃
┃─── modules (accepted extensions: ['.twig'] ) /optional/
┃
┃─── common (accepted extensions: ['.twig'] ) /optional/
┃
┃─── locals (accepted extensions: ['.json'] ) /optional/
┃
┃─── assets /optional/
```
