Mater Dei AI Club

Imagine training a new assistant on your first day together. You'd tell them your preferences, your pet peeves, and how you like things done. That's exactly what configuration is — telling Claude Code how to work your way.

Your Project Instructions File (CLAUDE.md)

The most important thing you can do is create a project instructions file. It's a simple text file called CLAUDE.mdthat Claude Code reads every time it starts working on your project. Think of it as a "welcome packet" you'd give a new employee.

What to put in it

Write anything you'd tell a smart assistant on their first day:

# My Project Preferences

## About This Project
- This is a website for my bakery called "Sweet Dreams"
- The brand colors are pink (#FF69B4) and white
- Keep the tone friendly and warm

## How I Like Things Done
- Always use simple, casual language (not corporate)
- When creating new pages, match the style of the existing ones
- Don't delete anything without asking me first

## Important Commands
- To preview the website: npm run dev
- To publish changes: npm run build

What this means for you

Instead of repeating yourself every session ("remember, my brand color is pink..."), you write it once and Claude Code remembers it forever. It's the single biggest time-saver for regular Claude Code users.

Getting started quickly

Don't want to write one from scratch? Just type /init in a Claude Code session. Claude Code will scan your project and draft instructions for you — then you can edit them to add your personal preferences.

Where to put instructions files

You can have instructions at different levels, and they all work together:

Location When Claude Code reads it Example use
Your home folder Every project, every time "I prefer concise writing" or "Always use dark mode examples"
Your project folder Only when working on this project "This is a bakery website, brand color is pink"
A subfolder Only when working inside that folder "Files in this folder follow a specific template"

They layer on top of each other — your general preferences apply everywhere, and project-specific rules add on top. Like how a company has general policies, but each department might have its own rules too.

Pointing to other files

If you already have useful information in other files (like a README or a style guide), you can tell Claude Code to read those too:

See @README.md for how this project is set up
See @docs/style-guide.md for our writing standards

Tips for great instructions

  • Keep it under 200 lines — shorter instructions work better than long ones
  • Be specific — "use casual language" is better than "write well"
  • Focus on preferences — tell it how you want things done, not how the code works (it can figure that out)
  • Update as you go — add new rules whenever you find yourself repeating instructions

Your Settings

Beyond the instructions file, Claude Code has settings that control its behavior — things like which AI model to use by default, what it's allowed to do without asking, and how it looks.

You can view and change settings with the /config command, or by editing the settings file directly.

The most useful settings

Setting What it controls Example
Default model Which AI brain Claude Code uses Sonnet (balanced) or Opus (most powerful)
Permission mode How much freedom Claude Code has Ask before everything vs. auto-approve safe actions
Theme Light or dark appearance Match your preference
Auto-memory Whether Claude Code saves what it learns Turn on so it remembers your preferences

Controlling What Claude Code Can Do

You can be very specific about what Claude Code is and isn't allowed to do. Think of it like setting parental controls — except you're the parent and Claude Code is the teenager.

Permission levels

Level File changes Running commands When to use
Cautious Asks first Asks first Important work, learning phase
Trust file edits Automatic Asks first Regular day-to-day work
Planning only Not allowed Not allowed Just brainstorming or exploring
Fully automatic AI decides AI decides Long tasks where you walk away

Switch between levels anytime by pressing Shift+Tab.

Fine-grained rules (for when you want specific control)

You can create specific rules like "always allow reading files" or "never delete anything." Here's what that looks like in plain English:

Rule What it means
Always allow Claude Code does this without asking (e.g., reading files, searching)
Ask first Claude Code shows you what it wants to do and waits for approval
Never allow Claude Code cannot do this even if it tries (e.g., deleting important files)

What this means for you

Start with the default ("Cautious") setting. As you get comfortable and see that Claude Code makes good decisions, gradually give it more freedom. It's like giving a new employee more autonomy as they prove themselves.

Built-in safety

Even in the most autonomous mode, Claude Code has built-in guardrails. It will never:

  • Send your passwords or secret keys to the internet
  • Download and run unknown programs
  • Deploy to production without checking first
  • Force-push over your team's work

And it will always allow:

  • Reading files on your computer
  • Searching through your project
  • Installing declared project dependencies

Rules for Specific Parts of Your Project

If different parts of your project need different instructions, you can create rule files that only apply to certain areas. For example:

  • Rules that only apply when working on the website's design files
  • Rules that only apply when editing the database
  • Rules that only apply to test files

You create these by putting instruction files in a special folder called .claude/rules/. Claude Code automatically loads the right rules based on what files you're working with.

What this means for you

You don't need scoped rules when getting started. They're a power feature for when your project grows and you want different behavior in different areas. Start with one project-level instructions file and add scoped rules later if needed.

Source: ClaudeCodeMastery beginner docs (localhost:3055/docs/configuration), fetched 2026-09-04