Repository: BSC-ES/autosubmit
Pull request #2301: Self contained exemples
Author: login: VindeeR
Labels: name: documentation
description: Improvements or additions to documentation
name: enhancement
description: New feature or request
Created: 2025-04-11T15:00:43Z | Merged: 2025-04-14T08:47:10Z

In this branch I'm focusing on 2 things:

- Automatize the generation on some of the functions executed by autosubmit
- Padronize the term EXPID throughout the documentation, so I'm removing the possibility of confusion
   - All the terms like a000|c000|cxxx|$expid|expid|<expid> became \<EXPID\>




Diff:
diff --git a/.readthedocs.yaml b/.readthedocs.yaml
index f9c5f48fd..f8634a399 100644
--- a/.readthedocs.yaml
+++ b/.readthedocs.yaml
@@ -20,13 +20,18 @@ build:
       # - https://earth.bsc.es/gitlab/es/autosubmit/-/merge_requests/340/
       # - https://yaml.readthedocs.io/en/latest/api.html
       - pip uninstall ruamel.yaml.clib -y
+      - autosubmit configure
+      - autosubmit install
 
 # Build documentation in the docs/ directory with Sphinx
 sphinx:
    configuration: docs/source/conf.py
 
 # Optionally build your docs in additional formats such as PDF and ePub
-formats: all
+formats:
+  - htmlzip
+  - epub
+  - pdf
 
 # Optionally declare the Python requirements required to build your docs
 # https://docs.readthedocs.io/en/stable/config-file/v2.html#packages
diff --git a/autosubmit/platforms/platform.py b/autosubmit/platforms/platform.py
index 961b068fa..d50a72c7c 100644
--- a/autosubmit/platforms/platform.py
+++ b/autosubmit/platforms/platform.py
@@ -507,8 +507,6 @@ def add_parameters(self, as_conf):
 
         :param as_conf: autosubmit config object
         :type as_conf: AutosubmitConfig object
-        :param main_hpc: if it's True, uses HPC instead of NAME_ as prefix for the parameters
-        :type main_hpc: bool
         """
         prefix = 'HPC'
 
diff --git a/autosubmit/platforms/slurmplatform.py b/autosubmit/platforms/slurmplatform.py
index 75db1798d..ec36df917 100644
--- a/autosubmit/platforms/slurmplatform.py
+++ b/autosubmit/platforms/slurmplatform.py
@@ -22,13 +22,12 @@
 This Files is responsible to generate the interactions between Autosubmit and a Slurm Platform creating commands
 being responsible for executing them as needed but the Jobs.
 """
-import contextlib
+from contextlib import suppress
 import locale
 import os
 from time import sleep
 from typing import List, Union, Any
 from xml.dom.minidom import parseString
-
 from autosubmitconfigparser.config.configcommon import AutosubmitConfig
 
 from autosubmit.job.job_common import Status
diff --git a/docs/source/_include/profiler_common.rst b/docs/source/_include/profiler_common.rst
index 582465df3..5fb306748 100644
--- a/docs/source/_include/profiler_common.rst
+++ b/docs/source/_include/profiler_common.rst
@@ -9,7 +9,7 @@ memory metrics which will be displayed in your console after the command finishe
    :align: center
    :alt: Screenshot of the header of the profiler's output
 
-The profiler output is also saved in ``<EXPID>/tmp/profile``. There you will find two files, the 
+The profiler output is also saved in ``<EXPID>/tmp/profile``. There you will find two files, the
 report in plain text format and a ``.prof`` binary which contains the CPU metrics. We highly recommend 
 using `SnakeViz <https://jiffyclub.github.io/snakeviz/>`_ to visualize this file, as follows:
 
diff --git a/docs/source/conf.py b/docs/source/conf.py
index f8e93a335..459a9accd 100644
--- a/docs/source/conf.py
+++ b/docs/source/conf.py
@@ -37,7 +37,6 @@
     'sphinx_reredirects',
     'sphinx.ext.graphviz',
     'autosubmit_variables',
-    'helloworld',
     'runcmd'
 ]
 
diff --git a/docs/source/devguide/platforms/index.rst b/docs/source/devguide/platforms/index.rst
index f9e6f1d6e..ac85f318b 100644
--- a/docs/source/devguide/platforms/index.rst
+++ b/docs/source/devguide/platforms/index.rst
@@ -17,7 +17,7 @@ platform class, for which first we need to identify which existing platform is t
 
 .. note::
     Currently the platforms available are:
-    |br| :ref:`Local Platform <Local Platform>`
+    |br| :ref:`Local Platform <Local Platform>` :mod:`Platform <autosubmit.platforms.platform>`
     |br| :mod:`EC Platform <autosubmit.platforms.ecplatform>` :mod:`PBS Platform <autosubmit.platforms.pbsplatform>`
     |br| :mod:`PJM Platform <autosubmit.platforms.pjmplatform>` :mod:`Slurm Platform <autosubmit.platforms.slurmplatform>`
 
diff --git a/docs/source/ext/helloworld.py b/docs/source/ext/helloworld.py
deleted file mode 100644
index 284433e82..000000000
--- a/docs/source/ext/helloworld.py
+++ /dev/null
@@ -1,28 +0,0 @@
-from __future__ import annotations
-from docutils import nodes
-from sphinx.application import Sphinx
-from sphinx.util.docutils import SphinxDirective, SphinxRole
-from sphinx.util.typing import ExtensionMetadata
-
-class HelloRole(SphinxRole):
-    """A role to say hello!"""
-
-    def run (self) -> tuple[list[nodes.Node], list[nodes.system_message]]:
-        node = nodes.inline(text=f'Hello {self.text}!')
-        return [node], []
-
-class HelloDirective(SphinxDirective):
-    """A directive to say hello!"""
-    required_arguments = 1
-    def run (self) -> list[nodes.Node]:
-        paragraph_node = nodes.paragraph(text=f'hello {self.arguments[0]}!')
-        return [paragraph_node]
-
-def setup (app: Sphinx) -> ExtensionMetadata:
-    app.add_role('hello', HelloRole())
-    app.add_directive('hello', HelloDirective)
-    return {
-        'version': '0.1',
-        'parallel_read_safe': True,
-        'parallel_write_safe': True,
-    }
diff --git a/docs/source/ext/runcmd.py b/docs/source/ext/runcmd.py
index c36da4c6e..e30e7129a 100644
--- a/docs/source/ext/runcmd.py
+++ b/docs/source/ext/runcmd.py
@@ -137,7 +137,7 @@ def run(self):
         # allow the directive to receive a working directory, so that we
         # change to that working directory before running the desired command.
         # The working directory is omitted from the final output.
-        working_directory = self.options.get('working-directory', 'source/')
+        working_directory = self.options.get('working-directory', '')
         if working_directory == '':
             # subprocess default value, so that we can disable it if needed.
             working_directory = None
diff --git a/docs/source/installation/index.rst b/docs/source/installation/index.rst
index 5de2b8080..7ec641713 100644
--- a/docs/source/installation/index.rst
+++ b/docs/source/installation/index.rst
@@ -19,6 +19,7 @@ The Autosubmit code is hosted in GitHub. The Autosubmit Python package is availa
 
 .. important:: The host machine has to be able to access HPCs/Clusters via password-less ssh. Ensure that the ssh key is in PEM format ``ssh-keygen -t rsa -b 4096 -C "email@email.com" -m PEM``.
 
+
 To install autosubmit, execute the following:
 ::
 
@@ -30,7 +31,9 @@ Or download, unpack and:
     pip install .
 
 .. hint::
-    To check if Autosubmit is installed, run ``autosubmit -v.`` This command will print Autosubmit's current version
+    To check if Autosubmit is installed, run ``autosubmit -v`` This command will print Autosubmit's current version
+
+.. runcmd:: autosubmit -v
 
 .. hint::
     To read Autosubmit's readme file, run ``autosubmit readme``
@@ -74,12 +77,11 @@ For a very quick test, you can follow the next instructions to configure and run
     autosubmit install
 
     # Quick-start
-
-    # Get expid
+    # Get <EXPID>
     autosubmit expid -H "local" -d "Test exp in local."
 
     # Create with
-    # Since it was a new install, the expid will be a000
+    # Since it was a new install, the <EXPID> will be a000
     autosubmit create a000
 
     # In case you want to use a remote platform
@@ -149,7 +151,7 @@ For a very quick test, you can follow the next instructions to configure and run
     autosubmit expid -H "local" -d "Test exp in local."
 
     # Create with
-    # Since it was a new install, the expid will be a000
+    # Since it was a new install, the <EXPID> will be a000
     autosubmit create a000
 
     # In case you want to use a remote platform
@@ -268,7 +270,7 @@ Mandatory parameters of /etc/autosubmit
     [local]
     path = <experiment_path>
 
-    # Global logs, logs without expid associated.
+    # Global logs, logs without <EXPID> associated.
     [globallogs]
     path = /home/dbeltran/autosubmit/logs
 
@@ -301,10 +303,10 @@ These parameters provide extra functionalities to Autosubmit.
 .. code-block:: ini
 
     [conf]
-    # Allows using a different jobs.yml default template on `autosubmit expid ``
-    jobs = <path_jobs>/jobs.yml
-    # Allows using a different platforms.yml default template on `autosubmit expid `
-    platforms = <path_platforms>platforms.yml> path to any jobs.yml
+    # Allows using a different jobs_<EXPID>.yml default template on `autosubmit expid ``
+    jobs = <path_jobs>/jobs_<EXPID>.yml
+    # Allows using a different platforms_<EXPID>.yml default template on `autosubmit expid `
+    platforms = <path_platforms>platforms_<EXPID>.yml> path to any jobs.yml
 
     # Autosubmit API includes extra information for some Autosubmit functions. It is optional to have access to it to use Autosubmit.
     [autosubmitapi]
diff --git a/docs/source/moduledoc/platforms.rst b/docs/source/moduledoc/platforms.rst
index 5c7691b84..43eb129d4 100644
--- a/docs/source/moduledoc/platforms.rst
+++ b/docs/source/moduledoc/platforms.rst
@@ -1,5 +1,8 @@
 autosubmit.platform
 ===================
+.. automodule:: autosubmit.platforms.platform
+   :show-inheritance:
+   :members:
 .. automodule:: autosubmit.platforms.ecplatform
    :show-inheritance:
    :members:
diff --git a/docs/source/qstartguide/index.rst b/docs/source/qstartguide/index.rst
index 41e99ed4d..8102eff0c 100644
--- a/docs/source/qstartguide/index.rst
+++ b/docs/source/qstartguide/index.rst
@@ -45,19 +45,19 @@ Description of most used commands
       - Short description
     * - **expid**
       - Creates a new experiment and generates a new entry in the database by giving it a serial id composed of 4 letters. In addition, it also creates the folder experiment and the basic folder structure.
-    * - **create <expid>**
+    * - **create <EXPID>**
       - Generates the experiment workflow.
-    * - **run <expid>**
+    * - **run <EXPID>**
       - Runs the experiment workflow.
-    * - **monitor <expid>**
+    * - **monitor <EXPID>**
       - Shows the experiment workflow structure and status.
-    * - **inspect <expid>**
+    * - **inspect <EXPID>**
       - Generates Autosubmit scripts and batch scripts for inspection, by processing the tasks’ templates with the experiment parameters.
-    * - **refresh <expid>**
+    * - **refresh <EXPID>**
       - Updates the project directory.
-    * - **recovery <expid>**
+    * - **recovery <EXPID>**
       - Recovers the experiment workflow obtaining the last run complete jobs.
-    * - **setstatus <expid>**
+    * - **setstatus <EXPID>**
       - Sets one or multiple jobs status to a given value.
 
 
@@ -70,7 +70,7 @@ Create a new experiment
 - *-H: Sets the principal experiment platform.*
 - *-d: Sets a short description for the experiment.*
 
-The output of the command will show the expid of the experiment and generate the following directory structure:
+The output of the command will show the <EXPID> of the experiment and generate the following directory structure:
 
 .. list-table::
     :header-rows: 1
@@ -90,18 +90,18 @@ The output of the command will show the expid of the experiment and generate the
       - User scripts and  project code. (empty)
 
 
-Then, execute ``autosubmit create <expid> -np`` and Autosubmit will generate the workflow graph.
+Then, execute ``autosubmit create <EXPID> -np`` and Autosubmit will generate the workflow graph.
 
 Run and monitoring
 ==================
 
- To run an experiment, use ```autosubmit run <expid>```. Autosubmit runs experiments performing the following operations:
+ To run an experiment, use ```autosubmit run <EXPID>```. Autosubmit runs experiments performing the following operations:
 
  - First, it **checks the experiment configuration**. If it is wrong, it won't proceed further.
  - Second, it **runs the experiment while retrieving all logs** from completed or failed tasks as they run.
  - Third, it manages all the **workflow steps by following the dependencies defined by the user** until all jobs are in COMPLETED or FAILED status. There can be jobs left in **WAITING** status if their dependencies are in **FAILED** status.
 
-While the experiment is running, it can be visualized via ``autosubmit monitor <expid>``.
+While the experiment is running, it can be visualized via ``autosubmit monitor <EXPID>``.
 
 .. figure:: dummy.png
    :name: dummy_workflow
@@ -112,9 +112,9 @@ While the experiment is running, it can be visualized via ``autosubmit monitor <
 illustrates the output of the autosubmit monitor. It describes all workflow jobs' possible status and actual status.
 
 
-Concurrently, the ``<expid>/tmp`` gets filled with the cmd scripts generated by Autosubmit to run the local and remote tasks (in this case, they are sent and submitted to the remote platform(s)).
+Concurrently, the ``<EXPID>/tmp`` gets filled with the cmd scripts generated by Autosubmit to run the local and remote tasks (in this case, they are sent and submitted to the remote platform(s)).
 
