# Cc Config Placement

> Use when adding rules, commands, or skills to dotfiles - decides global vs project-local placement

- Skill: `majiayu000/cc-config-placement` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds add majiayu000/cc-config-placement`
- Raw SKILL.md: https://api.skillmd.com/api/skills/majiayu000/cc-config-placement/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: majiayu000 (https://skillmd.com/u/majiayu000)
- Updated: 2026-09-09
- Page: https://skillmd.com/skills/majiayu000/cc-config-placement

---


# CC Config Placement

Decide whether Claude Code config belongs in global (`claude/`) or project-local (`.claude/`).

## The Two Levels

| Path | Symlink Direction | Scope |
|------|-------------------|-------|
| `dotfiles/claude/` | `~/.claude/*` symlinks point here | All projects (global) |
| `dotfiles/.claude/` | Not symlinked | Dotfiles repo only |

## Symlink Structure

`~/.claude/` contains symlinks pointing **into** `dotfiles/claude/`:

```
~/.claude/
├── CLAUDE.md      → dotfiles/claude/CLAUDE.md
├── commands/      → dotfiles/claude/commands/
├── rules/         → dotfiles/claude/rules/
├── scripts/       → dotfiles/claude/scripts/
├── skills/        → dotfiles/claude/skills/
└── settings.json  (real file, NOT symlinked)
```

**Exception:** `settings.json` - the real file lives at `~/.claude/settings.json`. For version control visibility, `dotfiles/claude/settings.json` symlinks TO it (reverse direction).

## Decision Guide

**Global (`dotfiles/claude/`):**
- Communication preferences, work style
- Commit format, API rules
- Skills/commands useful across all projects
- Settings changes → edit `~/.claude/settings.json` directly

**Project-local (`dotfiles/.claude/`):**
- Dotfiles-specific conventions
- Commands like `/audit`
- Rules scoped to specific dotfiles

## When Ambiguous

Ask: "Should this apply globally (all projects) or just to dotfiles?"

Ambiguous examples:
- "Add a rule about X" → which level?
- "Create a command for Y" → global or local?
- "Remember that I prefer Z" → sounds global, confirm

## File Structure

```
dotfiles/
├── claude/                    ← ~/.claude/* symlinks point here (GLOBAL)
│   ├── CLAUDE.md
│   ├── commands/
│   ├── rules/
│   ├── scripts/
│   ├── skills/
│   └── settings.json          → ~/.claude/settings.json (reverse symlink)
│
└── .claude/                   ← PROJECT-LOCAL (dotfiles repo only)
    ├── CLAUDE.md
    ├── settings.json
    ├── settings.local.json
    ├── skills/
    └── rules/
```

