<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
    <title></title>
    <link rel="self" type="application/atom+xml" href="https://blog.hashbang.cl/en/atom.xml"/>
    <link rel="alternate" type="text/html" href="https://blog.hashbang.cl"/>
    <generator uri="https://www.getzola.org/">Zola</generator>
    <updated>2026-11-06T00:00:00+00:00</updated>
    <id>https://blog.hashbang.cl/en/atom.xml</id>
    <entry xml:lang="en">
        <title>Scaffold</title>
        <published>2026-11-06T00:00:00+00:00</published>
        <updated>2026-11-06T00:00:00+00:00</updated>
        
        <author>
          <name>hashbangcore</name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://blog.hashbang.cl/en/work/scaffold/"/>
        <id>https://blog.hashbang.cl/en/work/scaffold/</id>
        
        <content type="html" xml:base="https://blog.hashbang.cl/en/work/scaffold/">&lt;h1 id=&quot;scaffold&quot;&gt;Scaffold&lt;/h1&gt;
&lt;p&gt;This tool allows you to manage templates from the command line. It is simple, versatile, and fast.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://blog.hashbang.cl/en/work/scaffold/./README.es.md&quot;&gt;README in Spanish&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&quot;installation&quot;&gt;Installation&lt;/h2&gt;
&lt;pre class=&quot;giallo z-l-code z-d-code&quot; &gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-l-7 z-d-6&quot;&gt;cargo&lt;/span&gt;&lt;span class=&quot;z-l-6 z-d-2&quot;&gt; install&lt;/span&gt;&lt;span class=&quot;z-l-6 z-d-2&quot;&gt; scaffold-cli&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&quot;environment-variable&quot;&gt;Environment variable&lt;/h2&gt;
&lt;p&gt;The program uses only &lt;code&gt;SCAFFOLDS&lt;/code&gt; as an environment variable, which defines the path where templates are stored.&lt;/p&gt;
&lt;pre class=&quot;giallo z-l-code z-d-code&quot; &gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-l-10 z-d-8&quot;&gt;export&lt;/span&gt;&lt;span&gt; SCAFFOLDS&lt;/span&gt;&lt;span class=&quot;z-l-10 z-d-8&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;z-l-6 z-d-2&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span&gt;$&lt;/span&gt;&lt;span&gt;HOME&lt;/span&gt;&lt;span class=&quot;z-l-6 z-d-2&quot;&gt;/scaffolds&lt;/span&gt;&lt;span class=&quot;z-l-6 z-d-2&quot;&gt;&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&quot;commands&quot;&gt;Commands&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;init&lt;/code&gt;: deploys a template. If no destination is specified, the directory where the command is executed is used.&lt;/li&gt;
&lt;/ul&gt;
&lt;pre class=&quot;giallo z-l-code z-d-code&quot; &gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-l-7 z-d-6&quot;&gt;scaffold&lt;/span&gt;&lt;span class=&quot;z-l-6 z-d-2&quot;&gt; init&lt;/span&gt;&lt;span class=&quot;z-l-6 z-d-2&quot;&gt; template&lt;/span&gt;&lt;span&gt; [destination&lt;/span&gt;&lt;span&gt;]&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;list&lt;/code&gt;: lists the available templates.&lt;/li&gt;
&lt;/ul&gt;
&lt;pre class=&quot;giallo z-l-code z-d-code&quot; &gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-l-7 z-d-6&quot;&gt;scaffold&lt;/span&gt;&lt;span class=&quot;z-l-6 z-d-2&quot;&gt; list&lt;/span&gt;&lt;span&gt; [group/template&lt;/span&gt;&lt;span&gt;]&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;schema&lt;/code&gt;: prints the contents of &lt;code&gt;schema.json&lt;/code&gt;, if available.&lt;/li&gt;
&lt;/ul&gt;
&lt;pre class=&quot;giallo z-l-code z-d-code&quot; &gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-l-7 z-d-6&quot;&gt;scaffold&lt;/span&gt;&lt;span class=&quot;z-l-6 z-d-2&quot;&gt; schema&lt;/span&gt;&lt;span class=&quot;z-l-6 z-d-2&quot;&gt; group/template&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;completion&lt;/code&gt;: generates the autocompletion script for the selected shell.&lt;/li&gt;
&lt;/ul&gt;
&lt;pre class=&quot;giallo z-l-code z-d-code&quot; &gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-l-7 z-d-6&quot;&gt;scaffold&lt;/span&gt;&lt;span class=&quot;z-l-6 z-d-2&quot;&gt; completion&lt;/span&gt;&lt;span&gt; [shell&lt;/span&gt;&lt;span&gt;]&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;help&lt;/code&gt;: displays the help message.&lt;/li&gt;
&lt;/ul&gt;
&lt;pre class=&quot;giallo z-l-code z-d-code&quot; &gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-l-7 z-d-6&quot;&gt;scaffold&lt;/span&gt;&lt;span class=&quot;z-l-6 z-d-2&quot;&gt; help&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;version&lt;/code&gt;: displays the program version.&lt;/li&gt;
&lt;/ul&gt;
&lt;pre class=&quot;giallo z-l-code z-d-code&quot; &gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-l-7 z-d-6&quot;&gt;scaffold&lt;/span&gt;&lt;span class=&quot;z-l-6 z-d-2&quot;&gt; version&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&quot;organization-system&quot;&gt;Organization system&lt;/h2&gt;
&lt;p&gt;For the program to work correctly, templates must be organized into directories.&lt;/p&gt;
&lt;p&gt;The parent directory (group) can contain one or more subdirectories (templates), each with the elements you want to use.&lt;/p&gt;
&lt;pre class=&quot;giallo z-l-code z-d-code&quot; &gt;&lt;code data-lang=&quot;plain&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;$SCAFFOLDS/&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;├── group/&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;│   ├── template/&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;│   │   ├── file&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;│   │   └── directory&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;│   └── template/&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;└── group/&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    ├── template/&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    └── template/&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;For example, you can organize your &lt;code&gt;justfiles&lt;/code&gt; for different scenarios.&lt;/p&gt;
&lt;pre class=&quot;giallo z-l-code z-d-code&quot; &gt;&lt;code data-lang=&quot;plain&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;just/&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;├── just/&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;│   └── justfile&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;└── publish/&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    ├── dist/&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    │   └── justfile&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    └── justfile&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&quot;default-template&quot;&gt;Default template&lt;/h2&gt;
&lt;p&gt;The program determines the default template according to two rules:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;When it is the only template available within a group.&lt;/li&gt;
&lt;li&gt;When the template name matches the group name.&lt;/li&gt;
&lt;/ol&gt;
&lt;pre class=&quot;giallo z-l-code z-d-code&quot; &gt;&lt;code data-lang=&quot;plain&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;.&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;├── ansible/&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;│   ├── ansible   -&amp;gt; (default template)&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;│   ├── database/&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;│   └── firewall/&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;├── css/&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;│   ├── blades/&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;│   └── css       -&amp;gt; (default template)&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;├── just/&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;│   ├── just      -&amp;gt; (default template)&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;│   └── publish/&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;└── tofu/&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    └── forgejo   -&amp;gt; (default template)&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;In this context, the following commands produce the same result:&lt;/p&gt;
&lt;pre class=&quot;giallo z-l-code z-d-code&quot; &gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-l-7 z-d-6&quot;&gt;scaffold&lt;/span&gt;&lt;span class=&quot;z-l-6 z-d-2&quot;&gt; init&lt;/span&gt;&lt;span class=&quot;z-l-6 z-d-2&quot;&gt; tofu&lt;/span&gt;&lt;span class=&quot;z-l-6 z-d-2&quot;&gt; .&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-l-7 z-d-6&quot;&gt;scaffold&lt;/span&gt;&lt;span class=&quot;z-l-6 z-d-2&quot;&gt; init&lt;/span&gt;&lt;span class=&quot;z-l-6 z-d-2&quot;&gt; tofu/forgejo&lt;/span&gt;&lt;span class=&quot;z-l-6 z-d-2&quot;&gt; .&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;pre class=&quot;giallo z-l-code z-d-code&quot; &gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-l-7 z-d-6&quot;&gt;scaffold&lt;/span&gt;&lt;span class=&quot;z-l-6 z-d-2&quot;&gt; init&lt;/span&gt;&lt;span class=&quot;z-l-6 z-d-2&quot;&gt; ansible&lt;/span&gt;&lt;span class=&quot;z-l-6 z-d-2&quot;&gt; .&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-l-7 z-d-6&quot;&gt;scaffold&lt;/span&gt;&lt;span class=&quot;z-l-6 z-d-2&quot;&gt; init&lt;/span&gt;&lt;span class=&quot;z-l-6 z-d-2&quot;&gt; ansible/ansible&lt;/span&gt;&lt;span class=&quot;z-l-6 z-d-2&quot;&gt; .&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&quot;schema&quot;&gt;Schema&lt;/h2&gt;
&lt;p&gt;Optionally, you can use &lt;code&gt;schema.json&lt;/code&gt; to configure the deployment of your templates.&lt;/p&gt;
&lt;p&gt;The available options are &lt;code&gt;include&lt;/code&gt;, &lt;code&gt;exclude&lt;/code&gt;, &lt;code&gt;variables&lt;/code&gt;, &lt;code&gt;commands&lt;/code&gt;, and &lt;code&gt;delimiters&lt;/code&gt;.&lt;/p&gt;
&lt;pre class=&quot;giallo z-l-code z-d-code&quot; &gt;&lt;code data-lang=&quot;plain&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;just/&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;├── just/&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;│   ├── justfile&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;│   └── schema.json&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;└── publish/&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    ├── dist/&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    │   └── justfile&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    ├── justfile&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    └── schema.json&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;blockquote&gt;
&lt;p&gt;The &lt;code&gt;include&lt;/code&gt; and &lt;code&gt;exclude&lt;/code&gt; options allow you to use glob patterns to select files and directories.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3 id=&quot;including-files-and-directories&quot;&gt;Including files and directories&lt;/h3&gt;
&lt;p&gt;With &lt;code&gt;include&lt;/code&gt;, you can manually select the elements that the template should deploy.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;code&gt;schema.json&lt;/code&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;pre class=&quot;giallo z-l-code z-d-code&quot; &gt;&lt;code data-lang=&quot;json&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;{&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-l-4 z-d-1&quot;&gt;  &amp;quot;&lt;/span&gt;&lt;span class=&quot;z-l-4 z-d-1&quot;&gt;include&lt;/span&gt;&lt;span class=&quot;z-l-4 z-d-1&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span&gt; [&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-l-6 z-d-2&quot;&gt;    &amp;quot;&lt;/span&gt;&lt;span class=&quot;z-l-6 z-d-2&quot;&gt;pyproject.toml&lt;/span&gt;&lt;span class=&quot;z-l-6 z-d-2&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-l-6 z-d-2&quot;&gt;    &amp;quot;&lt;/span&gt;&lt;span class=&quot;z-l-6 z-d-2&quot;&gt;src/**/*.py&lt;/span&gt;&lt;span class=&quot;z-l-6 z-d-2&quot;&gt;&amp;quot;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;  ]&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;pre class=&quot;giallo z-l-code z-d-code&quot; &gt;&lt;code data-lang=&quot;plain&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;.&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;├── .git           -&amp;gt; (not included)&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;├── pyproject.toml&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;├── README.md      -&amp;gt; (not included)&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;├── schema.json    -&amp;gt; (not included by default)&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;└── src/&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    └── tool/&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;        └── __init__.py&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&quot;excluding-files-and-directories&quot;&gt;Excluding files and directories&lt;/h3&gt;
&lt;p&gt;With &lt;code&gt;exclude&lt;/code&gt;, you can manually select the elements you want to exclude.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;code&gt;schema.json&lt;/code&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;pre class=&quot;giallo z-l-code z-d-code&quot; &gt;&lt;code data-lang=&quot;json&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;{&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-l-4 z-d-1&quot;&gt;  &amp;quot;&lt;/span&gt;&lt;span class=&quot;z-l-4 z-d-1&quot;&gt;exclude&lt;/span&gt;&lt;span class=&quot;z-l-4 z-d-1&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span&gt; [&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-l-6 z-d-2&quot;&gt;    &amp;quot;&lt;/span&gt;&lt;span class=&quot;z-l-6 z-d-2&quot;&gt;.git&lt;/span&gt;&lt;span class=&quot;z-l-6 z-d-2&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-l-6 z-d-2&quot;&gt;    &amp;quot;&lt;/span&gt;&lt;span class=&quot;z-l-6 z-d-2&quot;&gt;README.md&lt;/span&gt;&lt;span class=&quot;z-l-6 z-d-2&quot;&gt;&amp;quot;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;  ]&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;blockquote&gt;
&lt;p&gt;This option is useful if you want to version your templates and include their own documentation.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3 id=&quot;variables&quot;&gt;Variables&lt;/h3&gt;
&lt;p&gt;In &lt;code&gt;schema.json&lt;/code&gt;, you can define your own variables, and their values will be injected into all files where the corresponding variables are detected.&lt;/p&gt;
&lt;p&gt;Variables are exposed through command-line flags when running &lt;code&gt;scaffold init&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;For example, you can define the &lt;code&gt;port&lt;/code&gt; variable. The program will search for &lt;code&gt;{{port}}&lt;/code&gt; in all files and perform the corresponding substitution.&lt;/p&gt;
&lt;pre class=&quot;giallo z-l-code z-d-code&quot; &gt;&lt;code data-lang=&quot;json&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;{&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-l-4 z-d-1&quot;&gt;  &amp;quot;&lt;/span&gt;&lt;span class=&quot;z-l-4 z-d-1&quot;&gt;variables&lt;/span&gt;&lt;span class=&quot;z-l-4 z-d-1&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span&gt; {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-l-4 z-d-1&quot;&gt;    &amp;quot;&lt;/span&gt;&lt;span class=&quot;z-l-4 z-d-1&quot;&gt;port&lt;/span&gt;&lt;span class=&quot;z-l-4 z-d-1&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span class=&quot;z-l-6 z-d-2&quot;&gt; &amp;quot;&lt;/span&gt;&lt;span class=&quot;z-l-6 z-d-2&quot;&gt;8080&lt;/span&gt;&lt;span class=&quot;z-l-6 z-d-2&quot;&gt;&amp;quot;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;  }&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;pre class=&quot;giallo z-l-code z-d-code&quot; &gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-l-7 z-d-6&quot;&gt;scaffold&lt;/span&gt;&lt;span class=&quot;z-l-6 z-d-2&quot;&gt; init&lt;/span&gt;&lt;span&gt; [template&lt;/span&gt;&lt;span&gt;] --port 9000&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;A more complex use case could be the following:&lt;/p&gt;
&lt;pre class=&quot;giallo z-l-code z-d-code&quot; &gt;&lt;code data-lang=&quot;json&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;{&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-l-4 z-d-1&quot;&gt;  &amp;quot;&lt;/span&gt;&lt;span class=&quot;z-l-4 z-d-1&quot;&gt;variables&lt;/span&gt;&lt;span class=&quot;z-l-4 z-d-1&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span&gt; {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-l-4 z-d-1&quot;&gt;    &amp;quot;&lt;/span&gt;&lt;span class=&quot;z-l-4 z-d-1&quot;&gt;name&lt;/span&gt;&lt;span class=&quot;z-l-4 z-d-1&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span class=&quot;z-l-6 z-d-2&quot;&gt; &amp;quot;&lt;/span&gt;&lt;span class=&quot;z-l-6 z-d-2&quot;&gt;Project name&lt;/span&gt;&lt;span class=&quot;z-l-6 z-d-2&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-l-4 z-d-1&quot;&gt;    &amp;quot;&lt;/span&gt;&lt;span class=&quot;z-l-4 z-d-1&quot;&gt;description&lt;/span&gt;&lt;span class=&quot;z-l-4 z-d-1&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span class=&quot;z-l-6 z-d-2&quot;&gt; &amp;quot;&lt;/span&gt;&lt;span class=&quot;z-l-6 z-d-2&quot;&gt;Hello world&lt;/span&gt;&lt;span class=&quot;z-l-6 z-d-2&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-l-4 z-d-1&quot;&gt;    &amp;quot;&lt;/span&gt;&lt;span class=&quot;z-l-4 z-d-1&quot;&gt;port&lt;/span&gt;&lt;span class=&quot;z-l-4 z-d-1&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span class=&quot;z-l-4 z-d-1&quot;&gt; 8080&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;  }&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;pre class=&quot;giallo z-l-code z-d-code&quot; &gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-l-7 z-d-6&quot;&gt;scaffold&lt;/span&gt;&lt;span class=&quot;z-l-6 z-d-2&quot;&gt; init&lt;/span&gt;&lt;span class=&quot;z-l-6 z-d-2&quot;&gt; web/laravel&lt;/span&gt;&lt;span class=&quot;z-l-6 z-d-2&quot;&gt; ./new-dashboard&lt;/span&gt;&lt;span class=&quot;z-l-4 z-d-1&quot;&gt; \&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-l-4 z-d-1&quot;&gt;  -&lt;/span&gt;&lt;span class=&quot;z-l-4 z-d-1&quot;&gt;-name&lt;/span&gt;&lt;span class=&quot;z-l-6 z-d-2&quot;&gt; dashboard&lt;/span&gt;&lt;span class=&quot;z-l-4 z-d-1&quot;&gt; \&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-l-4 z-d-1&quot;&gt;  -&lt;/span&gt;&lt;span class=&quot;z-l-4 z-d-1&quot;&gt;-description&lt;/span&gt;&lt;span class=&quot;z-l-6 z-d-2&quot;&gt; &amp;quot;&lt;/span&gt;&lt;span class=&quot;z-l-6 z-d-2&quot;&gt;Hotel reservation dashboard&lt;/span&gt;&lt;span class=&quot;z-l-6 z-d-2&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span class=&quot;z-l-4 z-d-1&quot;&gt; \&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-l-4 z-d-1&quot;&gt;  -&lt;/span&gt;&lt;span class=&quot;z-l-4 z-d-1&quot;&gt;-port&lt;/span&gt;&lt;span class=&quot;z-l-4 z-d-1&quot;&gt; 9000&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&quot;commands-1&quot;&gt;Commands&lt;/h3&gt;
&lt;p&gt;There may be cases where initialization tasks need to be executed when deploying a template; for this purpose, the &lt;code&gt;commands&lt;/code&gt; option is available.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;code&gt;schema.json&lt;/code&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;pre class=&quot;giallo z-l-code z-d-code&quot; &gt;&lt;code data-lang=&quot;json&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;{&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-l-4 z-d-1&quot;&gt;  &amp;quot;&lt;/span&gt;&lt;span class=&quot;z-l-4 z-d-1&quot;&gt;commands&lt;/span&gt;&lt;span class=&quot;z-l-4 z-d-1&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span&gt; [&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    [&lt;/span&gt;&lt;span class=&quot;z-l-6 z-d-2&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span class=&quot;z-l-6 z-d-2&quot;&gt;git&lt;/span&gt;&lt;span class=&quot;z-l-6 z-d-2&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;span class=&quot;z-l-6 z-d-2&quot;&gt; &amp;quot;&lt;/span&gt;&lt;span class=&quot;z-l-6 z-d-2&quot;&gt;init&lt;/span&gt;&lt;span class=&quot;z-l-6 z-d-2&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;span class=&quot;z-l-6 z-d-2&quot;&gt; &amp;quot;&lt;/span&gt;&lt;span class=&quot;z-l-6 z-d-2&quot;&gt;--initial-branch=dev&lt;/span&gt;&lt;span class=&quot;z-l-6 z-d-2&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span&gt;]&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    [&lt;/span&gt;&lt;span class=&quot;z-l-6 z-d-2&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span class=&quot;z-l-6 z-d-2&quot;&gt;npm&lt;/span&gt;&lt;span class=&quot;z-l-6 z-d-2&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;span class=&quot;z-l-6 z-d-2&quot;&gt; &amp;quot;&lt;/span&gt;&lt;span class=&quot;z-l-6 z-d-2&quot;&gt;install&lt;/span&gt;&lt;span class=&quot;z-l-6 z-d-2&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span&gt;]&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    [&lt;/span&gt;&lt;span class=&quot;z-l-6 z-d-2&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span class=&quot;z-l-6 z-d-2&quot;&gt;direnv&lt;/span&gt;&lt;span class=&quot;z-l-6 z-d-2&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;span class=&quot;z-l-6 z-d-2&quot;&gt; &amp;quot;&lt;/span&gt;&lt;span class=&quot;z-l-6 z-d-2&quot;&gt;allow&lt;/span&gt;&lt;span class=&quot;z-l-6 z-d-2&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span&gt;]&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;  ]&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Variables defined previously can be used in commands as follows:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;code&gt;schema.json&lt;/code&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;pre class=&quot;giallo z-l-code z-d-code&quot; &gt;&lt;code data-lang=&quot;json&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;{&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-l-4 z-d-1&quot;&gt;  &amp;quot;&lt;/span&gt;&lt;span class=&quot;z-l-4 z-d-1&quot;&gt;variables&lt;/span&gt;&lt;span class=&quot;z-l-4 z-d-1&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span&gt; {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-l-4 z-d-1&quot;&gt;    &amp;quot;&lt;/span&gt;&lt;span class=&quot;z-l-4 z-d-1&quot;&gt;branch&lt;/span&gt;&lt;span class=&quot;z-l-4 z-d-1&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span class=&quot;z-l-6 z-d-2&quot;&gt; &amp;quot;&lt;/span&gt;&lt;span class=&quot;z-l-6 z-d-2&quot;&gt;dev&lt;/span&gt;&lt;span class=&quot;z-l-6 z-d-2&quot;&gt;&amp;quot;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;  }&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-l-4 z-d-1&quot;&gt;  &amp;quot;&lt;/span&gt;&lt;span class=&quot;z-l-4 z-d-1&quot;&gt;commands&lt;/span&gt;&lt;span class=&quot;z-l-4 z-d-1&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span&gt; [&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    [&lt;/span&gt;&lt;span class=&quot;z-l-6 z-d-2&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span class=&quot;z-l-6 z-d-2&quot;&gt;git&lt;/span&gt;&lt;span class=&quot;z-l-6 z-d-2&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;span class=&quot;z-l-6 z-d-2&quot;&gt; &amp;quot;&lt;/span&gt;&lt;span class=&quot;z-l-6 z-d-2&quot;&gt;init&lt;/span&gt;&lt;span class=&quot;z-l-6 z-d-2&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;span class=&quot;z-l-6 z-d-2&quot;&gt; &amp;quot;&lt;/span&gt;&lt;span class=&quot;z-l-6 z-d-2&quot;&gt;--initial-branch={{branch}}&lt;/span&gt;&lt;span class=&quot;z-l-6 z-d-2&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span&gt;]&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;  ]&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;The template creates the &lt;code&gt;dev&lt;/code&gt; branch by default, but you can modify the &lt;code&gt;branch&lt;/code&gt; variable from the command line.&lt;/p&gt;
&lt;pre class=&quot;giallo z-l-code z-d-code&quot; &gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-l-7 z-d-6&quot;&gt;scaffold&lt;/span&gt;&lt;span class=&quot;z-l-6 z-d-2&quot;&gt; init&lt;/span&gt;&lt;span&gt; [template&lt;/span&gt;&lt;span&gt;] &lt;/span&gt;&lt;span&gt;[&lt;/span&gt;&lt;span&gt;directory&lt;/span&gt;&lt;span&gt;]&lt;/span&gt;&lt;span&gt; --branch main&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&quot;custom-delimiters&quot;&gt;Custom delimiters&lt;/h3&gt;
&lt;p&gt;By default, the delimiters are double braces &lt;code&gt;{{ variable }}&lt;/code&gt;, but you can change them by adding &lt;code&gt;settings.delimiters&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;code&gt;schema.json&lt;/code&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;pre class=&quot;giallo z-l-code z-d-code&quot; &gt;&lt;code data-lang=&quot;json&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;{&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-l-4 z-d-1&quot;&gt;  &amp;quot;&lt;/span&gt;&lt;span class=&quot;z-l-4 z-d-1&quot;&gt;settings&lt;/span&gt;&lt;span class=&quot;z-l-4 z-d-1&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span&gt; {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-l-4 z-d-1&quot;&gt;    &amp;quot;&lt;/span&gt;&lt;span class=&quot;z-l-4 z-d-1&quot;&gt;delimiters&lt;/span&gt;&lt;span class=&quot;z-l-4 z-d-1&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span&gt; {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-l-4 z-d-1&quot;&gt;      &amp;quot;&lt;/span&gt;&lt;span class=&quot;z-l-4 z-d-1&quot;&gt;open&lt;/span&gt;&lt;span class=&quot;z-l-4 z-d-1&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span class=&quot;z-l-6 z-d-2&quot;&gt; &amp;quot;&lt;/span&gt;&lt;span class=&quot;z-l-6 z-d-2&quot;&gt;#{&lt;/span&gt;&lt;span class=&quot;z-l-6 z-d-2&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-l-4 z-d-1&quot;&gt;      &amp;quot;&lt;/span&gt;&lt;span class=&quot;z-l-4 z-d-1&quot;&gt;close&lt;/span&gt;&lt;span class=&quot;z-l-4 z-d-1&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span class=&quot;z-l-6 z-d-2&quot;&gt; &amp;quot;&lt;/span&gt;&lt;span class=&quot;z-l-6 z-d-2&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;z-l-6 z-d-2&quot;&gt;&amp;quot;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    }&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;  }&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;In this scenario, you would need to use &lt;code&gt;#{variable}&lt;/code&gt; in your files.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;code&gt;Cargo.toml&lt;/code&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;pre class=&quot;giallo z-l-code z-d-code&quot; &gt;&lt;code data-lang=&quot;toml&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;[&lt;/span&gt;&lt;span class=&quot;z-l-7 z-d-6&quot;&gt;package&lt;/span&gt;&lt;span&gt;]&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;name&lt;/span&gt;&lt;span&gt; =&lt;/span&gt;&lt;span class=&quot;z-l-6 z-d-2&quot;&gt; &amp;quot;&lt;/span&gt;&lt;span class=&quot;z-l-6 z-d-2&quot;&gt;#{name}&lt;/span&gt;&lt;span class=&quot;z-l-6 z-d-2&quot;&gt;&amp;quot;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;description&lt;/span&gt;&lt;span&gt; =&lt;/span&gt;&lt;span class=&quot;z-l-6 z-d-2&quot;&gt; &amp;quot;&lt;/span&gt;&lt;span class=&quot;z-l-6 z-d-2&quot;&gt;#{name}&lt;/span&gt;&lt;span class=&quot;z-l-6 z-d-2&quot;&gt;&amp;quot;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;[[&lt;/span&gt;&lt;span class=&quot;z-l-7 z-d-6&quot;&gt;bin&lt;/span&gt;&lt;span&gt;]]&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;name&lt;/span&gt;&lt;span&gt; =&lt;/span&gt;&lt;span class=&quot;z-l-6 z-d-2&quot;&gt; &amp;quot;&lt;/span&gt;&lt;span class=&quot;z-l-6 z-d-2&quot;&gt;#{bin}&lt;/span&gt;&lt;span class=&quot;z-l-6 z-d-2&quot;&gt;&amp;quot;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;path&lt;/span&gt;&lt;span&gt; =&lt;/span&gt;&lt;span class=&quot;z-l-6 z-d-2&quot;&gt; &amp;quot;&lt;/span&gt;&lt;span class=&quot;z-l-6 z-d-2&quot;&gt;src/main.rs&lt;/span&gt;&lt;span class=&quot;z-l-6 z-d-2&quot;&gt;&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;strong&gt;&lt;code&gt;src/main.rs&lt;/code&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;pre class=&quot;giallo z-l-code z-d-code&quot; &gt;&lt;code data-lang=&quot;rust&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-l-10 z-d-8&quot;&gt;fn&lt;/span&gt;&lt;span class=&quot;z-l-7 z-d-6&quot;&gt; main&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;span&gt; {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-l-7 z-d-6&quot;&gt;    println!&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span class=&quot;z-l-6 z-d-2&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span class=&quot;z-l-6 z-d-2&quot;&gt;#&lt;/span&gt;&lt;span class=&quot;z-l-6 z-d-2&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;z-l-6 z-d-2&quot;&gt;name&lt;/span&gt;&lt;span class=&quot;z-l-6 z-d-2&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;z-l-6 z-d-2&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;blockquote&gt;
&lt;p&gt;Personally, I don&#39;t like software that limits the user, but using fixed delimiters simplifies &lt;code&gt;schema.json&lt;/code&gt; compared to the previous version. To deal with this contradiction, I decided to include the option to define custom delimiters. &lt;code&gt;settings&lt;/code&gt; is reserved for possible customizations in the future.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id=&quot;license&quot;&gt;License&lt;/h2&gt;
&lt;p&gt;BSD 2-Clause. See &lt;a href=&quot;https://blog.hashbang.cl/en/work/scaffold/./LICENSE&quot;&gt;LICENSE&lt;/a&gt;.&lt;/p&gt;
</content>
        
    </entry>
</feed>