-Autosubmit keeps logs at ``ASLOGS`` and ``LOG_a000`` folders, which are filled up with Autosubmit's command logs and job logs.
+Autosubmit keeps logs at ``ASLOGS`` and ``LOG_<EXPID>`` folders, which are filled up with Autosubmit's command logs and job logs.
 
 Viewing the logs
 ================
@@ -150,7 +150,7 @@ log file, or to memorize the location of these files, Autosubmit provides the
 Configuration summary
 =====================
 
- In the folder ``<expid>/conf`` there are different files that define the actual experiment configuration.
+ In the folder ``<EXPID>/conf`` there are different files that define the actual experiment configuration.
 
 .. list-table::
     :header-rows: 1
@@ -158,28 +158,28 @@ Configuration summary
 
     * - File
       - Content
-    * - ``expdef.yml``
+    * - ``expdef_<EXPID>.yml``
       -
         * It contains the default platform, the one set with -H.
         * Allows changing the start dates, members and chunks.
         * Allows changing the experiment project source ( git, local, svn or dummy)
-    * - ``platforms.yml``
+    * - ``platforms_<EXPID>.yml``
       -
         * It contains the list of platforms to use in the experiment.
         * This file contains the definitions for managing clusters, fat-nodes and support computers.
         * This file must be filled-up with the platform(s) configuration(s).
         * Several platforms can be defined and used in the same experiment.
-    * - ``jobs.yml``
+    * - ``jobs_<EXPID>.yml``
       -
         - It contains the tasks' definitions in sections. Depending on the parameters, one section can generate multiple similar tasks.
         - This file must be filled-up with the tasks' definitions.
         - Several sections can be defined and used in the same experiment.
-    * - ``autosubmit.yml``
+    * - ``autosubmit_<EXPID>.yml``
       -
         - This file contains the definitions that impact the workflow behavior.
         - It changes workflow behavior with parameters such as job limitations, remote_dependencies and retrials.
         - It extends autosubmit functionalities with parameters such as wrappers and mail notification.
-    * - ``proj.yml``
+    * - ``proj_<EXPID>.yml``
       -
         - This file contains the configuration used by the user scripts.
         - This file is fully customizable for the current experiment. Allows setting user- parameters that will be readable by the autosubmit jobs.
@@ -191,7 +191,7 @@ Final step: Modify and run
 
  It is time to look into the configuration files of the dummy experiment and modify them with a remote platform to run a workflow with a few more chunks.
 
- Open expdef.yml
+ Open expdef_<EXPID>.yml
 
 .. code-block:: yaml
 
@@ -207,7 +207,7 @@ Final step: Modify and run
             NUMCHUNKS: 1
         (...)
 
-Now open platforms.yml. Note: This will be an example for marenostrum4
+Now open platforms_<EXPID>.yml. Note: This will be an example for marenostrum4
 
 .. code-block:: yaml
 
@@ -231,7 +231,7 @@ Now open platforms.yml. Note: This will be an example for marenostrum4
             SERIAL_QUEUE: debug
             QUEUE: debug
 
-``autosubmit create <expid>** (without -np)`` will generate the new workflow and ``autosubmit run <expid>`` will run the experiment with the latest changes.
+``autosubmit create <EXPID>** (without -np)`` will generate the new workflow and ``autosubmit run <expid>`` will run the experiment with the latest changes.
 
 .. warning::
     If you are using an encrypted key, you will need to add it to the ssh-agent before running the experiment. To do so, run ``ssh-add <path_to_key>``.
\ No newline at end of file
diff --git a/docs/source/troubleshooting/changelog.rst b/docs/source/troubleshooting/changelog.rst
index bf5c26f0f..fe70fcc94 100644
--- a/docs/source/troubleshooting/changelog.rst
+++ b/docs/source/troubleshooting/changelog.rst
@@ -40,7 +40,7 @@ Configuration changes
 Now autosubmit is composed by two kind of YAML configurations, the default ones, which are the same as always, and the custom ones.
 
 The custom ones, allows to define custom configurations that will override the default ones, in order to do this, you only have to put the key in the custom configuration file.
-These custom ones, can be anywhere and have any name, by default they're inside `<expid>/conf` but you can change this path in the expdef.yml file. `DEFAULT.CUSTOM_CONFIG`
+These custom ones, can be anywhere and have any name, by default they're inside `<EXPID>/conf` but you can change this path in the expdef_<EXPID>.yml file. `DEFAULT.CUSTOM_CONFIG`
 
 Additionally, you must be aware of the following changes:
 
@@ -48,7 +48,7 @@ Additionally, you must be aware of the following changes:
  - To define a job, you must put them under the key `jobs` in any custom configuration file.
  - To define a platform, you must put them under the key `platforms` in any custom configuration file.
  - To define a loop, you must put the key "FOR" as the first key of the section.
- - You can put any %placeholder% in the proj.yml and custom files, and also you can put %ROOTDIR% in the expdef.yml.
+ - You can put any %placeholder% in the proj_<EXPID>.yml and custom files, and also you can put %ROOTDIR% in the expdef_<EXPID>.yml.
  - All configuration is now based in an hierarchical structure, so to export a var, you must use the following syntax: `%KEY.SUBKEY.SUBSUBKEY%`. The same goes for override them.
  - YAML has into account the type.
 
@@ -67,7 +67,7 @@ List of example with the new configuration and the structure as follows
 Configuration
 =============
 
-    `autosubmit_expid.yml`
+    `autosubmit_<EXPID>.yml`
 
     .. code-block:: yaml
 
@@ -81,7 +81,7 @@ Configuration
           NOTIFICATIONS: 'False'
           TO: daniel.beltran@bsc.es
 
-    `expdef_expid.yml`
+    `expdef_<EXPID>.yml`
 
     .. code-block:: yaml
 
@@ -115,7 +115,7 @@ Configuration
           FILE_PROJECT_CONF: ''
           FILE_JOBS_CONF: ''
 
-    `jobs_expid.yml`
+    `jobs_<EXPID>.yml`
 
     .. code-block:: yaml
 
@@ -172,7 +172,7 @@ Configuration
             DEPENDENCIES: CLEAN
             RUNNING: member
 
-    `platforms_expid.yml`
+    `platforms_<EXPID>.yml`
 
     .. code-block:: yaml
 
diff --git a/docs/source/troubleshooting/index.rst b/docs/source/troubleshooting/index.rst
index 60ed9826c..4f9fb5273 100644
--- a/docs/source/troubleshooting/index.rst
+++ b/docs/source/troubleshooting/index.rst
@@ -30,7 +30,7 @@ Unable to recover remote logs files.
 ========================================================
 
 *Explanation*: If there are limitations on the remote platform regarding multiple connections,
-*Solution*:  You can try DISABLE_RECOVERY_THREADS: TRUE under the platform_name: section in the platform.yml.
+*Solution*:  You can try DISABLE_RECOVERY_THREADS: TRUE under the platform_name: section in the platform_<EXPID>.yml.
 
 Error on create caused by a configuration parsing error
 =======================================================
@@ -51,11 +51,11 @@ Other possible errors
 
 *Explanation*: The latest version of autosubmit uses a database to efficiently track changes in the jobs of your experiment. It could have happened that this small database got corrupted.
 
-*Solution*: run `autosubmit dbfix expid` where `expid` is the identifier of your experiment. This function will rebuild the database saving as much information as possible (usually all of it).
+*Solution*: run `autosubmit dbfix <EXPID>` where `<EXPID>` is the identifier of your experiment. This function will rebuild the database saving as much information as possible (usually all of it).
 
-**The pkl file of my experiment is empty but there is a job_list_%expid%_backup.pkl file that seems to be the real one.**
+**The pkl file of my experiment is empty but there is a job_list_%<EXPID>%_backup.pkl file that seems to be the real one.**
 
-*Solution*: run `autosubmit pklfix expid`, it will restore the `backup` file if possible.
+*Solution*: run `autosubmit pklfix <EXPID>`, it will restore the `backup` file if possible.
 
 Error codes
 ===========
diff --git a/docs/source/userguide/configure/develop_a_project.rst b/docs/source/userguide/configure/develop_a_project.rst
index d43b32d8b..684c9c74e 100644
--- a/docs/source/userguide/configure/develop_a_project.rst
+++ b/docs/source/userguide/configure/develop_a_project.rst
@@ -12,12 +12,12 @@ All files, with the exception of user-defined scripts, are located in the ``<exp
 
 Configuration files are written in ``yaml`` format. In the other hand, the user-defined scripts are written in ``bash/python or R`` format.
 
-To configure the experiment, edit ``autosubmit_cxxx.yml``, ``expdef_cxxx.yml``, ``jobs_cxxx.yml`` , ``platforms_cxxx.yml`` and ``proj_cxxx.yml``` in the ``conf`` folder of the experiment.
+To configure the experiment, edit ``autosubmit_<EXPID>.yml``, ``expdef_<EXPID>.yml``, ``jobs_<EXPID>.yml`` , ``platforms_<EXPID>.yml`` and ``proj_<EXPID>.yml``` in the ``conf`` folder of the experiment.
 
 Expdef configuration
 ====================
 
-    vi <experiments_directory>/cxxx/conf/expdef_cxxx.yml
+    vi <experiments_directory>/<EXPID>/conf/expdef_<EXPID>.yml
 
 .. code-block:: yaml
 
@@ -101,7 +101,7 @@ Expdef configuration
 Autosubmit configuration
 ========================
 
-    vi <experiments_directory>/cxxx/conf/autosubmit_cxxx.yml
+    vi <experiments_directory>/<EXPID>/conf/autosubmit_<EXPID>.yml
 
 .. code-block:: yaml
 
@@ -116,7 +116,7 @@ Autosubmit configuration
         # Default: 3
         MAXWAITINGJOBS: 3
         # Default maximum number of jobs to be running at the same time at any platform
-        # Can be set at platform level on the platform_cxxx.yml file
+        # Can be set at platform level on the platform_<EXPID>.yml file
         # Default: 6
         TOTALJOBS: 6
         # Time (seconds) between connections to the HPC queue scheduler to poll already submitted jobs status
@@ -151,7 +151,7 @@ Autosubmit configuration
 Jobs configuration
 ==================
 
-    vi <experiments_directory>/cxxx/conf/jobs_cxxx.yml
+    vi <experiments_directory>/<EXPID>/conf/jobs_<EXPID>.yml
 
 .. code-block:: yaml
 
@@ -200,7 +200,7 @@ Jobs configuration
 Platform configuration
 ======================
 
-    vi <experiments_directory>/cxxx/conf/platforms_cxxx.yml
+    vi <experiments_directory>/<EXPID>/conf/platforms_<EXPID>.yml
 
 .. code-block:: yaml
 
@@ -258,21 +258,21 @@ Platform configuration
 Proj configuration
 ==================
 
-After filling the experiment configuration and prompt ``autosubmit create cxxx -np`` create, user can go into ``proj`` which has a copy of the model.
+After filling the experiment configuration and prompt ``autosubmit create <EXPID> -np`` create, user can go into ``proj`` which has a copy of the model.
 
-The experiment project contains the scripts specified in ``jobs_cxxx.yml`` and a copy of model source code and data specified in ``expdef_xxxx.yml``.
+The experiment project contains the scripts specified in ``jobs_<EXPID>.yml`` and a copy of model source code and data specified in ``expdef_xxxx.yml``.
 
-To configure experiment project parameters for the experiment, edit ``proj_cxxx.yml``.
+To configure experiment project parameters for the experiment, edit ``proj_<EXPID>.yml``.
 
-*proj_cxxx.yml* contains:
+*proj_<EXPID>.yml* contains:
     - The project dependant experiment variables that Autosubmit will substitute in the scripts to be run.
 
-.. warning:: The ``proj_xxxx.yml`` has to be defined in INI style so it should has section headers. At least one.
+.. warning:: The ``proj_<EXPID>.yml`` has to be defined in INI style so it should has section headers. At least one.
 
 Example:
 ::
 
-    vi <experiments_directory>/cxxx/conf/proj_cxxx.yml
+    vi <experiments_directory>/<EXPID>/conf/proj_<EXPID>.yml
 
 .. code-block:: yaml
 
@@ -482,7 +482,7 @@ This section contains a full example of a valid proj file with a valid user scri
 
 Configuration of proj.yml
 
-    vi <expid>/conf/proj_cxxx.yml
+    vi <expid>/conf/proj_<EXPID>.yml
 
 .. code-block:: yaml
 
@@ -509,7 +509,7 @@ Write your original script in the user project directory:
 
 Final script, which is generated by `autosubmit run` or ``autosubmit inspect``
 
-    cat <experiments_directory>/cxxx/tmp/remote_setup.cmd
+    cat <experiments_directory>/<EXPID>/tmp/remote_setup.cmd
 
 .. code-block:: bash
 
@@ -529,7 +529,7 @@ Detailed platform configuration
 
 In this section, we describe the platform configuration using `-QOS` and also `PARTITION`
 
-    vi <expid>/conf/platform_cxxx.yml
+    vi <expid>/conf/platform_<EXPID>.yml
 
 .. code-block:: yaml
 
