Configuration

In the .enkaidu/ profile directory, you can define some default configurations by creating a file called config.yml or config.yaml (not both!).

Unlike the baseline Enkaidu configuration, profile configurations only support the auto_load:, tool_settings:, session:, and cordon: sections. Values in these sections when specified in a .enkaidu/config.yml override the corresponding values from the enkaidu.yml configuration file.

Any profile configuration is merged with the contents of the project-specific or other enkaidu.yaml configuration file.

Example

A common use case: keep a general-purpose enkaidu.yml in your home directory, then use a project’s profile configuration to override just the session (e.g. the model to use for that project) and/or the cordon (sandbox) settings for that project’s workspace.

As of 0.9.11 the ShellAccess toolset is no longer available. The shell_command tool is a now a system-level tool which can be enabled using a session configuration property documented here

session:
  model: gemma4          # overrides the model from the base enkaidu.yml
  quiet: true            # and any other session properties...
auto_load:
  system_prompt_name: dev_assistant
  toolsets:
    - DateAndTime
    - name: TextEditing
      select:
        - read_text_file
    - name: FileManagement
      select:
        - list_files
tool_settings:
  shell_command:
    allowed_commands: [ "find", "grep" ]
cordon:
  mode: commands         # shell commands run inside the cordon for this project
  policy:
    read_write_paths:
      - ./scratch