Skip to content

Configuration

Arif Dogan edited this page Mar 4, 2025 · 1 revision

Configuration

LLMDog is designed to work with minimal configuration, but it offers several customization options to tailor the experience to your preferences. This page covers how to configure LLMDog and the available options.

Configuration Location

LLMDog stores its configuration in:

  • Linux/macOS: ~/.config/llmdog/config.json
  • Windows: %USERPROFILE%\.config\llmdog\config.json

This file is automatically created with default values when you first run LLMDog.

Configuration File Structure

The config.json file uses the following structure:

{
  "showHiddenFiles": false,
  "fuzzyThreshold": 0.6,
  "maxPreviewSize": 10000,
  "colorTheme": "default",
  "contentSearchMode": false
}

Configuration Options

Show Hidden Files

Key: showHiddenFiles
Type: Boolean
Default: false
Description: When set to true, LLMDog will display files and directories that begin with a dot (.), such as .gitignore or .env. When false, these files are hidden by default.

Fuzzy Search Threshold

Key: fuzzyThreshold
Type: Float (0.0 to 1.0)
Default: 0.6
Description: Controls the sensitivity of fuzzy search matching. Lower values result in more lenient matching (more results), while higher values require closer matches (fewer results).

Maximum Preview Size

Key: maxPreviewSize
Type: Integer (bytes)
Default: 10000
Description: Controls the maximum number of bytes read when previewing a file. Larger values show more content but may slow down the UI when previewing large files.

Color Theme

Key: colorTheme
Type: String
Default: "default"
Description: Specifies the color theme to use. Currently, only the "default" theme is fully implemented.

Content Search Mode

Key: contentSearchMode
Type: Boolean
Default: false
Description: When set to true, searches will include file contents in addition to file names. This can be toggled during runtime with Ctrl+S.

Modifying Configuration

There are two ways to modify the configuration:

1. Editing the Config File Directly

You can edit the config.json file directly with any text editor:

# Linux/macOS
nano ~/.config/llmdog/config.json

# Windows (PowerShell)
notepad $env:USERPROFILE\.config\llmdog\config.json

Make your changes and save the file. The changes will take effect the next time you launch LLMDog.

2. Using the Application

Some settings can be toggled while using LLMDog:

  • Content Search Mode: Toggle with Ctrl+S
    • This change will be saved to the config file when toggled

Advanced Configuration

Gitignore Integration

LLMDog automatically respects .gitignore files in your project. This behavior is built-in and doesn't require additional configuration.

The application:

  1. Reads your project's .gitignore file
  2. Converts gitignore patterns to regular expressions
  3. Uses these patterns to identify which files should be marked as "ignored"

Gitignored files:

  • Are displayed with faded text in the UI
  • Are skipped when selecting a parent directory
  • Can still be individually selected if needed

Temporary Configuration Changes

Settings changed during runtime (like toggling content search mode) are saved to the configuration file and will persist between sessions.

Default Configuration Reset

If you need to reset to default configuration:

  1. Exit LLMDog if it's running
  2. Delete or rename the config file:
    # Linux/macOS
    rm ~/.config/llmdog/config.json
    
    # Windows (PowerShell)
    Remove-Item $env:USERPROFILE\.config\llmdog\config.json
  3. Launch LLMDog again, and a new default configuration file will be created

Environment Variables

LLMDog currently does not use environment variables for configuration. All settings are stored in the config.json file.

Configuration Best Practices

  1. Preview Size: If you work with large files, consider increasing maxPreviewSize for better previews, but be aware this may impact performance.

  2. Hidden Files: Enable showHiddenFiles if you frequently need to work with configuration files that start with dots.

  3. Content Search: Keep contentSearchMode disabled by default and use Ctrl+S to toggle it on only when needed, as content searching can be slower in large projects.

  4. Fuzzy Threshold: The default value (0.6) works well for most cases, but you can adjust it if you find search results too broad or too narrow.

Clone this wiki locally