For Dani — Windows / WSL Edition

Claude Code Global Setup

The same AI-powered dev environment Matt uses. You already have Claude Code — so this is mostly one copy-paste prompt. Takes about 5 minutes.

Table of Contents

  1. What you're getting
  2. Before you start
  3. Setup — paste one prompt into Claude Code
  4. Your first session
  5. Key commands
  6. Shared repos
  7. If you'd rather do it by hand

What you're getting

This setup gives you the exact same Claude Code configuration Matt uses. It includes:

🧠 Global rules (CLAUDE.md)

A 136-line "constitution" that tells Claude how to behave — when to use Opus vs Sonnet, how to handle git, invoicing, sessions, etc.

🔧 Hook scripts

Auto-run Python scripts that guard against destructive commands, remind you to clear context, and log session metrics.

📦 Skills

/start-session and /finish-session that auto-sync git, update changelogs, and manage commits safely.

🤖 Subagents

Specialized AI agents (codebase-mapper, browser-qa-runner, code-reviewer) that auto-fire in isolated contexts.

🔑 All API keys

Shared .env with Pinecone, Notion, Slack, GHL, Stripe, Modal, and all other service keys.

🛡️ Safety guards

Blocks force-push, sudo rm, curl|bash piping, and main-branch pushes. Fail-open — never wedge a session.

0

Before you start

~2 min

You already have Antigravity + Claude Code installed, so there's no environment to set up. You only need two things in place:

🤖

Claude.ai subscription

Pro or Max — the one Claude Code already signs in with. Claude Code uses your subscription, not per-API billing.

→ claude.ai/upgrade
🐙

Accept Matt's GitHub invite

Check your email for an invite to matt-clientsflow/claude-setup (GitHub user dani-clientsflow) and click Accept. The setup prompt needs this.

→ Accept invite
💡

That's it for prep. Everything else — installing the GitHub CLI, authenticating, cloning the setup repo, copying the config into place, setting your git identity — Claude Code does for you from the prompt below. You don't open a separate terminal.

1

Setup — paste one prompt into Claude Code

the whole install

Open Claude Code (in Antigravity), start a fresh chat, and paste this prompt exactly. Claude does the entire install itself:

→ paste into Claude Code
Please set up my global Claude Code configuration from Matt's shared repo. Do all of this yourself in your terminal — I don't want to run anything in a separate terminal:

1. Make sure the GitHub CLI (gh) is installed. If it isn't, install it for my OS.
2. Authenticate me to GitHub as the user "dani-clientsflow" (run `gh auth login`; if it needs a browser, print the link + one-time code and wait for me to confirm). I've already accepted the invite to matt-clientsflow/claude-setup.
3. Clone matt-clientsflow/claude-setup into my home folder.
4. Install it into my global ~/.claude folder. If there's an install script that matches my OS (e.g. install-wsl.sh on WSL/Linux), run it. Otherwise copy CLAUDE.md, .env (chmod 600), and the hooks/, skills/, agents/ folders into ~/.claude, and write ~/.claude/settings.json using the repo's windows/settings.json as the template — replacing REPLACE_USERNAME with my real username and fixing the absolute hook paths for THIS machine.
5. Set my git identity: email "daniel@clientsflow.hu", name "Dani".
6. When done, list exactly what landed in ~/.claude and tell me to fully restart Claude Code so the new global config loads.
⚠️

Two moments need a click from you: (1) the GitHub login — Claude shows a link + code, you approve it in the browser as dani-clientsflow; (2) if Claude needs your password to install software, type it right there in Claude's terminal. No separate window.

3

Your first session

The daily workflow

Every session follows the same pattern:

Claude Code chat
# Session opens → /start-session runs automatically
# You see: "📍 start-session — myproject @ main (clean)"

# Work on your task...
Fix the login bug in auth.py

# Claude works, makes changes, commits automatically

# New DIFFERENT task → clear first
/clear

# At the end of the session
/finish-session

✅ DO: /clear between tasks

Each new task = new session. /clear resets context so Claude doesn't mix up different codebases or tasks.

⚡ DO: /compact if context fills

If you've been working a long time on the SAME task and context is getting big, use /compact (not /clear).

❌ DON'T: multi-day marathons

Don't leave a session running for days. One task ≈ one session. Marathon sessions eat your rate limit.

4

Key commands

/start-session
Manually re-run the session briefing (git state, last commit, open tasks). Runs automatically on open.
/finish-session
End a session: tidy repo, update CHANGELOG, commit, announce before push. Always run this to close out.
/clear
Start fresh context. Use between different tasks. Fast — doesn't cost anything.
/compact
Compress the current context (same task, but logs/screenshots piled up). Slower than /clear.
/model sonnet
Switch to Sonnet (default — fast, good for most work).
/model opus
Switch to Opus (heavy reasoning: novel architecture, bugs that survived 3+ Sonnet attempts). Always switch back after.
/model-help
Print the decision sheet: when to use Opus vs Sonnet, effort levels, golden rules.
/skills
List all available skills.
5

Shared repos

You don't clone these in a terminal — just tell Claude Code. Once Matt has invited dani-clientsflow to a repo, in Claude Code say:

→ tell Claude Code
Clone matt-clientsflow/telegram-coach into my projects folder and open it.

Claude clones it, opens it, and the /start-session briefing fires automatically. Same for clientsflow-studio or any other shared repo — just name it.

⚠️

Branch discipline: Never push directly to main. Always work on a feature branch — the guard-bash hook blocks a main-branch push, and /finish-session handles the branch + commit + announce-before-push for you safely.

+

If you'd rather do it by hand

optional
💡

The prompt above is the recommended path. If you ever want to run the install yourself (e.g. Claude isn't available), here are the equivalent commands. On WSL/Linux:

WSL / Linux terminal
gh auth login                                   # log in as dani-clientsflow
gh repo clone matt-clientsflow/claude-setup ~/claude-setup
cd ~/claude-setup
bash install-wsl.sh                              # copies everything into ~/.claude

The installer copies all files into ~/.claude/, sets .env permissions to 600, and asks for your git email/name if they aren't set yet. Then restart Claude Code.

⚠️

After you've confirmed your setup works, tell Matt — he deletes the claude-setup repo (it holds shared secrets and only exists to bootstrap you).