Configuration System

Managing qmims configuration settings

qmims uses a configuration system to store user preferences and default settings. This allows you to customize the behavior of qmims to match your workflow.

Configuration File Location

Configuration settings are stored in:

  • Linux/macOS: ~/.config/qmims/config.json or ~/.qmimsrc
  • Windows: %APPDATA%\qmims\config.json or %USERPROFILE%\.qmimsrc

Configuration Structure

The configuration file uses a JSON structure with the following sections:

{
  "user": {
    "name": "Your Name",
    "email": "your.email@example.com"
  },
  "defaults": {
    "mode": "auto",
    "templateName": "detailed",
    "outputFilename": "README.md"
  },
  "q": {
    "autoApproveEdits": false
  },
  "git": {
    "autoCommit": false,
    "commitMessageFormat": "docs: update README.md using qmims"
  }
}

Managing Configuration

You can manage your configuration using the config command:

Listing Configuration

qmims config list

This will display all your current configuration settings.

Getting a Specific Setting

qmims config get defaults.mode

Setting a Configuration Value

qmims config set defaults.templateName detailed

Deleting a Configuration Value

qmims config delete q.autoApproveEdits

Interactive Setup

qmims config setup

This will guide you through setting up your configuration interactively, asking you questions about your preferences.

Configuration Sections

User Information

KeyDescriptionExample
user.nameYour name"John Doe"
user.emailYour email address"john.doe@example.com"

Default Settings

KeyDescriptionExample
defaults.modeDefault generation mode"auto"
defaults.templateNameDefault template name"detailed"
defaults.outputFilenameDefault output filename"README.md"

Amazon Q Settings

KeyDescriptionExample
q.autoApproveEditsAutomatically approve edits (use with caution)false

Git Integration Settings

KeyDescriptionExample
git.autoCommitAutomatically commit changes to gitfalse
git.commitMessageFormatFormat for git commit messages"docs: update README.md using qmims"

Configuration Best Practices

  • Set Default Template: If you frequently use a specific template, set it as your default:
    qmims config set defaults.templateName detailed
  • Custom Output Path: If you prefer to store documentation in a specific location:
    qmims config set defaults.outputFilename docs/README.md
  • Git Integration: If you want to automatically commit changes:
    qmims config set git.autoCommit true qmims config set git.commitMessageFormat "docs: update documentation"
  • Use with Caution: Be careful with settings like q.autoApproveEdits, which can make changes without confirmation