This guide walks you through installing /coord from scratch. It is written for people who are comfortable with the command line but may not have used Claude Code's hook or MCP systems before.
์ด ๊ฐ์ด๋๋ ์ฒ์๋ถํฐ /coord๋ฅผ ์ค์นํ๋ ๊ณผ์ ์ ์๋ดํฉ๋๋ค. ๋ช
๋ น์ค์ ์ต์ํ์ง๋ง Claude Code์ ํ
๋๋ MCP ์์คํ
์ ์ฌ์ฉํด ๋ณธ ์ ์ด ์๋ ๋ถ๋ค์ ์ํด ์์ฑ๋์์ต๋๋ค.
Complete all items before starting installation. (์ค์น๋ฅผ ์์ํ๊ธฐ ์ ์ ๋ชจ๋ ํญ๋ชฉ์ ์๋ฃํ์ธ์.)
- Python 3.10 or higher โ
python3 --versionshould print3.10.xor above (Python 3.10 ์ด์) - Node.js 18 or higher โ
node --versionshould printv18.x.xor above (Node.js 18 ์ด์) - npm 9 or higher โ
npm --versionshould print9.x.xor above (npm 9 ์ด์) - Claude Code โ install from https://claude.ai/code and run
claude login(Claude Code ์ค์น ๋ฐ ๋ก๊ทธ์ธ) - TAVILY_API_KEY โ get a free key at https://app.tavily.com (๋ฌด๋ฃ API ํค ๋ฐ๊ธ)
- Git โ
git --version(Git ์ค์น ํ์ธ) - (Optional) OPENROUTER_API_KEY โ for premium model review in Stage 5 (์ ํ์ โ ํ๋ฆฌ๋ฏธ์ ๋ชจ๋ธ ๊ฒํ ์ฉ)
git clone https://github.com/Transconnectome/claude-code-coord.git
cd claude-code-coordVerify the directory structure looks like this (๋๋ ํ ๋ฆฌ ๊ตฌ์กฐ ํ์ธ):
claude-code-coord/
โโโ .claude/ โ Framework files to copy (๋ณต์ฌํ ํ๋ ์์ํฌ ํ์ผ)
โ โโโ CLAUDE.md
โ โโโ hooks/ โ Anti-sycophancy hook scripts (์์ฒจ ๋ฐฉ์ง ํ
์คํฌ๋ฆฝํธ)
โ โโโ agents/ โ Specialist agent definitions (์ ๋ฌธ๊ฐ ์์ด์ ํธ ์ ์)
โ โโโ memory/ โ Memory schema files (๋ฉ๋ชจ๋ฆฌ ์คํค๋ง ํ์ผ)
โโโ docs/ โ Documentation (๋ฌธ์)
โโโ settings/
โ โโโ settings.json.template
โโโ tests/
If you already have a ~/.claude/ directory, back it up first to avoid overwriting your existing settings.
์ด๋ฏธ ~/.claude/ ๋๋ ํ ๋ฆฌ๊ฐ ์๋ ๊ฒฝ์ฐ ๊ธฐ์กด ์ค์ ๋ฎ์ด์ฐ๊ธฐ๋ฅผ ๋ฐฉ์งํ๊ธฐ ์ํด ๋จผ์ ๋ฐฑ์
ํ์ธ์.
# Check if ~/.claude/ exists (์กด์ฌ ์ฌ๋ถ ํ์ธ)
ls ~/.claude/ 2>/dev/null && echo "Found" || echo "Not found"
# Back it up if it exists (์กด์ฌํ๋ ๊ฒฝ์ฐ ๋ฐฑ์
)
cp -r ~/.claude/ ~/.claude.backup.$(date +%Y%m%d)/# From inside the claude-code-coord directory (claude-code-coord ๋๋ ํ ๋ฆฌ ๋ด์์)
cp -r .claude/ ~/.claude/Verify the copy succeeded (๋ณต์ฌ ์ฑ๊ณต ํ์ธ):
ls ~/.claude/
# Expected output (์์ ์ถ๋ ฅ):
# CLAUDE.md agents/ hooks/ memory/Install each MCP server using npm. Some require additional configuration after installation.
npm์ ์ฌ์ฉํ์ฌ ๊ฐ MCP ์๋ฒ๋ฅผ ์ค์นํฉ๋๋ค. ์ผ๋ถ๋ ์ค์น ํ ์ถ๊ฐ ๊ตฌ์ฑ์ด ํ์ํฉ๋๋ค.
# Multi-step reasoning engine (๋ค๋จ๊ณ ์ถ๋ก ์์ง)
npm install -g @modelcontextprotocol/server-sequential-thinking
# Session key-value memory (์ธ์
ํค-๊ฐ ๋ฉ๋ชจ๋ฆฌ)
npm install -g @modelcontextprotocol/server-memory# Real-time web search (์ค์๊ฐ ์น ๊ฒ์)
npm install -g @tavily/mcp-server
# Official library documentation (๊ณต์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ฌธ์)
npm install -g @upstash/context7-mcp
# UI component generation (UI ์ปดํฌ๋ํธ ์์ฑ)
npm install -g @21st-dev/magic
# Bulk pattern-based code edits (์ผ๊ด ํจํด ๊ธฐ๋ฐ ์ฝ๋ ์์ )
npm install -g morphllm-mcp# Create a virtual environment (๊ฐ์ ํ๊ฒฝ ์์ฑ)
python3 -m venv ~/coord-env
source ~/coord-env/bin/activate
# Playwright browser automation (Playwright ๋ธ๋ผ์ฐ์ ์๋ํ)
pip install playwright-mcp
playwright install chromium
# NotebookLM document analysis (NotebookLM ๋ฌธ์ ๋ถ์)
pip install notebooklm-mcp-cliVerify all installations (๋ชจ๋ ์ค์น ํ์ธ):
# Check npm packages (npm ํจํค์ง ํ์ธ)
npm list -g --depth=0 | grep -E "(sequential|memory|tavily|context7|magic|morphllm)"
# Check python packages (Python ํจํค์ง ํ์ธ)
source ~/coord-env/bin/activate
pip list | grep -E "(playwright|notebooklm)"Copy the template and fill in your API keys and paths.
ํ ํ๋ฆฟ์ ๋ณต์ฌํ๊ณ API ํค์ ๊ฒฝ๋ก๋ฅผ ์ ๋ ฅํฉ๋๋ค.
cp settings/settings.json.template ~/.claude/settings.jsonOpen ~/.claude/settings.json in your editor and fill in:
ํธ์ง๊ธฐ์์ ~/.claude/settings.json์ ์ด๊ณ ๋ค์์ ์
๋ ฅํฉ๋๋ค:
{
"env": {
"TAVILY_API_KEY": "tvly-YOUR_KEY_HERE",
"OPENROUTER_API_KEY": "sk-or-YOUR_KEY_HERE"
},
"mcpServers": {
"sequential-thinking": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-sequential-thinking"]
},
"memory": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-memory"]
},
"tavily": {
"command": "npx",
"args": ["-y", "@tavily/mcp-server"],
"env": {
"TAVILY_API_KEY": "tvly-YOUR_KEY_HERE"
}
},
"context7": {
"command": "npx",
"args": ["-y", "@upstash/context7-mcp"]
},
"magic": {
"command": "npx",
"args": ["-y", "@21st-dev/magic"],
"env": {
"MAGIC_API_KEY": "YOUR_MAGIC_KEY_HERE"
}
},
"playwright": {
"command": "python3",
"args": ["-m", "playwright_mcp"],
"env": {
"PATH": "/home/YOUR_USERNAME/coord-env/bin:/usr/local/bin:/usr/bin:/bin"
}
}
}
}Replace every YOUR_KEY_HERE and YOUR_USERNAME with your actual values.
๋ชจ๋ YOUR_KEY_HERE์ YOUR_USERNAME์ ์ค์ ๊ฐ์ผ๋ก ๊ต์ฒดํฉ๋๋ค.
The anti-sycophancy hooks must point to the correct Python script paths. Add the hooks section to your ~/.claude/settings.json:
์์ฒจ ๋ฐฉ์ง ํ
์ ์ฌ๋ฐ๋ฅธ Python ์คํฌ๋ฆฝํธ ๊ฒฝ๋ก๋ฅผ ๊ฐ๋ฆฌ์ผ์ผ ํฉ๋๋ค. ~/.claude/settings.json์ hooks ์น์
์ ์ถ๊ฐํฉ๋๋ค:
{
"hooks": {
"SessionStart": [
{
"type": "command",
"command": "python3 /home/YOUR_USERNAME/.claude/hooks/chavis_session_init.py"
}
],
"UserPromptSubmit": [
{
"type": "command",
"command": "python3 /home/YOUR_USERNAME/.claude/hooks/chavis_prompt_classify.py"
},
{
"type": "command",
"command": "python3 /home/YOUR_USERNAME/.claude/hooks/chavis_strategic_challenge.py"
}
],
"Stop": [
{
"type": "command",
"command": "python3 /home/YOUR_USERNAME/.claude/hooks/chavis_stop_audit.py"
},
{
"type": "command",
"command": "python3 /home/YOUR_USERNAME/.claude/hooks/chavis_persistent_logger.py"
}
]
}
}Replace YOUR_USERNAME with your actual home directory username (์ค์ ์ฌ์ฉ์ ์ด๋ฆ์ผ๋ก ๊ต์ฒด):
# Find your username (์ฌ์ฉ์ ์ด๋ฆ ํ์ธ)
whoamiThe hook system writes to specific directories that must exist before the first session.
ํ ์์คํ ์ ์ฒซ ๋ฒ์งธ ์ธ์ ์ ์ ์กด์ฌํด์ผ ํ๋ ํน์ ๋๋ ํ ๋ฆฌ์ ์๋๋ค.
# Create anti-sycophancy memory directories (์์ฒจ ๋ฐฉ์ง ๋ฉ๋ชจ๋ฆฌ ๋๋ ํ ๋ฆฌ ์์ฑ)
mkdir -p ~/.claude/projects/-home-$(whoami)/memory/sycophancy/lessons/
mkdir -p /tmp/chavis/
# Create the initial pattern library (์ด๊ธฐ ํจํด ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์์ฑ)
touch ~/.claude/projects/-home-$(whoami)/memory/sycophancy/pattern_library.md
touch ~/.claude/projects/-home-$(whoami)/memory/sycophancy/session_log.jsonl
touch ~/.claude/projects/-home-$(whoami)/memory/sycophancy/calibration_log.jsonl
# Create the MEMORY.md index (MEMORY.md ์ธ๋ฑ์ค ์์ฑ)
touch ~/.claude/projects/-home-$(whoami)/memory/MEMORY.mdRun the test suite to confirm everything is working.
ํ ์คํธ ์ค์ํธ๋ฅผ ์คํํ์ฌ ๋ชจ๋ ๊ฒ์ด ์๋ํ๋์ง ํ์ธํฉ๋๋ค.
cd claude-code-coord/tests/
# Run hook system unit tests (ํ
์์คํ
๋จ์ ํ
์คํธ ์คํ)
python3 -m pytest test_hooks.py -v
# Run a quick end-to-end smoke test (๋น ๋ฅธ ์๋-ํฌ-์๋ ์ค๋ชจํฌ ํ
์คํธ)
claude code --print "/coord 'This is a setup verification test. Reply with COORD_OK.'"Expected output for the smoke test (์ค๋ชจํฌ ํ ์คํธ ์์ ์ถ๋ ฅ):
COORD_OK
If you see COORD_OK, the installation succeeded (์ค์น ์ฑ๊ณต).
Error: Cannot find module '@modelcontextprotocol/server-sequential-thinking'
Fix (ํด๊ฒฐ): The npm package was not installed globally. Re-run:
npm install -g @modelcontextprotocol/server-sequential-thinking
# Verify (ํ์ธ)
npx -y @modelcontextprotocol/server-sequential-thinking --versionError: Permission denied: ~/.claude/hooks/chavis_session_init.py
Fix (ํด๊ฒฐ):
chmod +x ~/.claude/hooks/chavis_*.pyError: TAVILY_API_KEY is invalid or expired
Fix (ํด๊ฒฐ): Get a new key at https://app.tavily.com. Paste it in both the env top-level and the tavily mcpServer env in ~/.claude/settings.json.
์ ํค๋ฅผ https://app.tavily.com์์ ๋ฐ๊ธ๋ฐ์ผ์ธ์. ~/.claude/settings.json์ ์ต์์ env์ tavily mcpServer env ๋ชจ๋์ ๋ถ์ฌ๋ฃ์ต๋๋ค.
Error: browserType.launch: Executable doesn't exist at โฆ/chromium
Fix (ํด๊ฒฐ):
source ~/coord-env/bin/activate
playwright install chromiumFileNotFoundError: [Errno 2] No such file or directory:
'~/.claude/projects/-home-username/memory/sycophancy/session_log.jsonl'
Fix (ํด๊ฒฐ): Re-run Step 7 with your correct username substituted.
Step 7์ ์ฌ๋ฐ๋ฅธ ์ฌ์ฉ์ ์ด๋ฆ์ผ๋ก ๋์ฒดํ์ฌ ๋ค์ ์คํํฉ๋๋ค.
The /coord system is a skill registered in ~/.claude/CLAUDE.md. If it is not working, verify the file was copied correctly.
/coord ์์คํ
์ ~/.claude/CLAUDE.md์ ๋ฑ๋ก๋ ์คํฌ์
๋๋ค. ์๋ํ์ง ์์ผ๋ฉด ํ์ผ์ด ์ฌ๋ฐ๋ฅด๊ฒ ๋ณต์ฌ๋์๋์ง ํ์ธํฉ๋๋ค.
# Check CLAUDE.md exists and contains coord (CLAUDE.md ์กด์ฌ ๋ฐ coord ํฌํจ ํ์ธ)
grep -l "coord" ~/.claude/CLAUDE.md && echo "Found" || echo "Missing โ re-run Step 3"After completing all steps, verify each item:
๋ชจ๋ ๋จ๊ณ๋ฅผ ์๋ฃํ ํ ๊ฐ ํญ๋ชฉ์ ํ์ธํฉ๋๋ค:
-
~/.claude/CLAUDE.mdexists and contains/coord(์กด์ฌ ๋ฐ /coord ํฌํจ) -
~/.claude/settings.jsonhas your API keys and hook paths (API ํค ๋ฐ ํ ๊ฒฝ๋ก ํฌํจ) -
~/.claude/hooks/chavis_*.pyfiles exist and are executable (์คํ ๊ฐ๋ฅํ ํ ํ์ผ) -
~/.claude/projects/-home-USERNAME/memory/sycophancy/directory exists (๋๋ ํ ๋ฆฌ ์กด์ฌ) -
npx -y @modelcontextprotocol/server-sequential-thinkingruns without error (์ค๋ฅ ์์ด ์คํ) - Smoke test returns
COORD_OK(์ค๋ชจํฌ ํ ์คํธ ํต๊ณผ)
If all items are checked, your installation is complete. (๋ชจ๋ ํญ๋ชฉ์ด ํ์ธ๋๋ฉด ์ค์น๊ฐ ์๋ฃ๋์์ต๋๋ค.)