# Default template
This is the default template used by `quagga` to create the output prompt.
## General template structure
The template contains the following sections:
* **Prompt** - Contains the template for the output prompt, specified between the ``...`` tags. The prompt includes the *header*, *footer* and *file* sections.
* **Header/Footer** - The text that will be placed at the top and bottom of the output prompt. It is specified between the ``...`` and `` tags.
* **File** - The content of each individual text file, specified between the ``...`` tags.
* **Multi-part** - Used when the output prompt exceeds the `--max-part-size CHARS` limit, in which case the output is divided into parts, with each part having a part header and footer including the part number and total number of parts. The multipart template is defined between the ``...`` tags. These tags are placed outside the `` tags, since they are only used when the output prompt is too large to fit in a single part.
Note: The entire template must be enclosed with the opening and closing `template` tags so that `quagga` can locate it in this document.
## Tags
### Header/footer tags
These tags display information that will be shown at the start and the end of the output prompt. They are placed between ``...`` and `` tags:
* `` - Paths to all files that are included in the output prompt.
* `` - An ASCII tree representation the file paths.
* `` - Total size of all files in the output prompt.
### File tags
These tags are related to each individual file included in the output prompt and are placed between ``...`` tags:
* `` - The content of the text file.
* `` - The path to the file.
### Multi-part tags
These tags are used for indicating the start and the end of each individual part in the multi-part prompt. The template is only used when the output prompt size exceeds the `--max-part-size CHARS` limit. These tags are placed between ``...`` tags:
* ``...`` - The text printed out at the start of each part.
* `` - The text printed out at the end of each part.
* ``...`` - The text that will be shown when there are more parts remaining. The idea is to tell LLM not to respond until all parts are provided.
* `` - The number of the current part.
* `` - The total number of parts.
* `` - The number of parts remaining.
## Template
```html
The following is my code:
------ FILE START ------
------ FILE END ------
======== PART OF ========
This is only a part of the code. Please do not respond until I provide all parts ( remaining).
```