Overview
For how configuration items are merged layer by layer and the order of precedence, see Configuration Files and Precedence.
Personal Configuration
~/.qoder/settings.json under the User Configuration Directory and applies to every project you open. It is ideal for personal preferences that are unrelated to specific projects:
- UI preferences such as interface themes, status bar, and keyboard shortcuts.
- Personal default models and reasoning strength.
- User-level toggles such as auto-upgrade.
Project Configuration
<项目>/.qoder/settings.json at the project root directory. It applies only to this project and is suitable for committing to the version control repository to share with the team. It is ideal for conventions the team wishes to unify:
- Permission rules and Directory Trust Policies.
- Unified model selection or parameters for the project.
- Project-level extension configurations (MCP, Hooks, etc.).
Local Configuration
<项目>/.qoder/settings.local.json at the project root directory. It applies only to this project and only on the current machine. It is ideal for private settings that you do not want to commit or affect others:
- Local service addresses and personal test data.
- Personal temporary overrides for project configuration.
.qoder/settings.local.json should be added to .gitignore.
.qoder Directory Structure
.qoder/ directory at the project root directory also hosts various local data and extensions for Qoder CLI runtime. Common contents include:
- Rule files split by topic under
rules/, see Memory. - Project-level Skills under
skills/, see Skills. - Isolated checkouts created by
--worktreeunderworktrees/, see Using the CLI and Handling Multiple Tasks in Parallel. - Scheduled tasks saved in
scheduled_tasks.json, see Scheduled Execution Task.
settings.json, authentication status, and plugins) is stored in the User Configuration Directory, which defaults to ~/.qoder.
The location of the User Configuration Directory can be customized via theQODER_CONFIG_DIREnvironment Variable. The project-level.qoderdirectory is always located at the project root directory.
How to Choose
- Is this a personal preference you want across all projects? → Put it in personal configuration.
- Is this a project convention the team should unify? → Put it in project configuration and commit it to the repository.
- Is this a project setting only on my machine that you don’t want to affect others? → Put it in local configuration and add it to
.gitignore.