Profiles#
A “profile” is defined by setting up .enkaidu/ in the current directory. Enkaidu will look for this folder from which it loads the following:
enkaidu.yaml|ymlconfig file, if none exists in the current folder or somewhere else explicitly specifiedvariables.yaml|ymlfile that can be used to define variables accessible by prompt templates undervar.- Values can be strings, arrays of strings
- Values can also be hash maps, but only one level deep
prompts/folder inside which Enkaidu will find any file that has.yaml|ymlextension and attempts to load the prompts definitions, defined the same way asprompts:in the config file.- Prompts in the config file will override prompts with the same name defined in the profile.
system_prompts/folder inside which Enkaidu will find any file that has.yaml|ymlextension and attempts to load system prompt definitions, defined the same way assystem_prompts:in the config file.- System prompts in the config file will override those with the same name defined in the profile.
macros/folder inside which Enkaidu will find any file that has.yaml|ymlextension and attempts to load macro definitions, defined the same way asmacros:in the config file.- Macros in the config file will override those with the same name defined in the profile.
Prompts and macros can also be defined in a single file without using the scoped folders.
prompts.yaml|ymlsystem_prompts.yaml|ymlmacros.yaml|yml
If these files and files within folders exist, the folders are processed first, ensuring that the contents of the files supercede any of the same name defined in the files in the folders.