Macros

Macros can also be defined per-project in the profile folder — see Macros for the file-based form, the full description, and more examples.

In the main configuration file, macros live in a top-level macros: section (not a file per macro, as in profile configs) — a named map where each entry has:

  • description: A description of the macro (required)
  • queries: An array of queries where each entry is treated as if the user typed in a query
macros:
  explain_folder:
    description: |
      Explain the contents of a folder
    queries:
      - |
        Explain the purpose and structure
        of the code in %{path}

This example macro can be invoked from the Enkaidu prompt input like this: !explain_folder path=./src/

Parameter substitution (%{N} positional, %{WORD} named) and the experimental query blocks are described on the Macros page.