@@ -627,7 +627,7 @@ In this section, we describe the platform configuration using `-QOS` and also `P
 
 The custom directives can be used for multiple parameters at the same time using the follow syntax.
 
-    vi <expid>/conf/platform_cxxx.yml
+    vi <expid>/conf/platform_<EXPID>.yml
 
 .. code-block:: yaml
 
@@ -660,9 +660,9 @@ Controlling the number of active concurrent tasks in an experiment
 
 In some cases, you may want to control the number of concurrent tasks/jobs that can be active in an experiment.
 
-To set the maximum number of concurrent tasks/jobs, you can use the ``TOTAL_JOBS`` and ``MAX_WAITING_JOBS`` variable in the ``conf/autosubmit_cxxx.yml`` file.
+To set the maximum number of concurrent tasks/jobs, you can use the ``TOTAL_JOBS`` and ``MAX_WAITING_JOBS`` variable in the ``conf/autosubmit_<EXPID>.yml`` file.
 
-    vi <expid>/conf/autosubmit_cxxx.yml
+    vi <EXPID>/conf/autosubmit_<EXPID>.yml
 
 .. code-block:: yaml
 
@@ -671,11 +671,11 @@ To set the maximum number of concurrent tasks/jobs, you can use the ``TOTAL_JOBS
     # Controls the maximum number of submitted and waiting tasks
     MAX_WAITING_JOBS: 10
 
-To control the number of jobs included in a wrapper, you can use the `MAX_WRAPPED_JOBS` and `MIN_WRAPPED_JOBS` variables in the ``conf/autosubmit_cxxx.yml`` file.
+To control the number of jobs included in a wrapper, you can use the `MAX_WRAPPED_JOBS` and `MIN_WRAPPED_JOBS` variables in the ``conf/autosubmit_<EXPID>.yml`` file.
 
 Note that a wrapped job is counted as a single job regardless of the number of tasks it contains. Therefore, `TOTAL_JOBS` and `MAX_WAITING_JOBS` won't have an impact inside a wrapper.
 
-    vi <expid>/conf/autosubmit_cxxx.yml
+    vi <expid>/conf/autosubmit_<EXPID>.yml
 
 .. code-block:: yaml
 
@@ -689,10 +689,10 @@ Note that a wrapped job is counted as a single job regardless of the number of t
             MAX_WRAPPED_H: 99999 # Same as above but only for the horizontal packages.
             MAX_WRAPPED_V: 99999 # Same as above but only for the vertical packages.
 
-- **MAX_WRAPPED** can be defined in ``jobs_cxxx.yml`` in order to limit the number of jobs wrapped for the corresponding job section
-    - If not defined, it considers the **MAX_WRAPPED** defined under wrapper: in ``autosubmit_cxxx.yml``
+- **MAX_WRAPPED** can be defined in ``jobs_<EXPID>.yml`` in order to limit the number of jobs wrapped for the corresponding job section
+    - If not defined, it considers the **MAX_WRAPPED** defined under wrapper: in ``autosubmit_<EXPID>.yml``
         - If **MAX_WRAPPED** is not defined, then the max_wallclock of the platform will be final factor.
-- **MIN_WRAPPED** can be defined in ``autosubmit_cxxx.yml`` in order to limit the minimum number of jobs that a wrapper can contain
+- **MIN_WRAPPED** can be defined in ``autosubmit_<EXPID>.yml`` in order to limit the minimum number of jobs that a wrapper can contain
     - If not defined, it considers that **MIN_WRAPPED** is 2.
     - If **POLICY** is flexible and it is not possible to wrap **MIN_WRAPPED** or more tasks, these tasks will be submitted as individual jobs, as long as the condition is not satisfied.
     - If **POLICY** is mixed and there are failed jobs inside a wrapper, these jobs will be submitted as individual jobs.
diff --git a/docs/source/userguide/configure/index.rst b/docs/source/userguide/configure/index.rst
index cad335495..84b1a316f 100644
--- a/docs/source/userguide/configure/index.rst
+++ b/docs/source/userguide/configure/index.rst
@@ -10,12 +10,12 @@ Configuration files
 Experiment configuration files are stored under each experiment's configuration directory. You should adjust all parameters to your needs in this files before creating the experiment. 
 The files follow the naming schema *type_expid.yml* where *type* is either **expdef**, **jobs**, **platforms** or **autosubmit**.
 
-*expdef_expid.yml* contains:
+*expdef_<EXPID>.yml* contains:
     - Start dates, members and chunks (number and length).
     - Experiment project source: origin (version control system or path)
     - Project configuration file path.
 
-*jobs_expid.yml* contains the workflow to be run:
+*jobs_<EXPID>.yml* contains the workflow to be run:
     - Scripts to execute.
     - Dependencies between tasks.
     - Task requirements (processors, wallclock time...).
@@ -23,21 +23,21 @@ The files follow the naming schema *type_expid.yml* where *type* is either **exp
 
 For more information on adding jobs see :ref:`add-new-job` and :ref:`add-het-job`.
 
-*platforms_expid.yml* contains:
+*platforms_<EXPID>.yml* contains:
     - HPC, fat-nodes and supporting computers configuration.
 
 For more information on adding a new platofrm to the experiment configuration, see :ref:`add-new-plat-exp`.
 
-.. note:: *platforms_expid.yml* is usually provided by technicians, users will only have to change login and accounting options for HPCs.
+.. note:: *platforms_<EXPID>.yml* is usually provided by technicians, users will only have to change login and accounting options for HPCs.
 
-*autosubmit_expid.yml* contains:
+*autosubmit_<EXPID>.yml* contains:
     - Maximum number of jobs to be running at the same time at the HPC.
     - Time (seconds) between connections to the HPC queue scheduler to poll already submitted jobs status.
     - Number of retrials if a job fails.
 
 
 Once all file parameters have been tuned, an experiment can be created. Refer to the method page :meth:`autosubmit.autosubmit.Autosubmit.create` for syntax details. 
-In sumamry, ``autosubmit create`` uses the ``expdef_expid.yml`` file to generate the experiment and related workfow. The experiment workflow, which contains all the jobs and its dependencies, will be saved as a *pkl* file. More info on pickle can be found at http://docs.python.org/library/pickle.html.
+In sumamry, ``autosubmit create`` uses the ``expdef_<EXPID>.yml`` file to generate the experiment and related workfow. The experiment workflow, which contains all the jobs and its dependencies, will be saved as a *pkl* file. More info on pickle can be found at http://docs.python.org/library/pickle.html.
 
 In order to understand more the grouping options, which are used for visualization purposes, please check :ref:`grouping`.
 
@@ -47,7 +47,7 @@ In order to understand more the grouping options, which are used for visualizati
 How to add a new job
 --------------------
 
-To add a new job from a template file, open the ``jobs_expid.yml`` file and add this text:
+To add a new job from a template file, open the ``jobs_<EXPID>.yml`` file and add this text:
 
 .. code-block:: yaml
 
@@ -69,7 +69,7 @@ This is the minimum job definition and usually is not enough. Typically, you usu
       - File where the job template is stored.
     * - ``PLATFORM``
       - Allows you to execute the job in a platform of your choice. It must be defined in the experiment's
-        ``platforms.yml`` file or to have the value ``LOCAL`` that always refers to the machine running Autosubmit.
+        ``platforms_<EXPID>.yml`` file or to have the value ``LOCAL`` that always refers to the machine running Autosubmit.
     * - ``RUNNING``
       - Defines if jobs runs only once or once per start-date, member or chunk.
         Options are: ``once``, ``date``, ``member``, ``chunk``
@@ -105,7 +105,7 @@ For jobs running in HPC platforms, usually you have to provide information about
     * - ``QUEUE``
       - If given, Autosubmit will add jobs to the given queue instead of platform's default queue
     * - ``RETRIALS``
-      - Number of retrials if a job fails. Defaults to the value given on experiment's autosubmit.yml
+      - Number of retrials if a job fails. Defaults to the value given on experiment's autosubmit_<EXPID>.yml
     * - ``DELAY_RETRY_TIME``
       - Allows to put a delay between retries. Autosubmit will retry the job as soon as possible.
         Accepted formats are:
@@ -172,7 +172,7 @@ An heterogeneous job or hetjob is a job for whcih each component has virtually a
 
 
 
-To add a new hetjob, open the ``jobs_expid.yml``. 
+To add a new hetjob, open the ``jobs_<EXPID>.yml``.
 
 .. code-block:: yaml
 
@@ -197,7 +197,7 @@ This will create a new job named *new_hetjob* with two components that will be e
 How to configure email notifications
 ------------------------------------
 
-**1.** Enable email notifications and set the accounts where you will receive it. For this, edit ``autosubmit_expid.yml``. More than one address can be defined.
+**1.** Enable email notifications and set the accounts where you will receive it. For this, edit ``autosubmit_<EXPID>.yml``. More than one address can be defined.
 
 Example:
 
@@ -216,7 +216,7 @@ Example:
             - rlewis@example.com
 
 
-**2.** Define for which jobs you want to be notified. Edit ``jobs_expid.yml``.  You will be notified every time the job changes its status to one of the statuses defined on the parameter ``NOTIFY_ON``. You can define more than one job status separated by a whitespace, a comma (`,`), or using a list.
+**2.** Define for which jobs you want to be notified. Edit ``jobs_<EXPID>.yml``.  You will be notified every time the job changes its status to one of the statuses defined on the parameter ``NOTIFY_ON``. You can define more than one job status separated by a whitespace, a comma (`,`), or using a list.
 
 Example:
 
@@ -246,7 +246,7 @@ How to add a new platform to the experiment configuration
 .. hint::
     If you are interested in changing the communications library, go to :ref:`request-exclusivity-reservation`.
 
-To add a new platform, open the ``platforms_expid.yml`` file and add:
+To add a new platform, open the ``platforms_<EXPID>.yml`` file and add:
 
 .. code-block:: yaml
 
@@ -368,7 +368,7 @@ How to request exclusivity or reservation
 .. important::
     Until now, it is only available for Marenostrum.
 
-To request exclusivity or reservation for your jobs, you can configure two platform variables. Edit ``platforms_expid.yml``.
+To request exclusivity or reservation for your jobs, you can configure two platform variables. Edit ``platforms_<EXPID>.yml``.
 
 
 .. hint::
@@ -406,7 +406,7 @@ How to set a custom interpreter for your job
 
 If the remote platform does not implement the interpreter you need, you can customize the ``shebang`` of your job script so it points to the relative path of the interpreter you want.
 
-In the file ``jos_expid.yml``:
+In the file ``jos_<EXPID>.yml``:
 
 
 .. list-table:: Parameters Description
@@ -497,7 +497,7 @@ The result is a ``shebang`` line ``#!/esarchive/autosubmit/my_python_env/python3
 How to create and run only selected members
 -------------------------------------------
 
-Your experiment is defined and correctly configured, but you want to create it only considering some selected members, and also to avoid creating the whole experiment to run only the members you want. Then, you can do it by configuring the setting ``RUN_ONLY_MEMBERS`` in the ``expdef_expid.yml`` file:
+Your experiment is defined and correctly configured, but you want to create it only considering some selected members, and also to avoid creating the whole experiment to run only the members you want. Then, you can do it by configuring the setting ``RUN_ONLY_MEMBERS`` in the ``expdef_<EXPID>.yml`` file:
 
 .. code-block:: yaml
 
@@ -555,7 +555,7 @@ The jobs that are waiting in the remote platform, will be marked as ``HOLD``.
 How to configure
 ~~~~~~~~~~~~~~~~
 
-In ``autosubmit_expid.yml``, regardless of the how your workflow is configured.
+In ``autosubmit_<EXPID>.yml``, regardless of the how your workflow is configured.
 
 For example:
 
diff --git a/docs/source/userguide/create/index.rst b/docs/source/userguide/create/index.rst
index 0d899e858..2c24351ba 100644
--- a/docs/source/userguide/create/index.rst
+++ b/docs/source/userguide/create/index.rst
@@ -7,46 +7,15 @@ Create new experiment
 To create a new experiment, just run the command:
 ::
 
-    autosubmit expid -H HPCname -d Description
+    autosubmit expid -H HPCname -d "Description"
+
 
 *HPCname* is the name of the main HPC platform for the experiment: it will be the default platform for the tasks.
 *Description* is a brief experiment description.
 
 Options:
-::
 
-    usage: autosubmit expid [-h] [-y COPY] [-dm] [-min] [-repo GIT_REPO]
-                            [-b GIT_BRANCH] [-conf GIT_AS_CONF] [-local] [-op]
-                            [-H HPC] -d DESCRIPTION [-t]
-                            [-fs {Any,READY,COMPLETED,WAITING,SUSPENDED,FAILED,UNKNOWN}]
-    
-    Creates a new experiment
-    
-    optional arguments:
-      -h, --help            show this help message and exit
-      -y COPY, --copy COPY  makes a copy of the specified experiment
-      -dm, --dummy          creates a new experiment with default values, usually
-                            for testing
-      -min, --minimal_configuration
-                            creates a new experiment with minimal configuration,
-                            usually combined with -repo
-      -repo GIT_REPO, --git_repo GIT_REPO
-                            sets a git repository for the experiment
-      -b GIT_BRANCH, --git_branch GIT_BRANCH
-                            sets a git branch for the experiment
-      -conf GIT_AS_CONF, --git_as_conf GIT_AS_CONF
-                            sets the git path to as_conf
-      -local, --use_local_minimal
-                            uses local minimal file instead of git
-      -op, --operational    creates a new experiment with operational experiment id
-      -ev, --evaluation     creates a new experiment with evaluation experiment id
-      -H HPC, --HPC HPC     specifies the HPC to use for the experiment
-      -d DESCRIPTION, --description DESCRIPTION
-                            sets a description for the experiment to store in the
-                            database.
-      -t, --testcase        creates a new experiment with testcase experiment id
-      -fs {Any,READY,COMPLETED,WAITING,SUSPENDED,FAILED,UNKNOWN}, --filter_status {Any,READY,COMPLETED,WAITING,SUSPENDED,FAILED,UNKNOWN}
-                            Select the original status to filter the list of jobs
+.. runcmd:: autosubmit expid -h
 
 Example:
 ::
@@ -56,7 +25,7 @@ Example:
     autosubmit expid -dm -d "dummy test"
 
 
-If there is an autosubmitrc or .autosubmitrc file in your home directory (cd ~), you can setup a default file from where the contents of platforms_expid.yml should be copied.
+If there is an autosubmitrc or .autosubmitrc file in your home directory (cd ~), you can setup a default file from where the contents of platforms_<EXPID>.yml should be copied.
 
 In this autosubmitrc or .autosubmitrc file, include the configuration setting custom_platforms:
 
@@ -75,8 +44,9 @@ This option makes a copy of an existing experiment.
 It registers a new unique identifier and copies all configuration files in the new experiment folder:
 ::
 
-    autosubmit expid -y COPY -H HPCname -d Description
-    autosubmit expid -y COPY -c PATH -H HPCname -d Description
+    autosubmit expid -y <EXPID> -H HPCname -d "Description"
+    autosubmit expid -y <EXPID> -c PATH -H HPCname -d "Description"
+
 
 *HPCname* is the name of the main HPC platform for the experiment: it will be the default platform for the tasks.
 *COPY* is the experiment identifier to copy from.
@@ -86,12 +56,12 @@ It registers a new unique identifier and copies all configuration files in the n
 Example:
 ::
 
-    autosubmit expid -y cxxx -H ithaca -d "experiment is about..."
-    autosubmit expid -y cxxx -p "/esarchive/autosubmit/genericFiles/conf" -H marenostrum4 -d "experiment is about..."
+    autosubmit expid -y <EXPID> -H ithaca -d "experiment is about..."
+    autosubmit expid -y <EXPID> -p "/esarchive/autosubmit/genericFiles/conf" -H marenostrum4 -d "experiment is about..."
 
 .. warning:: You can only copy experiments created with Autosubmit 3.11 or above.
 
-If there is an autosubmitrc or .autosubmitrc file in your home directory (cd ~), you can setup a default file from where the contents of platforms_expid.yml should be copied.
+If there is an autosubmitrc or .autosubmitrc file in your home directory (cd ~), you can setup a default file from where the contents of platforms_<EXPID>.yml should be copied.
 
 In this autosubmitrc or .autosubmitrc file, include the configuration setting custom_platforms:
 
@@ -114,7 +84,7 @@ The job submitted are only sleeps.
 This command creates a new experiment with default values, useful for testing:
 ::
 
-    autosubmit expid -H HPCname -dm -d Description
+    autosubmit expid -H HPCname -dm -d "Description"
 
 *HPCname* is the name of the main HPC platform for the experiment: it will be the default platform for the tasks.
 *Description* is a brief experiment description.
@@ -124,102 +94,6 @@ Example:
 
     autosubmit expid -H ithaca -dm -d "experiment is about..."
 
-Create a test case experiment
-------------------------------------
-
-Test case experiments are special experiments which have a reserved first letter "t" at the expid. They are meant to
-help differentiate testing suits of the automodels from normal runs.
-
-This method is to create a test case experiment. It creates a new experiment for a test case with a
-given number of chunks, start date, member and HPC.
-
-To create a test case experiment, use the command:
-::
-
-    autosubmit testcase
-
-Options:
-::
-
-    usage: autosubmit testcase [-h] [-y COPY | -min] -d DESCRIPTION [-c CHUNKS]
-                               [-m MEMBER] [-s STARDATE] -H HPC [-repo GIT_REPO]
-                               [-b GIT_BRANCH] [-conf GIT_AS_CONF] [-local]
-    
-    create test case experiment
-    
-    optional arguments:
-      -h, --help            show this help message and exit
-      -y COPY, --copy COPY  makes a copy of the specified experiment
-      -min, --minimal_configuration
-                            creates a new experiment with minimal configuration,
-                            usually combined with -repo
-      -d DESCRIPTION, --description DESCRIPTION
-                            description of the test case
-      -c CHUNKS, --chunks CHUNKS
-                            chunks to run
-      -m MEMBER, --member MEMBER
-                            member to run
-      -s STARDATE, --stardate STARDATE
-                            stardate to run
-      -H HPC, --HPC HPC     HPC to run experiment on it
-      -repo GIT_REPO, --git_repo GIT_REPO
-                            sets a git repository for the experiment
-      -b GIT_BRANCH, --git_branch GIT_BRANCH
-                            sets a git branch for the experiment
-      -conf GIT_AS_CONF, --git_as_conf GIT_AS_CONF
-                            sets the git path to as_conf
-      -local, --use_local_minimal
-                            uses local minimal file instead of git
-
-Example:
-::
-
-    autosubmit testcase -d "TEST CASE cca-intel auto-ecearth3 layer 0: T511L91-ORCA025L75-LIM3 (cold restart) (a092-a09n)" -H cca-intel -b 3.2.0b_develop -y a09n
-
-Test the experiment
--------------------
-
-This method is to conduct a test for a given experiment. It creates a new experiment for a given experiment with a
-given number of chunks with a random start date and a random member to be run on a random HPC.
-
-To test the experiment, use the command:
-::
-
-    autosubmit test CHUNKS EXPID
-
-*EXPID* is the experiment identifier.
-*CHUNKS* is the number of chunks to run in the test.
-
-
-
-Options:
-::
-
-    usage: autosubmit test [-h] -c CHUNKS [-m MEMBER] [-s STARDATE] [-H HPC] [-b BRANCH] [-v] EXPID
-
-     test experiment
-
-     positional arguments:
-        EXPID                 experiment identifier
-
-     options:
-         -h, --help            show this help message and exit
-         -c CHUNKS, --chunks CHUNKS
-                               chunks to run
-         -m MEMBER, --member MEMBER
-                               member to run
-         -s STARDATE, --stardate STARDATE
-                               stardate to run
-         -H HPC, --HPC HPC     HPC to run experiment on it
-         -b BRANCH, --branch BRANCH
-                               branch of git to run (or revision from subversion)
-         -v, --update_version  Update experiment version
-
-Example:
-::
-
-    autosubmit test -c 1 -s 19801101 -m fc0 -H ithaca -b develop cxxx
-
 .. _create_profiling:
 
 How to profile Autosubmit while creating an experiment
@@ -230,6 +104,6 @@ add the ``--profile`` (or ``-p``) flag to your ``autosubmit create`` command, as
 
 .. code-block:: bash
 
-    autosubmit create --profile EXPID
+    autosubmit create --profile <EXPID>
 
 .. include:: ../../_include/profiler_common.rst
diff --git a/docs/source/userguide/expids.rst b/docs/source/userguide/expids.rst
index d75b79ceb..a739321ce 100644
--- a/docs/source/userguide/expids.rst
+++ b/docs/source/userguide/expids.rst
@@ -53,7 +53,7 @@ experiment.
 Users can create “test experiments” which experiment ID’s start at ``t001``, 
 “operational experiments” which experiment ID’s start at ``o001`` and 
 "evaluation experiments" with IDs starting at ``e001``.
-This is done via flags passed to the ``autosubmit expid`` in the command-line.
+This is done via flags passed to the ``autosubmit <EXPID>`` in the command-line.
 
 There is no other way for users to modify the automatic generation of
 experiment ID’s in Autosubmit (other than manually editing the SQLite database).
diff --git a/docs/source/userguide/manage/index.rst b/docs/source/userguide/manage/index.rst
index 9fdfd4e21..e33306cda 100644
--- a/docs/source/userguide/manage/index.rst
+++ b/docs/source/userguide/manage/index.rst
@@ -10,33 +10,19 @@ This procedure allows you to save space after finalising an experiment.
 You must execute:
 ::
 
-    autosubmit clean EXPID
+    autosubmit clean <EXPID>
 
 
 Options:
-::
-
-   usage: autosubmit clean [-h] [-pr] [-p] [-s] [-v] EXPID
-
-    clean specified experiment
-
-    positional arguments:
-      EXPID                 experiment identifier
-
-    options:
-      -h, --help            show this help message and exit
-      -pr, --project        clean project
-      -p, --plot            clean plot, only 2 last will remain
-      -s, --stats           clean stats, only last will remain
-      -v, --update_version  Update experiment version
 
+.. runcmd:: autosubmit clean -h
 
 * The -p and -s flag are used to clean our experiment ``plot`` folder to save disk space. Only the two latest plots will be kept. Older plots will be removed.
 
 Example:
 ::
 
-    autosubmit clean cxxx -p
+    autosubmit clean <EXPID> -p
 
 * The -pr flag is used to clean our experiment ``proj`` locally in order to save space (it could be particularly big).
 
@@ -45,14 +31,14 @@ Example:
 Example:
 ::
 
-    autosubmit clean cxxx -pr
+    autosubmit clean <EXPID> -pr
 
 A bare copy (which occupies less space on disk) will be automatically made.
 
 .. hint:: That bare clone can be always reconverted in a working clone if we want to run again the experiment by using ``git clone bare_clone original_clone``.
 
 .. note:: In addition, every time you run this command with -pr option, it will check the commit unique identifier for local working tree existing on the ``proj`` directory.
-    In case that commit identifier exists, clean will register it to the ``expdef_cxxx.yml`` file.
+    In case that commit identifier exists, clean will register it to the ``expdef_<EXPID>.yml`` file.
 
 .. _archive:
 
@@ -68,22 +54,8 @@ use, unless it is unarchived.
     autosubmit archive EXPID
 
 Options:
-::
-
-   usage: autosubmit archive [-h] [-nclean] [-uc] [-v] [--rocrate] EXPID
-
-    archives an experiment
-
-    positional arguments:
-      EXPID                 experiment identifier
-
-    options:
-      -h, --help            show this help message and exit
-      -nclean, --noclean    Avoid Cleaning of experiment folder
-      -uc, --uncompress     Only does a container without compress
-      -v, --update_version  Update experiment version
-      --rocrate             Produce an RO-Crate file
 
+.. runcmd:: autosubmit archive -h
 
 The archived experiment will be stored as a ``tar.gz` file, under
 a directory named after the year of the last ``_COMPLETED`` file
