{
  "version": "https://jsonfeed.org/version/1.1",
  "title": "Cecil - Commands",
  "home_page_url": "https://cecil.app/documentation/commands/",
  "feed_url": "https://cecil.app/documentation/commands/feed.json",
  "description": "Reference of Cecil CLI commands and options.",
  "icon": "https://cecil.app/favicon.7ff4b89eec6dad139a7d2d6561543285.png",
  "favicon": "https://cecil.app/thumbnails/64x/favicon.7ff4b89eec6dad139a7d2d6561543285.png",
  "language": "en",
  "items": [
    {
      "id": "https://cecil.app/documentation/commands/new-site/",
      "url": "https://cecil.app/documentation/commands/new-site/",
      "title": "new:site",
      "summary": "Create a new website.",
      "date_published": "2020-12-19T00:00:00+00:00",
      "date_modified": "2026-10-02T00:00:00+00:00","content_text": "new:site\nCreates a new site.\nDescription:\n  Creates a new website\n\nUsage:\n  new:site [options] [--] [&lt;path&gt;]\n\nArguments:\n  path                  Use the given path as working directory\n\nOptions:\n  -f, --force           Override directory if it already exists\n      --demo            Add demo content (pages, templates and assets)\n  -h, --help            Display help for the given command. When no command is given display help for the list command\n  -q, --quiet           Do not output any message\n  -V, --version         Display this application version\n      --ansi|--no-ansi  Force (or disable --no-ansi) ANSI output\n  -n, --no-interaction  Do not ask any interactive question\n  -v|vv|vvv, --verbose  Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug\n\nHelp:\n  The new:site command creates a new website in the current directory, or in &lt;path&gt; if provided.\n  If you run this command without any options, it will ask you for the website title, baseline, base URL, description, etc.\n\n    cecil.phar new:site\n    cecil.phar new:site path\/to\/the\/working\/directory\n\n  To create a new website with demo content, run:\n\n    cecil.phar new:site --demo\n\n  To override an existing website, run:\n\n    cecil.phar new:site --force",
      "content_html": "<h1>new:site</h1>\n<p>Creates a new site.</p>\n<pre><code class=\"language-plaintext hljs plaintext\" translate=\"no\">Description:\n  Creates a new website\n\nUsage:\n  new:site [options] [--] [&lt;path&gt;]\n\nArguments:\n  path                  Use the given path as working directory\n\nOptions:\n  -f, --force           Override directory if it already exists\n      --demo            Add demo content (pages, templates and assets)\n  -h, --help            Display help for the given command. When no command is given display help for the list command\n  -q, --quiet           Do not output any message\n  -V, --version         Display this application version\n      --ansi|--no-ansi  Force (or disable --no-ansi) ANSI output\n  -n, --no-interaction  Do not ask any interactive question\n  -v|vv|vvv, --verbose  Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug\n\nHelp:\n  The new:site command creates a new website in the current directory, or in &lt;path&gt; if provided.\n  If you run this command without any options, it will ask you for the website title, baseline, base URL, description, etc.\n\n    cecil.phar new:site\n    cecil.phar new:site path/to/the/working/directory\n\n  To create a new website with demo content, run:\n\n    cecil.phar new:site --demo\n\n  To override an existing website, run:\n\n    cecil.phar new:site --force</code></pre>",
      "language": "en"
    },
    {
      "id": "https://cecil.app/documentation/commands/new-page/",
      "url": "https://cecil.app/documentation/commands/new-page/",
      "title": "new:page",
      "summary": "Create a new page, optionally from a model.",
      "date_published": "2020-12-19T00:00:00+00:00",
      "date_modified": "2026-10-02T00:00:00+00:00","content_text": "new:page\nCreates a new page.\nDescription:\n  Creates a new page\n\nUsage:\n  new:page [options] [--] [&lt;path&gt;]\n\nArguments:\n  path                        Use the given path as working directory\n\nOptions:\n      --name=NAME             Page path name\n      --slugify|--no-slugify  Slugify file name (or disable --no-slugify)\n  -p, --prefix                Prefix the file name with the current date (`YYYY-MM-DD`)\n  -f, --force                 Override the file if already exist\n  -o, --open                  Open editor automatically\n      --editor=EDITOR         Editor to use with open option\n  -h, --help                  Display help for the given command. When no command is given display help for the list command\n  -q, --quiet                 Do not output any message\n  -V, --version               Display this application version\n      --ansi|--no-ansi        Force (or disable --no-ansi) ANSI output\n  -n, --no-interaction        Do not ask any interactive question\n  -v|vv|vvv, --verbose        Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug\n\nHelp:\n  The new:page command creates a new page file.\n  If you run this command without any options, it will ask you for the page name and other options.\n\n    cecil.phar new:page\n    cecil.phar new:page --name=path\/to\/a-page.md\n    cecil.phar new:page --name=path\/to\/A Page.md --slugify\n\n  To create a new page with a date prefix (i.e: `YYYY-MM-DD`), run:\n\n    cecil.phar new:page --prefix\n\n  To create a new page and open it with an editor, run:\n\n    cecil.phar new:page --open --editor=editor\n\n  To override an existing page, run:\n\n    cecil.phar new:page --force\nPage’s models\nYou can define your own models for your new pages in the models directory:\n\nThe name must be based on the section’s name (e.g.: blog.md)\nThe default model must be named default.md (for root pages or pages’s section without model)\n\nTwo dynamic variables are available:\n\n%title%: the file’s name\n%date%: the current date\n\nOpen with your editor\nWith the --open option, the editor will be opened automatically. So use editor key in your configuration file to define the default editor (e.g.: editor: typora).",
      "content_html": "<h1>new:page</h1>\n<p>Creates a new page.</p>\n<pre><code class=\"language-plaintext hljs plaintext\" translate=\"no\">Description:\n  Creates a new page\n\nUsage:\n  new:page [options] [--] [&lt;path&gt;]\n\nArguments:\n  path                        Use the given path as working directory\n\nOptions:\n      --name=NAME             Page path name\n      --slugify|--no-slugify  Slugify file name (or disable --no-slugify)\n  -p, --prefix                Prefix the file name with the current date (`YYYY-MM-DD`)\n  -f, --force                 Override the file if already exist\n  -o, --open                  Open editor automatically\n      --editor=EDITOR         Editor to use with open option\n  -h, --help                  Display help for the given command. When no command is given display help for the list command\n  -q, --quiet                 Do not output any message\n  -V, --version               Display this application version\n      --ansi|--no-ansi        Force (or disable --no-ansi) ANSI output\n  -n, --no-interaction        Do not ask any interactive question\n  -v|vv|vvv, --verbose        Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug\n\nHelp:\n  The new:page command creates a new page file.\n  If you run this command without any options, it will ask you for the page name and other options.\n\n    cecil.phar new:page\n    cecil.phar new:page --name=path/to/a-page.md\n    cecil.phar new:page --name=path/to/A Page.md --slugify\n\n  To create a new page with a date prefix (i.e: `YYYY-MM-DD`), run:\n\n    cecil.phar new:page --prefix\n\n  To create a new page and open it with an editor, run:\n\n    cecil.phar new:page --open --editor=editor\n\n  To override an existing page, run:\n\n    cecil.phar new:page --force</code></pre>\n<h2 id=\"page-s-models\">Page’s models</h2>\n<p>You can define your own models for your new pages in the <code translate=\"no\">models</code> directory:</p>\n<ol>\n<li>The name must be based on the section’s name (e.g.: <code translate=\"no\">blog.md</code>)</li>\n<li>The default model must be named <code translate=\"no\">default.md</code> (for root pages or pages’s section without model)</li>\n</ol>\n<p>Two dynamic variables are available:</p>\n<ol>\n<li><code translate=\"no\">%title%</code>: the file’s name</li>\n<li><code translate=\"no\">%date%</code>: the current date</li>\n</ol>\n<h2 id=\"open-with-your-editor\">Open with your editor</h2>\n<p>With the <code translate=\"no\">--open</code> option, the editor will be opened automatically. So use <code translate=\"no\">editor</code> key in your configuration file to define the default editor (e.g.: <code translate=\"no\">editor: typora</code>).</p>",
      "language": "en"
    },
    {
      "id": "https://cecil.app/documentation/commands/serve/",
      "url": "https://cecil.app/documentation/commands/serve/",
      "title": "serve",
      "summary": "Preview the website with the built-in server.",
      "date_published": "2020-12-19T00:00:00+00:00",
      "date_modified": "2026-10-02T00:00:00+00:00","content_text": "serve\nBuilds and serves the site locally.\nThe web server is designed to aid website testing. It is not intended to be a full-featured web server and it should not be used on a public network.\nDescription:\n  Starts the built-in server\n\nUsage:\n  serve [options] [--] [&lt;path&gt;]\n\nArguments:\n  path                             Use the given path as working directory\n\nOptions:\n  -o, --open                       Open web browser automatically\n      --host=HOST                  Server host [default: \"localhost\"]\n      --port=PORT                  Server port [default: \"8000\"]\n  -w, --watch|--no-watch           Enable (or disable --no-watch) changes watcher (enabled by default)\n  -i, --incremental                Enable incremental builds (rebuild only changed pages)\n  -d, --drafts                     Include drafts\n      --optimize|--no-optimize     Enable (or disable --no-optimize) optimization of generated files\n  -c, --config=CONFIG              Set the path to extra config files (comma-separated)\n      --clear-cache[=CLEAR-CACHE]  Clear cache before build (optional cache key as regular expression) [default: false]\n  -p, --page=PAGE                  Build a specific page\n      --no-ignore-vcs              Changes watcher must not ignore VCS directories\n  -m, --metrics                    Show build metrics (duration and memory) of each step\n      --timeout=TIMEOUT            Sets the process timeout (max. runtime) in seconds [default: 7200]\n      --notify                     Send desktop notification on server start\n  -b, --background                 Run the server in the background\n  -h, --help                       Display help for the given command. When no command is given display help for the list command\n  -q, --quiet                      Do not output any message\n  -V, --version                    Display this application version\n      --ansi|--no-ansi             Force (or disable --no-ansi) ANSI output\n  -n, --no-interaction             Do not ask any interactive question\n  -v|vv|vvv, --verbose             Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug\n\nHelp:\n  The serve command starts the live-reloading-built-in web server.\n\n    cecil.phar serve\n    cecil.phar serve path\/to\/the\/working\/directory\n    cecil.phar serve --open\n    cecil.phar serve --drafts\n    cecil.phar serve --no-watch\n\n  To speed up local development you can enable incremental builds with the --incremental option.\n  When content pages change, Cecil rebuilds just those pages.\n  When templates change, Cecil rebuilds only pages using those templates (including Twig dependencies such as extends\/include).\n  Any other change (data, config, static or asset file, or file deletion) triggers a full rebuild:\n\n    cecil.phar serve --incremental\n\n  You can use a custom host and port by using the --host and --port options:\n\n    cecil.phar serve --host=127.0.0.1 --port=8080\n\n  To build the website with an extra configuration file, you can use the --config option.\n  This is useful during local development to override some settings without modifying the main configuration:\n\n    cecil.phar serve --config=config\/dev.yml\n\n  To start the server with changes watcher not ignoring VCS directories, run:\n\n    cecil.phar serve --no-ignore-vcs\n\n  To define the process timeout (in seconds), run:\n\n    cecil.phar serve --timeout=7200\n\n  To run the server in the background, run:\n\n    cecil.phar serve --background\n    cecil.phar serve -b\n\n  Then stop it with:\n\n    cecil.phar serve:stop\n\n  In background mode, file changes are not watched automatically.\nserve:background\nAlias of serve --background: starts the built-in server in the background without occupying the terminal.\nDescription:\n  Starts the built-in server in the background (alias of `serve --background`)\n\nUsage:\n  serve:background [options] [--] [&lt;path&gt;]\n\nHelp:\n  The serve:background command starts the built-in web server in the background.\n\n    cecil.phar serve:background\n    cecil.phar serve:background path\/to\/the\/working\/directory\n\n  This command is an alias of serve --background.\n\n  Stop the server with:\n\n    cecil.phar serve:stop\nserve:log\nDisplays the combined server and error logs.\nDescription:\n  Shows combined server and error logs\n\nUsage:\n  serve:log [options] [--] [&lt;path&gt;]\n\nArguments:\n  path                  Use the given path as working directory\n\nOptions:\n  -l, --lines=LINES     Number of entries to display (default: 25)\n\nHelp:\n  The serve:log command displays entries from combined server and error logs, sorted by date.\n\n    cecil.phar serve:log\n    cecil.phar serve:log path\/to\/the\/working\/directory\n    cecil.phar serve:log --lines=100\n    cecil.phar serve:log -l 100\n\n  This command shows logs from `.cecil\/errors.log` and `.cecil\/server.log`.\n  It is useful for debugging issues with your local development server.",
      "content_html": "<h1>serve</h1>\n<p>Builds and serves the site locally.</p>\n<aside class=\"note note-warning\"><p>The web server is designed to aid website testing. It is not intended to be a full-featured web server and it should not be used on a public network.</p></aside>\n<pre><code class=\"language-plaintext hljs plaintext\" translate=\"no\">Description:\n  Starts the built-in server\n\nUsage:\n  serve [options] [--] [&lt;path&gt;]\n\nArguments:\n  path                             Use the given path as working directory\n\nOptions:\n  -o, --open                       Open web browser automatically\n      --host=HOST                  Server host [default: \"localhost\"]\n      --port=PORT                  Server port [default: \"8000\"]\n  -w, --watch|--no-watch           Enable (or disable --no-watch) changes watcher (enabled by default)\n  -i, --incremental                Enable incremental builds (rebuild only changed pages)\n  -d, --drafts                     Include drafts\n      --optimize|--no-optimize     Enable (or disable --no-optimize) optimization of generated files\n  -c, --config=CONFIG              Set the path to extra config files (comma-separated)\n      --clear-cache[=CLEAR-CACHE]  Clear cache before build (optional cache key as regular expression) [default: false]\n  -p, --page=PAGE                  Build a specific page\n      --no-ignore-vcs              Changes watcher must not ignore VCS directories\n  -m, --metrics                    Show build metrics (duration and memory) of each step\n      --timeout=TIMEOUT            Sets the process timeout (max. runtime) in seconds [default: 7200]\n      --notify                     Send desktop notification on server start\n  -b, --background                 Run the server in the background\n  -h, --help                       Display help for the given command. When no command is given display help for the list command\n  -q, --quiet                      Do not output any message\n  -V, --version                    Display this application version\n      --ansi|--no-ansi             Force (or disable --no-ansi) ANSI output\n  -n, --no-interaction             Do not ask any interactive question\n  -v|vv|vvv, --verbose             Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug\n\nHelp:\n  The serve command starts the live-reloading-built-in web server.\n\n    cecil.phar serve\n    cecil.phar serve path/to/the/working/directory\n    cecil.phar serve --open\n    cecil.phar serve --drafts\n    cecil.phar serve --no-watch\n\n  To speed up local development you can enable incremental builds with the --incremental option.\n  When content pages change, Cecil rebuilds just those pages.\n  When templates change, Cecil rebuilds only pages using those templates (including Twig dependencies such as extends/include).\n  Any other change (data, config, static or asset file, or file deletion) triggers a full rebuild:\n\n    cecil.phar serve --incremental\n\n  You can use a custom host and port by using the --host and --port options:\n\n    cecil.phar serve --host=127.0.0.1 --port=8080\n\n  To build the website with an extra configuration file, you can use the --config option.\n  This is useful during local development to override some settings without modifying the main configuration:\n\n    cecil.phar serve --config=config/dev.yml\n\n  To start the server with changes watcher not ignoring VCS directories, run:\n\n    cecil.phar serve --no-ignore-vcs\n\n  To define the process timeout (in seconds), run:\n\n    cecil.phar serve --timeout=7200\n\n  To run the server in the background, run:\n\n    cecil.phar serve --background\n    cecil.phar serve -b\n\n  Then stop it with:\n\n    cecil.phar serve:stop\n\n  In background mode, file changes are not watched automatically.</code></pre>\n<h2 id=\"serve-background\">serve:background</h2>\n<p>Alias of <code translate=\"no\">serve --background</code>: starts the built-in server in the background without occupying the terminal.</p>\n<pre><code class=\"language-plaintext hljs plaintext\" translate=\"no\">Description:\n  Starts the built-in server in the background (alias of `serve --background`)\n\nUsage:\n  serve:background [options] [--] [&lt;path&gt;]\n\nHelp:\n  The serve:background command starts the built-in web server in the background.\n\n    cecil.phar serve:background\n    cecil.phar serve:background path/to/the/working/directory\n\n  This command is an alias of serve --background.\n\n  Stop the server with:\n\n    cecil.phar serve:stop</code></pre>\n<h2 id=\"serve-log\">serve:log</h2>\n<p>Displays the combined server and error logs.</p>\n<pre><code class=\"language-plaintext hljs plaintext\" translate=\"no\">Description:\n  Shows combined server and error logs\n\nUsage:\n  serve:log [options] [--] [&lt;path&gt;]\n\nArguments:\n  path                  Use the given path as working directory\n\nOptions:\n  -l, --lines=LINES     Number of entries to display (default: 25)\n\nHelp:\n  The serve:log command displays entries from combined server and error logs, sorted by date.\n\n    cecil.phar serve:log\n    cecil.phar serve:log path/to/the/working/directory\n    cecil.phar serve:log --lines=100\n    cecil.phar serve:log -l 100\n\n  This command shows logs from `.cecil/errors.log` and `.cecil/server.log`.\n  It is useful for debugging issues with your local development server.</code></pre>",
      "language": "en"
    },
    {
      "id": "https://cecil.app/documentation/commands/build/",
      "url": "https://cecil.app/documentation/commands/build/",
      "title": "build",
      "summary": "Build the website.",
      "date_published": "2020-12-19T00:00:00+00:00",
      "date_modified": "2026-10-02T00:00:00+00:00","content_text": "build\nBuilds the site.\nDescription:\n  Builds the website\n\nUsage:\n  build [options] [--] [&lt;path&gt;]\n\nArguments:\n  path                               Use the given path as working directory\n\nOptions:\n  -d, --drafts                       Include drafts\n  -u, --baseurl=BASEURL              Set the base URL\n  -o, --output=OUTPUT                Set the output directory\n      --optimize|--no-optimize       Enable (or disable --no-optimize) optimization of generated files\n      --dry-run                      Build without saving\n  -c, --config=CONFIG                Set the path to extra config files (comma-separated)\n      --clear-cache[=CLEAR-CACHE]    Clear cache before build (optional cache key as regular expression) [default: false]\n  -p, --page=PAGE                    Build a specific page\n      --render-subset=RENDER-SUBSET  Render a subset of pages\n      --show-pages                   Show list of built pages in a table\n  -m, --metrics                      Show build metrics (duration and memory) of each step\n      --notify                       Send desktop notification on build completion\n  -h, --help                         Display help for the given command. When no command is given display help for the list command\n  -q, --quiet                        Do not output any message\n  -V, --version                      Display this application version\n      --ansi|--no-ansi               Force (or disable --no-ansi) ANSI output\n  -n, --no-interaction               Do not ask any interactive question\n  -v|vv|vvv, --verbose               Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug\n\nHelp:\n  The build command generates the website in the output directory.\n\n    cecil.phar build\n    cecil.phar build path\/to\/the\/working\/directory\n    cecil.phar build --baseurl=https:\/\/example.com\/\n    cecil.phar build --output=_site\n\n  To build the website with optimization of generated files, you can use the --optimize option.\n  This is useful to reduce the size of the generated files and improve performance:\n\n    cecil.phar build --optimize\n    cecil.phar build --no-optimize\n\n  To build the website without overwriting files in the output directory, you can use the --dry-run option.\n  This is useful to check what would be built without actually writing files:\n\n    cecil.phar build --dry-run\n\n  To build the website with a specific subset of rendered pages, you can use the --render-subset option.\n  This is useful to build only a part of the website, for example, only \"hot\" pages or a specific section:\n\n    cecil.phar build --render-subset=subset\n\n  To show build steps metrics, run:\n\n    cecil.phar build --metrics",
      "content_html": "<h1>build</h1>\n<p>Builds the site.</p>\n<pre><code class=\"language-plaintext hljs plaintext\" translate=\"no\">Description:\n  Builds the website\n\nUsage:\n  build [options] [--] [&lt;path&gt;]\n\nArguments:\n  path                               Use the given path as working directory\n\nOptions:\n  -d, --drafts                       Include drafts\n  -u, --baseurl=BASEURL              Set the base URL\n  -o, --output=OUTPUT                Set the output directory\n      --optimize|--no-optimize       Enable (or disable --no-optimize) optimization of generated files\n      --dry-run                      Build without saving\n  -c, --config=CONFIG                Set the path to extra config files (comma-separated)\n      --clear-cache[=CLEAR-CACHE]    Clear cache before build (optional cache key as regular expression) [default: false]\n  -p, --page=PAGE                    Build a specific page\n      --render-subset=RENDER-SUBSET  Render a subset of pages\n      --show-pages                   Show list of built pages in a table\n  -m, --metrics                      Show build metrics (duration and memory) of each step\n      --notify                       Send desktop notification on build completion\n  -h, --help                         Display help for the given command. When no command is given display help for the list command\n  -q, --quiet                        Do not output any message\n  -V, --version                      Display this application version\n      --ansi|--no-ansi               Force (or disable --no-ansi) ANSI output\n  -n, --no-interaction               Do not ask any interactive question\n  -v|vv|vvv, --verbose               Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug\n\nHelp:\n  The build command generates the website in the output directory.\n\n    cecil.phar build\n    cecil.phar build path/to/the/working/directory\n    cecil.phar build --baseurl=https://example.com/\n    cecil.phar build --output=_site\n\n  To build the website with optimization of generated files, you can use the --optimize option.\n  This is useful to reduce the size of the generated files and improve performance:\n\n    cecil.phar build --optimize\n    cecil.phar build --no-optimize\n\n  To build the website without overwriting files in the output directory, you can use the --dry-run option.\n  This is useful to check what would be built without actually writing files:\n\n    cecil.phar build --dry-run\n\n  To build the website with a specific subset of rendered pages, you can use the --render-subset option.\n  This is useful to build only a part of the website, for example, only \"hot\" pages or a specific section:\n\n    cecil.phar build --render-subset=subset\n\n  To show build steps metrics, run:\n\n    cecil.phar build --metrics</code></pre>",
      "language": "en"
    },
    {
      "id": "https://cecil.app/documentation/commands/doctor/",
      "url": "https://cecil.app/documentation/commands/doctor/",
      "title": "doctor",
      "summary": "Diagnose the configuration, front matter and SEO.",
      "date_published": "2020-12-19T00:00:00+00:00",
      "date_modified": "2026-10-02T00:00:00+00:00","content_text": "doctor\nDiagnoses the current site and Cecil environment.\nDescription:\n  Diagnoses the site configuration\n\nUsage:\n  doctor [options] [--] [&lt;path&gt;]\n\nArguments:\n  path                       Use the given path as working directory\n\nOptions:\n  -c, --config=CONFIG        Set the path to an extra configuration file\n  -h, --help                 Display help for the given command. When no command is given display help for the list command\n  -q, --quiet                Do not output any message\n  -V, --version              Display this application version\n      --ansi|--no-ansi       Force (or disable --no-ansi) ANSI output\n  -n, --no-interaction       Do not ask any interactive question\n  -v|vv|vvv, --verbose       Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug\n\nHelp:\n  The doctor command diagnoses the current site and Cecil environment.\n\n    cecil.phar doctor\n    cecil.phar doctor path\/to\/the\/working\/directory\n\n  To inspect a site with an extra configuration file, run:\n\n    cecil.phar doctor --config=config.yml\ndoctor:frontmatter\nValidates pages front matter syntax.\nDescription:\n  Validates pages front matter syntax\n\nUsage:\n  doctor:frontmatter|doctor:fm [options] [--] [&lt;path&gt;]\n\nArguments:\n  path                  Use the given path as working directory\n\nOptions:\n  -c, --config=CONFIG   Set the path to an extra configuration file\n  -p, --page=PAGE       Validate a single page relative to the pages directory\n      --ansi|--no-ansi  Force (or disable --no-ansi) ANSI output\n  -n, --no-interaction  Do not ask any interactive question\n  -h, --help            Display help for the given command. When no command is given display help for the list command\n  -q, --quiet           Do not output any message\n  -V, --version         Display this application version\n  -v|vv|vvv             Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug\ndoctor:seo\nAudits rendered HTML pages for common SEO issues.\nDescription:\n  Audits rendered HTML pages for common SEO issues\n\nUsage:\n  doctor:seo [options] [--] [&lt;path&gt;]\n\nArguments:\n  path                  Use the given path as working directory\n\nOptions:\n  -c, --config=CONFIG   Set the path to an extra configuration file\n  -p, --page=PAGE       Audit a single page relative to the pages directory\n      --format=FORMAT   Output format: text (default) or json\n      --feedback        Include findings with feedback level\n      --include-virtual Include virtual pages (paginated, taxonomies) in audit\nThe command builds the site in dry-run mode, then audits the rendered HTML output for a focused set of checks: title tag, meta description, canonical URL, heading structure, Open Graph tags, image alt attributes and estimated content length.\nBy default, virtual pages (paginated, taxonomy pages) are excluded from the audit. Use --include-virtual to include them.\nBy default, findings with level feedback are not listed.\nUse --feedback to include findings with level feedback in addition to other findings.\nOutput results as JSON for CI integration using --format=json.\nConfiguration\nCustomize audit thresholds and enabled checks in your configuration file:\ndoctor:\n  seo:\n    title: { min: 30, max: 60 }\n    description: { min: 120, max: 160 }\n    content: { min_words: 300 }\n    checks:\n      title: true\n      description: true\n      canonical: true\n      h1: true\n      og_tags: true\n      img_alt: true\n      content_length: true\n      lang_attribute: true",
      "content_html": "<h1>doctor</h1>\n<p>Diagnoses the current site and Cecil environment.</p>\n<pre><code class=\"language-plaintext hljs plaintext\" translate=\"no\">Description:\n  Diagnoses the site configuration\n\nUsage:\n  doctor [options] [--] [&lt;path&gt;]\n\nArguments:\n  path                       Use the given path as working directory\n\nOptions:\n  -c, --config=CONFIG        Set the path to an extra configuration file\n  -h, --help                 Display help for the given command. When no command is given display help for the list command\n  -q, --quiet                Do not output any message\n  -V, --version              Display this application version\n      --ansi|--no-ansi       Force (or disable --no-ansi) ANSI output\n  -n, --no-interaction       Do not ask any interactive question\n  -v|vv|vvv, --verbose       Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug\n\nHelp:\n  The doctor command diagnoses the current site and Cecil environment.\n\n    cecil.phar doctor\n    cecil.phar doctor path/to/the/working/directory\n\n  To inspect a site with an extra configuration file, run:\n\n    cecil.phar doctor --config=config.yml</code></pre>\n<h2 id=\"doctor-frontmatter\">doctor:frontmatter</h2>\n<p>Validates pages front matter syntax.</p>\n<pre><code class=\"language-plaintext hljs plaintext\" translate=\"no\">Description:\n  Validates pages front matter syntax\n\nUsage:\n  doctor:frontmatter|doctor:fm [options] [--] [&lt;path&gt;]\n\nArguments:\n  path                  Use the given path as working directory\n\nOptions:\n  -c, --config=CONFIG   Set the path to an extra configuration file\n  -p, --page=PAGE       Validate a single page relative to the pages directory\n      --ansi|--no-ansi  Force (or disable --no-ansi) ANSI output\n  -n, --no-interaction  Do not ask any interactive question\n  -h, --help            Display help for the given command. When no command is given display help for the list command\n  -q, --quiet           Do not output any message\n  -V, --version         Display this application version\n  -v|vv|vvv             Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug</code></pre>\n<h2 id=\"doctor-seo\">doctor:seo</h2>\n<p>Audits rendered HTML pages for common SEO issues.</p>\n<pre><code class=\"language-plaintext hljs plaintext\" translate=\"no\">Description:\n  Audits rendered HTML pages for common SEO issues\n\nUsage:\n  doctor:seo [options] [--] [&lt;path&gt;]\n\nArguments:\n  path                  Use the given path as working directory\n\nOptions:\n  -c, --config=CONFIG   Set the path to an extra configuration file\n  -p, --page=PAGE       Audit a single page relative to the pages directory\n      --format=FORMAT   Output format: text (default) or json\n      --feedback        Include findings with feedback level\n      --include-virtual Include virtual pages (paginated, taxonomies) in audit</code></pre>\n<p>The command builds the site in dry-run mode, then audits the rendered HTML output for a focused set of checks: title tag, meta description, canonical URL, heading structure, Open Graph tags, image alt attributes and estimated content length.</p>\n<p>By default, virtual pages (paginated, taxonomy pages) are excluded from the audit. Use <code translate=\"no\">--include-virtual</code> to include them.</p>\n<p>By default, findings with level <code translate=\"no\">feedback</code> are not listed.</p>\n<p>Use <code translate=\"no\">--feedback</code> to include findings with level <code translate=\"no\">feedback</code> in addition to other findings.</p>\n<p>Output results as JSON for CI integration using <code translate=\"no\">--format=json</code>.</p>\n<h3 id=\"configuration\">Configuration</h3>\n<p>Customize audit thresholds and enabled checks in your configuration file:</p>\n<pre><code class=\"language-yaml hljs yaml\" translate=\"no\"><span class=\"hljs-attr\">doctor:</span>\n  <span class=\"hljs-attr\">seo:</span>\n    <span class=\"hljs-attr\">title:</span> <span class=\"hljs-string\">{</span> <span class=\"hljs-attr\">min:</span> <span class=\"hljs-number\">30</span><span class=\"hljs-string\">,</span> <span class=\"hljs-attr\">max:</span> <span class=\"hljs-number\">60</span> <span class=\"hljs-string\">}</span>\n    <span class=\"hljs-attr\">description:</span> <span class=\"hljs-string\">{</span> <span class=\"hljs-attr\">min:</span> <span class=\"hljs-number\">120</span><span class=\"hljs-string\">,</span> <span class=\"hljs-attr\">max:</span> <span class=\"hljs-number\">160</span> <span class=\"hljs-string\">}</span>\n    <span class=\"hljs-attr\">content:</span> <span class=\"hljs-string\">{</span> <span class=\"hljs-attr\">min_words:</span> <span class=\"hljs-number\">300</span> <span class=\"hljs-string\">}</span>\n    <span class=\"hljs-attr\">checks:</span>\n      <span class=\"hljs-attr\">title:</span> <span class=\"hljs-literal\">true</span>\n      <span class=\"hljs-attr\">description:</span> <span class=\"hljs-literal\">true</span>\n      <span class=\"hljs-attr\">canonical:</span> <span class=\"hljs-literal\">true</span>\n      <span class=\"hljs-attr\">h1:</span> <span class=\"hljs-literal\">true</span>\n      <span class=\"hljs-attr\">og_tags:</span> <span class=\"hljs-literal\">true</span>\n      <span class=\"hljs-attr\">img_alt:</span> <span class=\"hljs-literal\">true</span>\n      <span class=\"hljs-attr\">content_length:</span> <span class=\"hljs-literal\">true</span>\n      <span class=\"hljs-attr\">lang_attribute:</span> <span class=\"hljs-literal\">true</span></code></pre>",
      "language": "en"
    }
  ]
}
