Theme Development Kit serves themes from a standard Finqu theme directory. Your project should follow the same layout used in production so that templates, assets, and configuration work as expected. ## Directory layout A typical theme looks like this: ``` my-theme/ ├── assets/ # CSS, JS, images, fonts ├── config/ # Theme configuration (settings schema and data) ├── layout/ # Layout templates (Liquid) ├── locales/ # Translation files (JSON) ├── sections/ # Section templates (Liquid) ├── snippets/ # Reusable template snippets (Liquid) ├── templates/ # Page templates (Liquid) ├── public/ # Static public files └── finqu.config.json # Optional Theme Development Kit / project config ``` - **`assets/`** — Stylesheets (including `.scss.liquid`), JavaScript, images, fonts, and other static files. The dev server compiles Sass and processes Liquid inside assets. See the [Assets](/build-with-finqu/liquid-themes/assets) article for details. - **`config/`** — Theme configuration: `settings_schema.json` (structure of theme settings) and `settings_data.json` (current values). Required for a valid theme. See [Settings](/build-with-finqu/liquid-themes/settings) for schema and customization. - **`layout/`** — Layout files such as `theme.liquid` that wrap page content. See [Templates & Layouts](/build-with-finqu/liquid-themes/templates-layouts) for how layouts and templates work together. - **`locales/`** — JSON locale files (e.g. `en.json`) for translations and dynamic copy. - **`sections/`** — Section Liquid files that define page building blocks. Sections can contain blocks and are the main structural units of a theme. See [Sections](/build-with-finqu/liquid-themes/sections) and [Theme structure](/build-with-finqu/liquid-themes/theme-structure). - **`snippets/`** — Reusable Liquid fragments included from layouts, templates, or sections. - **`templates/`** — Page templates (e.g. `frontpage.liquid`, `product.liquid`, `cart.liquid`) that map URLs to content. Described in [Templates & Layouts](/build-with-finqu/liquid-themes/templates-layouts). - **`public/`** — Files served as-is (e.g. `robots.txt`, favicons). - **`finqu.config.json`** — Optional project-level config for Theme Development Kit (e.g. port). Not part of the theme payload; see [Configuration and features](./configuration-and-features). ## Minimum required structure To run a theme with Theme Development Kit you need at least: - **`layout/theme.liquid`** — Main layout. - **`config/settings_schema.json`** and **`config/settings_data.json`** — Theme settings definition and values. - At least one template in **`templates/`** (e.g. `frontpage.liquid`). - A locale file in **`locales/`** (e.g. `en.json`) for each language you use. Optional but common: **`sections/`**, **`snippets/`**, **`blocks/`** (see [Blocks](/build-with-finqu/liquid-themes/blocks)), and **`assets/`** for styles and scripts. ## Learn more about Liquid themes The [Liquid theme documentation](/build-with-finqu/liquid-themes/theme-structure) goes deeper into each directory, required files, and best practices: - [Theme structure](/build-with-finqu/liquid-themes/theme-structure) — Directory overview, required files, and configuration. - [Sections](/build-with-finqu/liquid-themes/sections) — Building and configuring sections. - [Blocks](/build-with-finqu/liquid-themes/blocks) — Modular components inside sections. - [Templates & Layouts](/build-with-finqu/liquid-themes/templates-layouts) — Page templates and layout hierarchy. - [Assets](/build-with-finqu/liquid-themes/assets) — Styles, scripts, and referencing assets in Liquid. - [Settings](/build-with-finqu/liquid-themes/settings) — Theme, section, and block settings. For checkout-specific structure (when your plan supports it), see [Checkout (Plus)](/build-with-finqu/liquid-themes/checkout).