HANDS-ON TASK · 1 OF 1

Configure a repo for Claude Code end to end

Task: Configure a project for Claude Code

Goal

Take a repo that has no Claude Code configuration and set it up the way a real project would: project memory so Claude knows the codebase, one custom slash command for a task you repeat, and a permissions allowlist so common actions run without prompting. This brings together the project memory, custom commands, and permissions topics you worked through earlier.

Set up the project

Run this to drop the repo at /root/setupme/:

bash
curl -fsSL https://raw.githubusercontent.com/Esc-Bash/project-init-scripts/main/claude-code/project-3/init.sh | bash

It is a tiny Python project (app.py and greetings.py) with no .claude configuration yet. Have a look so you know what you are configuring.

What to create

Land these exact files in the repo:

  • /root/setupme/CLAUDE.md - project memory describing what the code does and how to run it. Do not leave it empty.
  • /root/setupme/.claude/commands/<name>.md - one custom slash command. The markdown body is the prompt it runs (for example, a /run command that runs the app and reports the output).
  • /root/setupme/.claude/settings.json - a settings file with a permissions.allow array holding at least one rule string, for example "Bash(python3:*)".

Practice

Start the console in the repo so memory and settings apply here:

bash
cd /root/setupme
claude

Running /init generates a first CLAUDE.md from the code. For the custom command, create the folder and file yourself:

bash
mkdir -p /root/setupme/.claude/commands

A settings file with an allowlist looks like this:

json
{
  "permissions": {
    "allow": ["Bash(python3:*)"]
  }
}

Adjust the rules to fit the project. You can also open /permissions in the console to review what is allowed.

Expected Result

The repo now carries a non-empty CLAUDE.md, at least one command markdown file under .claude/commands/, and a .claude/settings.json whose permissions.allow array has at least one rule. The checks confirm each piece.

Ready To Continue

Press Submit once the CLAUDE.md, the custom command, and the allowlist are all in place.


Your lab setup

This VM comes with Claude Code preinstalled and signed in - just run claude to start.

Start the lab on the right to run checks.

Pass the checks to continue
Spin up a fresh environment and practice live.
claude-code-ubuntu · fresh machine · ready in under a minute