@@ -98,25 +70,11 @@ To unarchive an experiment, use the command:
 
 .. code-block::
 
-    autosubmit unarchive EXPID
+    autosubmit unarchive <EXPID>
 
 Options:
-::
-
-   usage: autosubmit unarchive [-h] [-nclean] [-uc] [-v] [--rocrate] EXPID
-
-    unarchives an experiment
-
-    positional arguments:
-      EXPID                 experiment identifier
-
-    options:
-      -h, --help            show this help message and exit
-      -nclean, --noclean    Avoid Cleaning of experiment folder
-      -uc, --uncompressed   Extract files of the tar file without gzip compression
-      -v, --update_version  Update experiment version
-      --rocrate             Unarchive an RO-Crate file
 
+.. runcmd:: autosubmit unarchive -h
 
 How to delete the experiment
 ----------------------------
@@ -124,34 +82,21 @@ How to delete the experiment
 To delete the experiment, use the command:
 ::
 
-    autosubmit delete EXPID
+    autosubmit delete <EXPID>
 
-*EXPID* is the experiment identifier.
+*<EXPID>* is the experiment identifier.
 
 .. warning:: DO NOT USE THIS COMMAND IF YOU ARE NOT SURE !
     It deletes the experiment from database and experiment’s folder.
 
 Options:
-::
-
-    usage: autosubmit delete [-h] [-f] [-v] EXPID
-
-    delete specified experiment
-
-    positional arguments:
-      EXPID                 experiment identifier
-
-    options:
-      -h, --help            show this help message and exit
-      -f, --force           deletes experiment without confirmation
-      -v, --update_version  Update experiment version
-
 
+.. runcmd:: autosubmit delete -h
 
 Example:
 ::
 
-    autosubmit delete cxxx
+    autosubmit delete <EXPID>
 
 .. warning:: Be careful ! force option does not ask for your confirmation.
 
@@ -164,29 +109,13 @@ The Autosubmit Migrate command is used to migrate data from one user to another.
    autosubmit migrate EXPID
 
 Options:
-::
-
-   usage: autosubmit migrate [-h] [-o] [-p] [-r] [-v] [-fs {Any,READY,COMPLETED,WAITING,SUSPENDED,FAILED,UNKNOWN}] EXPID
-
-    Migrate experiments from current user to another
-
-    positional arguments:
-      EXPID                 experiment identifier
 
-    options:
-      -h, --help            show this help message and exit
-      -o, --offer           Offer experiment
-      -p, --pickup          Pick-up released experiment
-      -r, --onlyremote      Only moves remote files
-      -v, --update_version  Update experiment version
-      -fs {Any,READY,COMPLETED,WAITING,SUSPENDED,FAILED,UNKNOWN}, --filter_status {Any,READY,COMPLETED,WAITING,SUSPENDED,FAILED,UNKNOWN}
-                            Select the original status to filter the list of jobs
+.. runcmd:: autosubmit migrate -h
 
+To migrate it, you need to generate a new file inside <EXPID>/conf/ with the **new user** information for each platform that you want to migrate.
 
-To migrate it, you need to generate a new file inside $expid/conf/ with the **new user** information for each platform that you want to migrate.
 
-
-Platform file example: $expid/conf/platforms.yml
+Platform file example: $expid/conf/platforms_<EXPID>.yml
 ::
 
     PLATFORMS:
@@ -199,7 +128,7 @@ Platform file example: $expid/conf/platforms.yml
         no-migrated-platform:
             ...
 
-Migrate file example: $expid/conf/migrate.yml
+Migrate file example: $expid/conf/migrate_<EXPID>.yml
 ::
 
     AS_MISC: True # Important to set this flag to True
@@ -216,7 +145,7 @@ Migrate file example: $expid/conf/migrate.yml
 
 .. warning:: The USER in the migrate file must be a different user, in case you want to maintain the same user, put SAME_USER: True.
 
-.. warning:: The temporary directory(%PLATFORMS.TEST-LOCAL.TEMP_DIR%) must be set in the $expid/conf/migrate.yml file.
+.. warning:: The temporary directory(%PLATFORMS.TEST-LOCAL.TEMP_DIR%) must be set in the <EXPID>/conf/migrate_<EXPID>.yml file.
 
 .. warning:: The temporary directory(%PLATFORMS.TEST-LOCAL.TEMP_DIR%) must be readable by both users (old owner and new owner)
     Example for a RES account to BSC account the tmp folder must have rwx|rwx|--- permissions.
@@ -225,14 +154,14 @@ Migrate file example: $expid/conf/migrate.yml
 User A, To offer the experiment:
 ::
 
-    autosubmit migrate --offer EXPID
+    autosubmit migrate --offer <EXPID>
 
 Local files will be archived and remote files put in the HPC temporary directory.
 
 User A To only offer the remote files
 ::
 
