> For the complete documentation index, see [llms.txt](https://docs.codemate.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.codemate.ai/cora/configuration.md).

# Configuration

### Where settings are stored

Cora has two configuration scopes: **global** and **project**.

**Global settings** apply to every project you open. They live in extension storage directory:

```
~/.config/Code/User/globalStorage/codemateai.codemate-agent/settings/
```

**Project settings** apply only to the current workspace and take precedence over global settings when both exist. They live at the root of your project:

```
your-project/
  .cora/
    skills/
    rules/
    workflows/
    mcp_settings.json
```

Both locations use the same file formats Markdown for skills, rules, workflows, and system instructions; JSON for MCP servers.

***

### Global settings directory

The full structure of the global settings directory:

```
~/.config/Code/User/globalStorage/codemateai.codemate-agent/settings/
  skills/
    api-conventions.md
    testing-approach.md
  rules/
    security.md
    naming.md
  workflows/
    new-feature.md
    pr-prep.md
  mcp_settings.json
  system-instructions.md
```

Because these are plain files, you can version-control them, sync them across machines with a dotfiles manager, or share a set of skills and rules across a team.

***

### Global vs. project settings

Use **global settings** for conventions and tools that apply to everything you work on a personal coding style, preferred patterns, MCP servers for services you use everywhere like GitHub or Slack.

Use **project settings** for things specific to a codebase its domain vocabulary, its particular API conventions, its security rules, the MCP server for its specific database.

When both scopes define the same type of file (e.g., a `rules/security.md` in both global and project), the project-level file is used for that project. They don't merge line-by-line the project file takes precedence as a whole for that filename.

***

### Configuration types

| Type                | Format   | Purpose                                                           |
| ------------------- | -------- | ----------------------------------------------------------------- |
| Skills              | Markdown | Domain knowledge Cora draws on when relevant to the task          |
| Rules               | Markdown | Hard constraints applied unconditionally to every interaction     |
| Workflows           | Markdown | Step-by-step processes for recurring tasks                        |
| MCP servers         | JSON     | External tool and service integrations                            |
| System instructions | Markdown | Baseline behavior applied at the start of every session           |
| Auto-accept         | Setting  | Whether Cora applies file changes without asking for confirmation |