-    autosubmit migrate EXPID --offer --onlyremote
+    autosubmit migrate <EXPID> --offer --onlyremote
 
 Only remote files will be put in the HPC temporary directory.
 
@@ -245,14 +174,14 @@ Only remote files will be put in the HPC temporary directory.
 Now to pick the experiment, the user B, must do
 ::
 
-    autosubmit migrate --pickup EXPID
+    autosubmit migrate --pickup <EXPID>
 
 Local files will be unarchived and remote files copied from the temporal location.
 
 To only pick the remote files, the user B, must do
 ::
 
-    autosubmit migrate --pickup EXPID --onlyremote
+    autosubmit migrate --pickup <EXPID> --onlyremote
 
 How to synchronize with the project's latest changes
 ----------------------------------------------------
@@ -263,37 +192,23 @@ In order to synchronize with remote, use the command:
 
 ::
 
-    autosubmit refresh EXPID
+    autosubmit refresh <EXPID>
 
-where *EXPID* is the experiment identifier.
+where *<EXPID>* is the experiment identifier.
 
 It checks the experiment configuration and copies code from the original repository to project directory.
 
 .. warning:: THIS WILL OVERWRITE LOCAL CHANGES!
-    Project directory ( <expid>/proj will be overwritten and you may loose local changes.
+    Project directory ( <EXPID>/proj will be overwritten and you may loose local changes.
 
 
 Options:
-::
-
-    usage: autosubmit refresh [-h] [-mc] [-jc] [-v] EXPID
-
-    refresh project directory for an experiment
-
-    positional arguments:
-      EXPID                 experiment identifier
-
-    options:
-      -h, --help            show this help message and exit
-      -mc, --model_conf     overwrite model conf file
-      -jc, --jobs_conf      overwrite jobs conf file
-      -v, --update_version  Update experiment version
-
+.. runcmd:: autosubmit refresh -h
 
 Example:
 ::
 
-    autosubmit refresh cxxx
+    autosubmit refresh <EXPID>
 
 .. _updateDescrip:
 
@@ -303,27 +218,15 @@ How to update the description of your experiment
 Use the command:
 ::
 
-    autosubmit updatedescrip EXPID DESCRIPTION
+    autosubmit updatedescrip <EXPID> "DESCRIPTION"
 
 *EXPID* is the experiment identifier.
 
 *DESCRIPTION* is the new description of your experiment.
 
 Options:
-::
-
-    usage: autosubmit updatedescrip [-h] [-v] EXPID DESCRIPTION
-
-        Updates the experiment's description.
-
-        positional arguments:
-          EXPID                 experiment identifier
-          DESCRIPTION           New description.
-
-        options:
-          -h, --help            show this help message and exit
-          -v, --update_version  Update experiment version
 
+.. runcmd:: autosubmit updatedescrip -h
 
 Autosubmit will validate the provided data and print the results in the command line.
 
@@ -345,99 +248,49 @@ This procedure allows you to modify the status of your jobs.
 You must execute:
 ::
 
-    autosubmit setstatus EXPID -fs STATUS_ORIGINAL -t STATUS_FINAL -s
+    autosubmit setstatus <EXPID> -fs STATUS_ORIGINAL -t STATUS_FINAL -s
 
-*EXPID* is the experiment identifier.
+*<EXPID>* is the experiment identifier.
 *STATUS_ORIGINAL* is the original status to filter by the list of jobs.
 *STATUS_FINAL* the desired target status.
 
 Options:
-::
-
-    usage: autosubmit setstatus [-h] [-np] [-s] -t {READY,COMPLETED,WAITING,SUSPENDED,FAILED,UNKNOWN,QUEUING,RUNNING,HELD} [-v]
-                            (-fl LIST | -fc FILTER_CHUNKS | -fs FILTER_STATUS | -ft FILTER_TYPE | -ftc FILTER_TYPE_CHUNK | -ftcs FILTER_TYPE_CHUNK_SPLIT)
-                            [--hide] [-group_by {date,member,chunk,split,automatic}] [-expand EXPAND]
-                            [-expand_status EXPAND_STATUS] [-nt] [-cw] [-d]
-                            expid
-
-    sets job status for an experiment
-
-    positional arguments:
-      expid                 experiment identifier
-
-    options:
-      -h, --help            show this help message and exit
-      -np, --noplot         omit plot
-      -s, --save            Save changes to disk
-      -t {READY,COMPLETED,WAITING,SUSPENDED,FAILED,UNKNOWN,QUEUING,RUNNING,HELD}, --status_final {READY,COMPLETED,WAITING,SUSPENDED,FAILED,UNKNOWN,QUEUING,RUNNING,HELD}
-                            Supply the target status
-      -v, --update_version  Update experiment version
-      -fl LIST, --list LIST
-                            Supply the list of job names to be changed. Default = "Any". LIST = "b037_20101101_fc3_21_sim
-                            b037_20111101_fc4_26_sim"
-      -fc FILTER_CHUNKS, --filter_chunks FILTER_CHUNKS
-                            Supply the list of chunks to change the status. Default = "Any". LIST = "[ 19601101 [ fc0 [1 2 3 4]
-                            fc1 [1] ] 19651101 [ fc0 [16-30] ] ]"
-      -fs FILTER_STATUS, --filter_status FILTER_STATUS
-                            Select the status (one or more) to filter the list of jobs.Valid values = ['Any', 'READY',
-                            'COMPLETED', 'WAITING', 'SUSPENDED', 'FAILED', 'UNKNOWN']
-      -ft FILTER_TYPE, --filter_type FILTER_TYPE
-                            Select the job type to filter the list of jobs
-      -ftc FILTER_TYPE_CHUNK, --filter_type_chunk FILTER_TYPE_CHUNK
-                            Supply the list of chunks to change the status. Default = "Any". When the member name "all" is set,
-                            all the chunks selected from for that member will be updated for all the members. Example: all [1],
-                            will have as a result that the chunks 1 for all the members will be updated. Follow the format: "[
-                            19601101 [ fc0 [1 2 3 4] Any [1] ] 19651101 [ fc0 [16-30] ] ],SIM,SIM2,SIM3"
-      -ftcs FILTER_TYPE_CHUNK_SPLIT, --filter_type_chunk_split FILTER_TYPE_CHUNK_SPLIT
-                            Supply the list of chunks & splits to change the status. Default = "Any". When the member name "all"
-                            is set, all the chunks selected from for that member will be updated for all the members. Example:
-                            all [1], will have as a result that the chunks 1 for all the members will be updated. Follow the
-                            format: "[ 19601101 [ fc0 [1 [1 2] 2 3 4] Any [1] ] 19651101 [ fc0 [16-30] ] ],SIM,SIM2,SIM3"
-      --hide                hides plot window
-      -group_by {date,member,chunk,split,automatic}
-                            Groups the jobs automatically or by date, member, chunk or split
-      -expand EXPAND        Supply the list of dates/members/chunks to filter the list of jobs. Default = "Any". LIST = "[
-                            19601101 [ fc0 [1 2 3 4] fc1 [1] ] 19651101 [ fc0 [16-30] ] ]"
-      -expand_status EXPAND_STATUS
-                            Select the statuses to be expanded
-      -nt, --notransitive   Disable transitive reduction
-      -cw, --check_wrapper  Generate possible wrapper in the current workflow
-      -d, --detail          Generate detailed view of changes
 
+.. runcmd:: autosubmit setstatus -h
 
 Examples:
 ::
 
-    autosubmit setstatus cxxx -fl "cxxx_20101101_fc3_21_sim cxxx_20111101_fc4_26_sim" -t READY -s
-    autosubmit setstatus cxxx -fc "[ 19601101 [ fc1 [1] ] ]" -t READY -s
-    autosubmit setstatus cxxx -fs FAILED -t READY -s
-    autosubmit setstatus cxxx -ft TRANSFER -t SUSPENDED -s
-    autosubmit setstatus cxxx -ftc "[ 19601101 [ fc1 [1] ] ], SIM" -t SUSPENDED -s
+    autosubmit setstatus <EXPID> -fl "<EXPID>_20101101_fc3_21_sim <EXPID>_20111101_fc4_26_sim" -t READY -s
+    autosubmit setstatus <EXPID> -fc "[ 19601101 [ fc1 [1] ] ]" -t READY -s
+    autosubmit setstatus <EXPID> -fs FAILED -t READY -s
+    autosubmit setstatus <EXPID> -ft TRANSFER -t SUSPENDED -s
+    autosubmit setstatus <EXPID> -ftc "[ 19601101 [ fc1 [1] ] ], SIM" -t SUSPENDED -s
 
 Date (month) range example:
 ::
 
-    autosubmit setstatus cxxx -ftc "[ 1960(1101-1201) [ fc1 [1] ] ], SIM" -t SUSPENDED -s
+    autosubmit setstatus <EXPID> -ftc "[ 1960(1101-1201) [ fc1 [1] ] ], SIM" -t SUSPENDED -s
 
 This example will result changing the following jobs:
 ::
 
-    cxxx_19601101_fc1_1_SIM
-    cxxx_19601201_fc1_1_SIM
+    <EXPID>_19601101_fc1_1_SIM
+    <EXPID>_19601201_fc1_1_SIM
 
 Date (day) range example:
 ::
 
-    autosubmit setstatus cxxx -ftc "[ 1960(1101-1105) [ fc1 [1] ] ], SIM" -t SUSPENDED -s
+    autosubmit setstatus <EXPID> -ftc "[ 1960(1101-1105) [ fc1 [1] ] ], SIM" -t SUSPENDED -s
 
 Result:
 ::
 
-    cxxx_19601101_fc1_1_SIM
-    cxxx_19601102_fc1_1_SIM
-    cxxx_19601103_fc1_1_SIM
-    cxxx_19601104_fc1_1_SIM
-    cxxx_19601105_fc1_1_SIM
+    <EXPID>_19601101_fc1_1_SIM
+    <EXPID>_19601102_fc1_1_SIM
+    <EXPID>_19601103_fc1_1_SIM
+    <EXPID>_19601104_fc1_1_SIM
+    <EXPID>_19601105_fc1_1_SIM
 
 This script has two mandatory arguments.
 
@@ -452,7 +305,7 @@ The second argument has four alternatives, the -fl, -fc, -fs and -ft; with those
 * The -fl variable receives a list of job names separated by blank spaces: e.g.:
     ::
 
-     "cxxx_20101101_fc3_21_sim cxxx_20111101_fc4_26_sim"
+     "<EXPID>_20101101_fc3_21_sim <EXPID>_20111101_fc4_26_sim"
 
 If we supply the key word "Any", all jobs will be changed to the target status.
 
@@ -513,12 +366,12 @@ Options:
 Example:
 ::
 
-    vi updated_list_cxxx.txt
+    vi updated_list_<EXPID>.txt
 
 .. code-block:: ini
 
-    cxxx_20101101_fc3_21_sim    READY
-    cxxx_20111101_fc4_26_sim    READY
+    <EXPID>_20101101_fc3_21_sim    READY
+    <EXPID>_20111101_fc4_26_sim    READY
 
 If Autosubmit finds the above file, it will process it. You can check that the processing was OK at a given date and time,
 if you see that the file name has changed to:
diff --git a/docs/source/userguide/modifying_workflow/index.rst b/docs/source/userguide/modifying_workflow/index.rst
index ad3dcbe61..8a17df145 100644
--- a/docs/source/userguide/modifying_workflow/index.rst
+++ b/docs/source/userguide/modifying_workflow/index.rst
@@ -24,64 +24,37 @@ Examples:
 
 ::
     # check locally for completion files, do not kill running tasks, and do not commit changes
-    autosubmit recovery cxxx
+    autosubmit recovery <EXPID>
     # commit to the previous states
-    autosubmit recovery cxxx -s
+    autosubmit recovery <EXPID> -s
     # check locally for completion file AND issue kill commands in remote
-    autosubmit recovery cxxx -f -s
+    autosubmit recovery <EXPID> -f -s
     # check in remote for completion files 
-    autosubmit recovery cxxx --all -s
+    autosubmit recovery <EXPID> --all -s
 
 Options:
-::
 
-    usage: autosubmit recovery [-h] [-np] [--all] [-s] [--hide] [-group_by {date,member,chunk,split,automatic}] [-expand EXPAND]
-                           [-expand_status EXPAND_STATUS] [-nt] [-nl] [-d] [-f] [-v]
-                           EXPID
-
-    recover specified experiment
-
-    positional arguments:
-      EXPID                 experiment identifier
-
-    options:
-      -h, --help            show this help message and exit
-      -np, --noplot         omit plot
-      --all                 Get completed files to synchronize pkl
-      -s, --save            Save changes to disk
-      --hide                hides plot window
-      -group_by {date,member,chunk,split,automatic}
-                        Groups the jobs automatically or by date, member, chunk or split
-      -expand EXPAND        Supply the list of dates/members/chunks to filter the list of jobs. Default = "Any". LIST = "[
-                        19601101 [ fc0 [1 2 3 4] fc1 [1] ] 19651101 [ fc0 [16-30] ] ]"
-      -expand_status EXPAND_STATUS
-                            Select the statuses to be expanded
-      -nt, --notransitive   Disable transitive reduction
-      -nl, --no_recover_logs
-                            Disable logs recovery
-      -d, --detail          Show Job List view in terminal
-      -f, --force           Cancel active jobs
-      -v, --update_version  Update experiment version
+.. runcmd:: autosubmit recovery -h
 
 How to rerun a part of the experiment
 -------------------------------------
 
 This procedure allows you to create automatically a new pickle with a list of jobs of the experiment to rerun.
 
-Using the ``expdef_<expid>.yml`` the ``create`` command will generate the rerun if the variable RERUN is set to TRUE and a RERUN_JOBLIST is provided.
+Using the ``expdef_<EXPID>.yml`` the ``create`` command will generate the rerun if the variable RERUN is set to TRUE and a RERUN_JOBLIST is provided.
 
 Additionally, you can have re-run only jobs that won't be include in the default job_list. In order to do that, you have to set RERUN_ONLY in the jobs conf of the corresponding job.
 
 ::
 
-    autosubmit create cxxx
+    autosubmit create <EXPID>
 
 It will read the list of jobs specified in the RERUN_JOBLIST and will generate a new plot.
 
 Example:
 ::
 
-    vi <experiments_directory>/cxxx/conf/expdef_cxxx.yml
+    vi <experiments_directory>/<EXPID>/conf/expdef_<EXPID>.yml
 
 .. code-block:: yaml
 
@@ -92,7 +65,7 @@ Example:
         RERUN_JOBLIST: RERUN_TEST_INI;SIM[19600101[C:3]],RERUN_TEST_INI_chunks[19600101[C:3]]
     ...
 
-    vi <experiments_directory>/cxxx/conf/jobs_cxxx.yml
+    vi <experiments_directory>/<EXPID>/conf/jobs_<EXPID>.yml
 
 .. code-block:: yaml
 
@@ -127,5 +100,5 @@ Run the command:
 
     # Add your key to ssh agent ( if encrypted )
     ssh-add ~/.ssh/id_rsa
-    nohup autosubmit run cxxx &
+    nohup autosubmit run <EXPID> &
 
diff --git a/docs/source/userguide/monitor_and_check/index.rst b/docs/source/userguide/monitor_and_check/index.rst
index 8981b6fa2..c60b64599 100644
--- a/docs/source/userguide/monitor_and_check/index.rst
+++ b/docs/source/userguide/monitor_and_check/index.rst
@@ -15,30 +15,19 @@ It checks experiment configuration and warns about any detected error or inconsi
 It is used to check if the script is well-formed.
 If any template has an inconsistency it will replace them for an empty value on the cmd generated.
 Options:
-::
-
-    usage: autosubmit check [-h] [-nt] [-v] EXPID
-
-    check configuration for specified experiment
 
-    positional arguments:
-      EXPID                 experiment identifier
-
-    options:
-      -h, --help            show this help message and exit
-      -nt, --notransitive   Disable transitive reduction
-      -v, --update_version  Update experiment version
+.. runcmd:: autosubmit check -h
 
 
 Example:
 ::
 
-    autosubmit check cxxx
+    autosubmit check <EXPID>
 
 How to use check in running time:
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
-In ``jobs_cxxx.yml`` , you can set check(default true) to check the scripts during autosubmit run cxx.
+In ``jobs_<EXPID>.yml`` , you can set check(default true) to check the scripts during autosubmit run cxx.
 
 There are two parameters related to check:
 
@@ -99,56 +88,30 @@ To generate  the cmd files of the current non-active jobs experiment, it is poss
 
 EXPID is the experiment identifier.
 Options:
-::
 
-   usage: autosubmit inspect [-h] [-nt] [-f] [-cw] [-v] [-q]
-                          [-fl LIST | -fc FILTER_CHUNKS | -fs {Any,READY,COMPLETED,WAITING,SUSPENDED,FAILED,UNKNOWN} | -ft FILTER_TYPE]
-                          EXPID
-
-    Generate all .cmd files
-
-    positional arguments:
-      EXPID                 experiment identifier
-
-    options:
-      -h, --help            show this help message and exit
-      -nt, --notransitive   Disable transitive reduction
-      -f, --force           Overwrite all cmd
-      -cw, --check_wrapper  Generate possible wrapper in the current workflow
-      -v, --update_version  Update experiment version
-      -q, --quick           Only checks one job per each section
-      -fl LIST, --list LIST
-                            Supply the list of job names to be filtered. Default = "Any". LIST = "b037_20101101_fc3_21_sim
-                            b037_20111101_fc4_26_sim"
-      -fc FILTER_CHUNKS, --filter_chunks FILTER_CHUNKS
-                            Supply the list of chunks to filter the list of jobs. Default = "Any". LIST = "[ 19601101 [ fc0 [1 2
-                            3 4] fc1 [1] ] 19651101 [ fc0 [16-30] ] ]"
-      -fs {Any,READY,COMPLETED,WAITING,SUSPENDED,FAILED,UNKNOWN}, --filter_status {Any,READY,COMPLETED,WAITING,SUSPENDED,FAILED,UNKNOWN}
-                             Select the original status to filter the list of jobs
-      -ft FILTER_TYPE, --filter_type FILTER_TYPE
-                             Select the job type to filter the list of jobs
+.. runcmd:: autosubmit inspect -h
 
 Examples:
 
 with autosubmit.lock present or not:
 ::
 
-    autosubmit inspect cxxx
+    autosubmit inspect <EXPID>
 
 with autosubmit.lock present or not:
 ::
 
-    autosubmit inspect cxxx -f
+    autosubmit inspect <EXPID> -f
 
 without autosubmit.lock:
 ::
 
-    autosubmit inspect cxxx -fl [-fc,-fs or ft]
+    autosubmit inspect <EXPID> -fl [-fc,-fs or ft]
 
 To generate cmd for wrappers:
 ::
 
-    autosubmit inspect cxxx -cw -f
+    autosubmit inspect <EXPID> -cw -f
 
 
 With autosubmit.lock and no (-f) force, it will only generate all files that are not submitted.
@@ -158,7 +121,7 @@ Without autosubmit.lock, it will generate all unless filtered by -fl,fc,fs or ft
 To generate cmd only for a single job of the section :
 ::
 
-    autosubmit inspect cxxx -q
+    autosubmit inspect <EXPID> -q
 
 How to monitor an experiment
 ----------------------------
@@ -171,54 +134,14 @@ To monitor the status of the experiment, use the command:
 *EXPID* is the experiment identifier.
 
 Options:
-::
 
-   usage: autosubmit monitor [-h] [-o {pdf,png,ps,svg,txt}] [-group_by {date,member,chunk,split,automatic}] [-expand EXPAND]
-                          [-expand_status EXPAND_STATUS] [--hide_groups] [-cw]
-                          [-fl LIST | -fc FILTER_CHUNKS | -fs {Any,READY,COMPLETED,WAITING,SUSPENDED,FAILED,UNKNOWN} | -ft FILTER_TYPE]
-                          [--hide] [-txt | -txtlog] [-nt] [-v] [-p]
-                          expid
-
-    plots specified experiment
-
-    positional arguments:
-      expid                 experiment identifier
-
-    options:
-      -h, --help            show this help message and exit
-      -o {pdf,png,ps,svg,txt}, --output {pdf,png,ps,svg,txt}
-                            chooses type of output for generated plot
-      -group_by {date,member,chunk,split,automatic}
-                            Groups the jobs automatically or by date, member, chunk or split
-      -expand EXPAND        Supply the list of dates/members/chunks to filter the list of jobs. Default = "Any". LIST = "[
-                            19601101 [ fc0 [1 2 3 4] fc1 [1] ] 19651101 [ fc0 [16-30] ] ]"
-      -expand_status EXPAND_STATUS
-                            Select the stat uses to be expanded
-      --hide_groups         Hides the groups from the plot
-      -cw, --check_wrapper  Generate possible wrapper in the current workflow
-      -fl LIST, --list LIST
-                            Supply the list of job names to be filtered. Default = "Any". LIST = "b037_20101101_fc3_21_sim
-                            b037_20111101_fc4_26_sim"
-      -fc FILTER_CHUNKS, --filter_chunks FILTER_CHUNKS
-                            Supply the list of chunks to filter the list of jobs. Default = "Any". LIST = "[ 19601101 [ fc0 [1 2
-                            3 4] fc1 [1] ] 19651101 [ fc0 [16-30] ] ]"
-     -fs {Any,READY,COMPLETED,WAITING,SUSPENDED,FAILED,UNKNOWN}, --filter_status {Any,READY,COMPLETED,WAITING,SUSPENDED,FAILED,UNKNOWN}
-                            Select the original status to filter the list of jobs
-     -ft FILTER_TYPE, --filter_type FILTER_TYPE
-                           Select the job type to filter the list of jobs
-     --hide                hides plot window
-     -txt, --text          Generates only txt status file
-     -txtlog, --txt_logfiles
-                           Generates only txt status file(AS < 3.12b behaviour)
-     -nt, --notransitive   Disable transitive reduction
-      -v, --update_version  Update experiment version
-      -p, --profile         Prints performance parameters of the execution of this command.
+.. runcmd:: autosubmit monitor -h
 
                                 
 Example:
 ::
 
-    autosubmit monitor cxxx
+    autosubmit monitor <EXPID>
 
 The location where the user can find the generated plots with date and timestamp can be found below:
 
@@ -477,27 +400,16 @@ To get details about the experiment, use the command:
 It displays information about the experiment. Currently it describes owner,description_date,model,branch and hpc
 
 Options:
-::
-
-    usage: autosubmit describe [-h] [-u USER] [-v] [EXPID]
-
-    Show details for specified experiment
 
-    positional arguments:
-      EXPID                 experiment identifier, can be a list of expid separated by comma or spaces
-
-    options:
-      -h, --help            show this help message and exit
-      -u USER, --user USER  username, default is current user or listed expid
-      -v, --update_version  Update experiment version
+.. runcmd:: autosubmit describe -h
 
 
 Examples:
 ::
 
-   autosubmit describe cxxx
-   autosubmit describe "cxxx cyyy"
-   autosubmit describe cxxx,cyyy
+   autosubmit describe <EXPID>
+   autosubmit describe "<EXPID> <EXPID>"
+   autosubmit describe <EXPID>,<EXPID>
    autosubmit describe -u dbeltran
 
 .. _autoStatistics:
@@ -513,33 +425,14 @@ The following command could be adopted to generate the plots for visualizing the
 *EXPID* is the experiment identifier.
 
 Options:
-::
-
-    usage: autosubmit stats [-h] [-ft FILTER_TYPE] [-fp FILTER_PERIOD] [-o {pdf,png,ps,svg}] [--hide] [-nt] [-v] [-db] EXPID
-
-    plots statistics for specified experiment
-
-    positional arguments:
-      EXPID                 experiment identifier
 
-    options:
-      -h, --help            show this help message and exit
-      -ft FILTER_TYPE, --filter_type FILTER_TYPE
-                            Select the job type to filter the list of jobs
-      -fp FILTER_PERIOD, --filter_period FILTER_PERIOD
-                           Select the period to filter jobs from current time to the past in number of hours back
-      -o {pdf,png,ps,svg}, --output {pdf,png,ps,svg}
-                            type of output for generated plot
-      --hide                hides plot window
-      -nt, --notransitive   Disable transitive reduction
-      -v, --update_version  Update experiment version
-      -db, --database       Use database for statistics
+.. runcmd:: autosubmit stats -h
 
 
 Example:
 ::
 
-    autosubmit stats cxxx
+    autosubmit stats <EXPID>
 
 The location where user can find the generated plots with date and timestamp can be found below:
 
@@ -550,7 +443,7 @@ The location where user can find the generated plots with date and timestamp can
 For including the summaries:
 ::
 
-        autosubmit stats --section_summary --jobs_summary cxxx
+        autosubmit stats --section_summary --jobs_summary <EXPID>
 
 The location will be:
 ::
@@ -672,25 +565,8 @@ Or combined as follows:
     autosubmit report EXPID -t "absolute_file_path"
 
 Options:
-::
-
-   usage: autosubmit report [-h] [-t TEMPLATE] [-all] [-fp FOLDER_PATH] [-p] [-v] EXPID
-
-   Show metrics..
-
-   positional arguments:
-   EXPID            experiment identifier
 
-   options:
-   -h, --help            show this help message and exit
-   -t TEMPLATE, --template TEMPLATE
-   Supply the metric template.
-   -all, --show_all_parameters
-   Writes a file containing all parameters
-   -fp FOLDER_PATH, --folder_path FOLDER_PATH
-   Allows to select a non-default folder.
-   -p, --placeholders    disables the substitution of placeholders by -
-   -v, --update_version  Update experiment version
+.. runcmd:: autosubmit report -h
 
 
 Autosubmit parameters are encapsulated by %_%, once you know how the parameter is called you can create a template similar to the one as follows:
diff --git a/docs/source/userguide/profiler.rst b/docs/source/userguide/profiler.rst
index 2ef661034..57f915818 100644
--- a/docs/source/userguide/profiler.rst
+++ b/docs/source/userguide/profiler.rst
@@ -31,7 +31,7 @@ please, do not use it on concurrent code. For memory profiling, it uses ``psutil
       it in other functions may produce unexpected results or errors. Now, its usage have been 
       extended to ``autosubmit create`` and ``monitor``.
       
-      The profiler instantiation requires an ``EXPID``, and not all the functions in Autosubmit use it. 
+      The profiler instantiation requires an ``<EXPID>``, and not all the functions in Autosubmit use it.
       This can be bypassed using another string, but keep in mind that there is no error handling in 
       this case.
 
@@ -52,7 +52,7 @@ your parser:
 The function must receive the flag as argument to control the execution of the profiler. If the flag 
 has value ``True``, you should proceed as follows:
 
-1. Instantiate a **Profiler(EXPID)** object. Specifying the ``EXPID`` is mandatory.
+1. Instantiate a **Profiler(EXPID)** object. Specifying the ``<EXPID>`` is mandatory.
 
 2. Run the profiler by calling the **start()** function of the instantiated object, at the beginning 
    of the function or code fragment you want to evaluate. The measurement will start instantly.
diff --git a/docs/source/userguide/provenance.rst b/docs/source/userguide/provenance.rst
index 610d2a97c..c54443e48 100644
--- a/docs/source/userguide/provenance.rst
+++ b/docs/source/userguide/provenance.rst
@@ -7,7 +7,7 @@ findability, accessibility, interoperability, and reusability. It
 supports and uses open standards such as YAML, RO-Crate, as well as
 other standards such as ISO-8601.
 
-Each Autosubmit experiment is assigned a :doc:`unique experiment ID <expids>`
+Each Autosubmit experiment is assigned a :doc:`unique experiment ID <EXPIDS>`
 (also called expid). It also provides a central database and utilities
 that permit experiments to be referenced.
 
diff --git a/docs/source/userguide/run/index.rst b/docs/source/userguide/run/index.rst
index 7dff7b93d..bc81e5f58 100644
--- a/docs/source/userguide/run/index.rst
+++ b/docs/source/userguide/run/index.rst
@@ -10,33 +10,15 @@ Launch Autosubmit with the command:
 
     # Add your key to ssh agent ( if encrypted )
     ssh-add ~/.ssh/id_rsa
-    autosubmit run EXPID
+    autosubmit run <EXPID>
 
-In the previous command output ``EXPID`` is the experiment identifier. The command
+In the previous command output ``<EXPID>`` is the experiment identifier. The command
 exits with ``0`` when the workflow finishes with no failed jobs, and with ``1``
 otherwise.
 
 Options:
-::
-
-    usage: autosubmit run [-h] [-nt] [-v] [-st START_TIME] [-sa START_AFTER] [-rom RUN_ONLY_MEMBERS] [-p] EXPID
-
-    runs specified experiment
 
-    positional arguments:
-      EXPID                 experiment identifier
-
-    options:
-      -h, --help            show this help message and exit
-      -nt, --notransitive   Disable transitive reduction
-      -v, --update_version  Update experiment version
-      -st START_TIME, --start_time START_TIME
-                            Sets the starting time for this experiment
-      -sa START_AFTER, --start_after START_AFTER
-                            Sets a experiment expid which completion will trigger the start of this experiment.
-      -rom RUN_ONLY_MEMBERS, --run_only_members RUN_ONLY_MEMBERS
-                            Sets members allowed on this run.
-      -p, --profile         Prints performance parameters of the execution of this command.
+.. runcmd:: autosubmit run -h
 
 
 Example:
@@ -45,16 +27,16 @@ Example:
 
     # Add your key to ssh agent ( if encrypted )
     ssh-add ~/.ssh/id_rsa
-    autosubmit run cxxx
+    autosubmit run <EXPID>
 
-.. important:: If the autosubmit version is set on ``autosubmit.yml`` it must match the actual autosubmit version
+.. important:: If the autosubmit version is set on ``autosubmit_<EXPID>.yml`` it must match the actual autosubmit version
 .. hint:: It is recommended to launch it in background and with ``nohup`` (continue running although the user who launched the process logs out).
 
 .. code-block:: bash
 
     # Add your key to ssh agent ( if encrypted )
     ssh-add ~/.ssh/id_rsa
-    nohup autosubmit run cxxx &
+    nohup autosubmit run <EXPID> &
 
 .. important:: Before launching Autosubmit check password-less ssh is feasible (*HPCName* is the hostname):
 .. important:: Add encryption key to ssh agent for each session (if your ssh key is encrypted)
@@ -76,16 +58,16 @@ Once you've already loaded / installed the Autosubmit version do you want:
 
 .. code-block:: bash
 
-    autosubmit create $EXPID -np
-    autosubmit recovery $EXPID -s --all -f -np
+    autosubmit create <EXPID> -np
+    autosubmit recovery <EXPID> -s --all -f -np
     # Add your key to ssh agent ( if encrypted )
     ssh-add ~/.ssh/id_rsa
-    autosubmit run $EXPID -v
+    autosubmit run <EXPID> -v
     or
-    autosubmit updateversion $EXPID
+    autosubmit updateversion <EXPID>
     # Add your key to ssh agent ( if encrypted )
     ssh-add ~/.ssh/id_rsa
-    autosubmit run $EXPID -v
+    autosubmit run <EXPID> -v
 
 *EXPID* is the experiment identifier.
 The most common problem when you change your Autosubmit version is the apparition of several Python errors.
@@ -101,21 +83,21 @@ Once you've already loaded / installed the Autosubmit version do you want:
 
 .. code-block:: bash
 
-    autosubmit upgrade $EXPID
-    autosubmit create $EXPID -np
-    autosubmit recovery $EXPID -s --all -f -np
+    autosubmit upgrade <EXPID>
+    autosubmit create <EXPID> -np
+    autosubmit recovery <EXPID> -s --all -f -np
     # Add your key to ssh agent ( if encrypted )
     ssh-add ~/.ssh/id_rsa
-    autosubmit run $EXPID -v
+    autosubmit run <EXPID> -v
     or
-    autosubmit updateversion $EXPID
+    autosubmit updateversion <EXPID>
     # Add your key to ssh agent ( if encrypted )
     ssh-add ~/.ssh/id_rsa
-    autosubmit run $EXPID -v
+    autosubmit run <EXPID> -v
 
-*EXPID* is the experiment identifier.
+*<EXPID>* is the experiment identifier.
 The most common problem when you upgrade an experiment with INI configuration to YAML is that some variables may be not automatically translated.
-Ensure that all your $EXPID/conf/\*.yml files are correct and also revise the templates in $EXPID/proj/$proj_name.
+Ensure that all your <EXPID>/conf/\*.yml files are correct and also revise the templates in <EXPID>/proj/$proj_name.
 
 
 How to run only selected members
@@ -127,9 +109,9 @@ To run only a subset of selected members you can execute the command:
 
         # Add your key to ssh agent ( if encrypted )
         ssh-add ~/.ssh/id_rsa
-        autosubmit run EXPID -rom MEMBERS
+        autosubmit run <EXPID> -rom MEMBERS
 
-*EXPID* is the experiment identifier, the experiment you want to run.
+*<EXPID>* is the experiment identifier, the experiment you want to run.
 
 *MEMBERS* is the selected subset of members. Format `"member1 member2 member2"`, example: `"fc0 fc1 fc2"`.
 
@@ -141,11 +123,11 @@ Furthermore, if you wish to run a sequence of only members execution; then, inst
 
     # Add your key to ssh agent ( if encrypted )
     ssh-add ~/.ssh/id_rsa
-    autosubmit run EXPID -rom MEMBER_1
-    autosubmit run EXPID -rom MEMBER_2
-    autosubmit run EXPID -rom MEMBER_3
+    autosubmit run <EXPID> -rom MEMBER_1
+    autosubmit run <EXPID> -rom MEMBER_2
+    autosubmit run <EXPID> -rom MEMBER_3
     ...
-    autosubmit run EXPID -rom MEMBER_N
+    autosubmit run <EXPID> -rom MEMBER_N
 
 How to start an experiment at a given time
 ------------------------------------------
@@ -156,9 +138,9 @@ To start an experiment at a given time, use the command:
 
     # Add your key to ssh agent ( if encrypted )
     ssh-add ~/.ssh/id_rsa
-    autosubmit run EXPID -st INPUT
+    autosubmit run <EXPID> -st INPUT
 
-*EXPID* is the experiment identifier
+*<EXPID>* is the experiment identifier
 
 *INPUT* is the time when your experiment will start. You can provide two formats:
   * `H:M:S`: For example `15:30:00` will start your experiment at 15:30 in the afternoon of the present day.
@@ -180,11 +162,11 @@ To start an experiment after another experiment is finished, use the command:
 
     # Add your key to ssh agent ( if encrypted )
     ssh-add ~/.ssh/id_rsa
-    autosubmit run EXPID -sa EXPIDB
+    autosubmit run <EXPID> -sa <EXPIDB>
 
-*EXPID* is the experiment identifier, the experiment you want to start.
+*<EXPID>* is the experiment identifier, the experiment you want to start.
 
-*EXPIDB* is the experiment identifier of the experiment you are waiting for before your experiment starts.
+*<EXPIDB>* is the experiment identifier of the experiment you are waiting for before your experiment starts.
 
 .. warning:: Both experiments must be using Autosubmit version `3.13.0` or later.
 
@@ -204,7 +186,7 @@ add the ``--profile`` (or ``-p``) flag to your ``autosubmit run`` command, as in
 
 .. code-block:: bash
 
-    autosubmit run --profile EXPID
+    autosubmit run --profile <EXPID>
 
 .. include:: ../../_include/profiler_common.rst
 
@@ -217,7 +199,7 @@ This feature allows to run an experiment in two separated steps without the need
 
 To achieve this, you will have to use an special parameter called TWO_STEP_START in which you will put the list of the jobs that you want to run in an exclusive mode. These jobs will run until all of them finishes and once it finishes, the rest of the jobs will begun the execution.
 
-It can be activated through TWO_STEP_START and it is set on expdef_a02n.yml, under the experiment: section.
+It can be activated through TWO_STEP_START and it is set on expdef_<EXPID>.yml, under the experiment: section.
 
 .. code-block:: ini
 
@@ -412,7 +394,7 @@ Finally, you can launch Autosubmit *run* in background and with ``nohup`` (conti
 
     # Add your key to ssh agent ( if encrypted )
     ssh-add ~/.ssh/id_rsa
-    nohup autosubmit run cxxx &
+    nohup autosubmit run <EXPID> &
 
 How to stop the experiment
 --------------------------
@@ -420,41 +402,16 @@ How to stop the experiment
 From Autosubmit 4.1.6, you can stop an experiment using the command `autosubmit stop`
 
 Options:
-::
-
-    usage: autosubmit stop [-h] [-f] [-a] [-fa] [-c] [-fs FILTER_STATUS]
-                       [-t STATUS]
-                       [EXPID]
-
-    Completely stops an autosubmit run process
-
-    positional arguments:
-      EXPID                 experiment identifier, stops the listed expids
-                            separated by ","
-
-    optional arguments:
-      -h, --help            show this help message and exit
-      -f, --force           Forces to stop autosubmit process, equivalent to kill
-                            -9
-      -a, --all             Stop all current running autosubmit processes, will
-                            ask for confirmation
-      -fa, --force_all      Stop all current running autosubmit processes
-      -c, --cancel          Orders to the schedulers to stop active jobs.
-      -fs FILTER_STATUS, --filter_status FILTER_STATUS
-                            Select the status (one or more) to filter the list of
-                            jobs. Default is SUBMITTED, QUEUING, RUNNING.
-			    
-      -t STATUS, --target STATUS
-                            Final status of killed jobs. Default is FAILED.
 
+.. runcmd:: autosubmit stop -h
 
 Examples:
 ~~~~~~~~~
 
 .. code-block:: bash
 
-    autosubmit stop cxxx
-    autosubmit stop cxxx, cyyy
+    autosubmit stop <EXPID>
+    autosubmit stop <EXPID>, <EXPID>
     autosubmit stop -a
     autosubmit stop -a -f
     autosubmit stop -a -c
@@ -466,12 +423,12 @@ To get the process identifier (PID) you can use the ps command on a shell interp
 ::
 
     ps -ef | grep autosubmit
-    dbeltran  22835     1  1 May04 ?        00:45:35 autosubmit run cxxy
-    dbeltran  25783     1  1 May04 ?        00:42:25 autosubmit run cxxx
+    dbeltran  22835     1  1 May04 ?        00:45:35 autosubmit run <EXPID>
+    dbeltran  25783     1  1 May04 ?        00:42:25 autosubmit run <EXPID>
 
 To send a signal to a process you can use kill also on a terminal.
 
-To stop immediately experiment cxxx:
+To stop immediately experiment <EXPID>:
 ::
 
     kill -9 22835
diff --git a/docs/source/userguide/set_and_share_the_configuration/index.rst b/docs/source/userguide/set_and_share_the_configuration/index.rst
index 6f996b09f..5b3b1a81d 100644
--- a/docs/source/userguide/set_and_share_the_configuration/index.rst
+++ b/docs/source/userguide/set_and_share_the_configuration/index.rst
@@ -25,29 +25,29 @@ The following table summarizes what configuration files Autosubmit expects and w
 
     * - File
       - Content
-    * - ``expdef.yml``
+    * - ``expdef_<EXPID>.yml``
       -
         * It contains the default platform, the one set with -H.
         * Allows changing the start dates, members and chunks.
         * Allows changing the experiment project source ( git, local, svn or dummy)
-    * - ``platforms.yml``
+    * - ``platforms_<EXPID>.yml``
       -
         * It contains the list of platforms to use in the experiment.
         * This file must be filled-up with the platform(s) configuration(s).
         * Several platforms can be defined and used in the same experiment.
-    * - ``jobs.yml``
+    * - ``jobs_<EXPID>.yml``
       -
         - It contains the tasks' definitions in sections.
         - This file must be filled-up with the tasks' definitions.
         - Several sections can be defined and used in the same experiment.
-    * - ``autosubmit.yml``
+    * - ``autosubmit_<EXPID>.yml``
       -
         - Parameters that control workflow behavior.
         - Parameters that activate extra functionalities.
-    * - ``proj.yml``
+    * - ``proj_<EXPID>.yml``
       -
         - Project-dependent parameters.
-    * - ``version.yml``
+    * - ``version_<EXPID>.yml``
       -
         - Current AS version for this experiment.
 
@@ -218,7 +218,7 @@ Advanced configuration - Full dummy example (reproducible)
     dbeltran@bsces107894: autosubmit refresh a04b
     # Check the downloaded model-configuration
     dbeltran@bsces107894:~/autosubmit/a04b$ ls proj/git_project/as_conf/
-    autosubmit.yml  expdef.yml  jobs.yml  platforms.yml
+    autosubmit_<EXPID>.yml  expdef.yml  jobs.yml  platforms.yml
 
 Model configuration is distributed at `git. <https://earth.bsc.es/gitlab/ces/auto-advanced_config_example/-/tree/main/as_conf>`_
 
@@ -274,7 +274,7 @@ The expid command can copy another user's existing expid to work correctly.
 .. code-block:: bash
 
    #Create a new experiment.
-   autosubmit expid  --copy a002 -H "LOCAL" -d "Advanced configuration. --copy of a002"
+   autosubmit expid --copy a002 -H "LOCAL" -d "Advanced configuration. --copy of a002"
    # Get the expid from the output. Ex. expid=a004
    cd $autosubmit_experiment_folder/a004
    ls conf
diff --git a/docs/source/userguide/user_mapping.rst b/docs/source/userguide/user_mapping.rst
index fcdc7c4a5..5b33b0bb1 100644
--- a/docs/source/userguide/user_mapping.rst
+++ b/docs/source/userguide/user_mapping.rst
@@ -34,9 +34,9 @@ How it works
 
 The idea is to map two different things depending on the user logged in to the shared account to ensure the correct Autosubmit behavior.
 
-* Platform.yml file that contains the personal user for each platform.
+* Platform_<EXPID>.yml file that contains the personal user for each platform.
 
-(Personal user action): The user must set the environment variable "AS_ENV_PLATFORMS_PATH" to point to the file that contains the personal platforms.yml file.
+(Personal user action): The user must set the environment variable "AS_ENV_PLATFORMS_PATH" to point to the file that contains the personal platforms_<EXPID>.yml file.
 
 Defaults to: None
 
@@ -103,7 +103,7 @@ Tip: Add it to the shared account .bashrc file.
 
 .. code-block:: bash
 
-    cat $autosubmit_data/$expid/conf/minimal.yml
+    cat $autosubmit_data/$expid/conf/minimal_<EXPID>.yml
 
 .. code-block:: yaml
 
diff --git a/docs/source/userguide/variables.rst b/docs/source/userguide/variables.rst
index b6a167a54..7d9ab4aaa 100644
--- a/docs/source/userguide/variables.rst
+++ b/docs/source/userguide/variables.rst
@@ -17,7 +17,7 @@ You can review all variables at any given time by using the
 .. code-block:: console
     :caption: Example usage of ``autosubmit report``
 
-    $ autosubmit report $expid -all
+    $ autosubmit report <EXPID> -all
 
 The command will save the list of variables available to a file
 in the experiment area. The groups of variables of Autosubmit are
diff --git a/docs/source/userguide/wrappers/index.rst b/docs/source/userguide/wrappers/index.rst
index bad9df59e..5bda1bc20 100644
--- a/docs/source/userguide/wrappers/index.rst
+++ b/docs/source/userguide/wrappers/index.rst
@@ -12,14 +12,14 @@ Job packages, or "wrappers", are jobs created as bundles of different tasks (sub
 
 .. code-block:: bash
 
-	autosubmit create  EXPID  -cw  # Unstarted experiment
+	autosubmit create  EXPID -cw  # Unstarted experiment
 	autosubmit monitor EXPID -cw # Ongoing experiment
 	autosubmit inspect EXPID -cw -f # Visualize wrapper cmds
 
 Basic configuration
 -------------------
 
-To configure a new wrapper, the user has to define a `WRAPPERS` section in any configuration file. When using the standard configuration, this one is autosubmit.yml.
+To configure a new wrapper, the user has to define a `WRAPPERS` section in any configuration file. When using the standard configuration, this one is autosubmit_<EXPID>.yml.
 
 .. code-block:: YAML
 


Reviews:
user: login: isimo00
body: This is really extensive work, thanks @VindeeR! I haven't spotted any inconsistencies, so my only comment would be to make sure you squash these 54 commits into 1 when merging 😆 
state: APPROVED
author_association: CONTRIBUTOR
submitted_at: 2025-04-14T07:38:43Z
user: login: kinow
body: Couldn't review everything, just passing by quickly to leave some comments in the draft :+1: But really impressive work!
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-04-14T08:06:03Z
user: login: VindeeR
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-04-14T08:09:35Z
user: login: VindeeR
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-04-14T08:12:01Z
user: login: dbeltrankyl
state: COMMENTED
author_association: COLLABORATOR
submitted_at: 2025-04-14T08:12:18Z
user: login: VindeeR
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-04-14T08:13:38Z
user: login: VindeeR
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-04-14T08:17:54Z

Review comments:
diff_hunk: @@ -22,13 +22,12 @@
 This Files is responsible to generate the interactions between Autosubmit and a Slurm Platform creating commands
 being responsible for executing them as needed but the Jobs.
 """
-import contextlib
+from contextlib import suppress
path: autosubmit/platforms/slurmplatform.py
user: login: kinow
body: This looks like a bug in the slurm platform? Hopefully a recent issue, that's not included in the latest releases shipped by @dbeltrankyl :grimacing: 

I guess you had to add it here as the docs are now executing this code?
created_at: 2025-04-14T08:01:42Z
author_association: MEMBER
diff_hunk: @@ -20,13 +20,18 @@ build:
       # - https://earth.bsc.es/gitlab/es/autosubmit/-/merge_requests/340/
       # - https://yaml.readthedocs.io/en/latest/api.html
       - pip uninstall ruamel.yaml.clib -y
+      - autosubmit configure
+      - autosubmit install
path: .readthedocs.yaml
user: login: kinow
body: Huh, interesting! Didn't foresee we would need to do that but I think it makes sense, as we might have experiments produced for/by the docs :clap: 
created_at: 2025-04-14T08:02:14Z
author_association: MEMBER
diff_hunk: @@ -4,12 +4,11 @@
 This profiler uses Python's ``cProfile`` and ``psutil`` modules to generate a report with simple CPU and 
 memory metrics which will be displayed in your console after the command finishes, as in the example below:
 
-.. figure:: /_include/fig/profiler_output.png
-   :name: profiler_head_output
-   :align: center
-   :alt: Screenshot of the header of the profiler's output
 
-The profiler output is also saved in ``<EXPID>/tmp/profile``. There you will find two files, the 
+.. runcmd:: autosubmit create --profile <EXPID>
path: docs/source/_include/profiler_common.rst
user: login: kinow
body: I think this command will fail?

We should use the `runcmd` for commands that will produce valid & useful output for users... but this one I'm not sure if should be done this way.
created_at: 2025-04-14T08:03:05Z
author_association: MEMBER
diff_hunk: @@ -37,7 +37,6 @@
     'sphinx_reredirects',
     'sphinx.ext.graphviz',
     'autosubmit_variables',
-    'helloworld',
path: docs/source/conf.py
user: login: kinow
body: :+1: 
created_at: 2025-04-14T08:03:11Z
author_association: MEMBER
diff_hunk: @@ -68,19 +71,27 @@ For a very quick test, you can follow the next instructions to configure and run
 .. code-block:: bash
 
     # Quick-configure ( user-level database)
-    autosubmit configure
+    # autosubmit configure
 
     # Install
-    autosubmit install
+    # autosubmit install
path: docs/source/installation/index.rst
user: login: kinow
body: Why were these two commands above commented?
created_at: 2025-04-14T08:03:59Z
author_association: MEMBER
diff_hunk: @@ -101,7 +112,8 @@ For a very quick test, you can follow the next instructions to configure and run
     # Where ~/.ssh/id_rsa is the path to your private key
 
     # run
-    autosubmit run a000
+
+.. runcmd:: autosubmit run a000
path: docs/source/installation/index.rst
user: login: kinow
body: Is it really running the experiment? Is the docs build taking longer? Are we setting that SAFETYINTERVALSOMETHING setting to `0` or `1` to speed up the build?
created_at: 2025-04-14T08:05:06Z
author_association: MEMBER
diff_hunk: @@ -90,18 +90,18 @@ The output of the command will show the expid of the experiment and generate the
       - User scripts and  project code. (empty)
 
 
-Then, execute ``autosubmit create <expid> -np`` and Autosubmit will generate the workflow graph.
+Then, execute ``autosubmit create <EXPID> -np`` and Autosubmit will generate the workflow graph.
path: docs/source/qstartguide/index.rst
user: login: kinow
body: Thanks for making these more uniform throughout the docs!
created_at: 2025-04-14T08:05:33Z
author_association: MEMBER
diff_hunk: @@ -22,13 +22,12 @@
 This Files is responsible to generate the interactions between Autosubmit and a Slurm Platform creating commands
 being responsible for executing them as needed but the Jobs.
 """
-import contextlib
+from contextlib import suppress
path: autosubmit/platforms/slurmplatform.py
user: login: VindeeR
body: actually it was a bug introduced when creating the maestro documentation we noticed it right away and provided a fix
created_at: 2025-04-14T08:09:35Z
author_association: CONTRIBUTOR
diff_hunk: @@ -4,12 +4,11 @@
 This profiler uses Python's ``cProfile`` and ``psutil`` modules to generate a report with simple CPU and 
 memory metrics which will be displayed in your console after the command finishes, as in the example below:
 
-.. figure:: /_include/fig/profiler_output.png
-   :name: profiler_head_output
-   :align: center
-   :alt: Screenshot of the header of the profiler's output
 
-The profiler output is also saved in ``<EXPID>/tmp/profile``. There you will find two files, the 
+.. runcmd:: autosubmit create --profile <EXPID>
path: docs/source/_include/profiler_common.rst
user: login: VindeeR
body: I'm trying to explore a bit with the command and see what is possible and what is not, and its messages. I was about to revert the last commit, now that everything is working as expected I cant go back at testing locally. I plan to commit what we currently have and start a new branch to make it easier for future reviews
created_at: 2025-04-14T08:12:01Z
author_association: CONTRIBUTOR
diff_hunk: @@ -22,13 +22,12 @@
 This Files is responsible to generate the interactions between Autosubmit and a Slurm Platform creating commands
 being responsible for executing them as needed but the Jobs.
 """
-import contextlib
+from contextlib import suppress
path: autosubmit/platforms/slurmplatform.py
user: login: dbeltrankyl
body: Yes, the fix is included in 4.1.14(pre-release)
created_at: 2025-04-14T08:12:18Z
author_association: COLLABORATOR
diff_hunk: @@ -68,19 +71,27 @@ For a very quick test, you can follow the next instructions to configure and run
 .. code-block:: bash
 
     # Quick-configure ( user-level database)
-    autosubmit configure
+    # autosubmit configure
 
     # Install
-    autosubmit install
+    # autosubmit install
path: docs/source/installation/index.rst
user: login: VindeeR
body: I was testing with those commands probably between the back and forth o "commented it" on the documentation thanks for noticing I'll fix it right away
created_at: 2025-04-14T08:13:38Z
author_association: CONTRIBUTOR
diff_hunk: @@ -101,7 +112,8 @@ For a very quick test, you can follow the next instructions to configure and run
     # Where ~/.ssh/id_rsa is the path to your private key
 
     # run
-    autosubmit run a000
+
+.. runcmd:: autosubmit run a000
path: docs/source/installation/index.rst
user: login: VindeeR
body: with the commands of expid | run | create being executed the build is taking about 4 min (previously 2 min) as I'm going to revert these commit for now and create a new branch based off of the new branch I'll try to implement the SAFETYINTERVALSOMETHING to fast track the build process
created_at: 2025-04-14T08:17:54Z
author_association: CONTRIBUTOR

PR comments:
user: login: codecov-commenter
created_at: 2025-04-11T15:07:12Z
body: ## [Codecov](https://app.codecov.io/gh/BSC-ES/autosubmit/pull/2301?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=BSC-ES) Report
:white_check_mark: All modified and coverable lines are covered by tests.
:white_check_mark: Project coverage is 55.72%. Comparing base ([`36c9717`](https://app.codecov.io/gh/BSC-ES/autosubmit/commit/36c97177147db0e9473e0a1ec883421a9fd61b8c?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=BSC-ES)) to head ([`49e79e6`](https://app.codecov.io/gh/BSC-ES/autosubmit/commit/49e79e6ba036c60b11f38775f91bc1bc4ff0b33a?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=BSC-ES)).
:warning: Report is 282 commits behind head on master.

<details><summary>Additional details and impacted files</summary>



```diff
@@            Coverage Diff             @@
##           master    #2301      +/-   ##
==========================================
+ Coverage   55.34%   55.72%   +0.37%     
==========================================
  Files          72       73       +1     
  Lines       17225    17306      +81     
  Branches     3350     3345       -5     
==========================================
+ Hits         9533     9643     +110     
+ Misses       6854     6834      -20     
+ Partials      838      829       -9     
```

| [Flag](https://app.codecov.io/gh/BSC-ES/autosubmit/pull/2301/flags?src=pr&el=flags&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=BSC-ES) | Coverage Δ | |
|---|---|---|
| [fast-tests](https://app.codecov.io/gh/BSC-ES/autosubmit/pull/2301/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=BSC-ES) | `55.72% <100.00%> (+0.37%)` | :arrow_up: |

Flags with carried forward coverage won't be shown. [Click here](https://docs.codecov.io/docs/carryforward-flags?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=BSC-ES#carryforward-flags-in-the-pull-request-comment) to find out more.
</details>

[:umbrella: View full report in Codecov by Sentry](https://app.codecov.io/gh/BSC-ES/autosubmit/pull/2301?dropdown=coverage&src=pr&el=continue&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=BSC-ES).   
:loudspeaker: Have feedback on the report? [Share it here](https://about.codecov.io/codecov-pr-comment-feedback/?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=BSC-ES).
<details><summary> :rocket: New features to boost your workflow: </summary>

- :snowflake: [Test Analytics](https://docs.codecov.com/docs/test-analytics): Detect flaky tests, report on failures, and find test suite problems.
</details>
author_association: NONE
user: login: kinow
created_at: 2025-04-14T08:51:47Z
body: @VindeeR did you really intend to merge this now? I think these were not squashed, and not sure if this was working 100%...
author_association: MEMBER
user: login: VindeeR
created_at: 2025-04-14T08:58:16Z
body: I thought it was okay to merge it, because it was approved, sorry I'll revert it, I didn't want to make it an even bigger commit @kinow

I did a rebase of the commit they were all send to master as individual commits (not squashed :sweat_smile: )
author_association: CONTRIBUTOR
user: login: VindeeR
created_at: 2025-05-20T06:22:58Z
body: @kinow I just suddenly remembered today we have done a revert of this fix I'll recreate a PR for this branch
author_association: CONTRIBUTOR
user: login: kinow
created_at: 2025-05-20T06:26:51Z
body: Thanks @VindeeR !
author_association: MEMBER