# Mac Machine Sync Instructions

**Date Created:** 2026-01-22
**Purpose:** Bring Mac Claude instance into sync with Windows development machine

## Overview
This prompt configures the Mac to match the Windows ClaudeTools development environment. Use this when starting work on the Mac to ensure consistency.

---

## 1. System Status Check

First, verify these services are running on the Mac:

```bash
# Check Ollama status
curl http://localhost:11434/api/tags

# Check grepai index
# (Command will be provided after index setup)
```

---

## 2. Required Ollama Models

Ensure these models are installed on the Mac:

```bash
ollama pull llama3.1:8b           # 4.6 GB - General purpose
ollama pull qwen2.5-coder:7b      # 4.4 GB - Code-specific
ollama pull qwen3-vl:4b           # 3.1 GB - Vision model
ollama pull nomic-embed-text      # 0.3 GB - Embeddings (REQUIRED for grepai)
ollama pull qwen3-embedding:4b    # 2.3 GB - Alternative embeddings
```

**Critical:** `nomic-embed-text` is required for grepai semantic search.

---

## 3. Grepai Index Setup

**Current Windows Index Status:**
- Total files: 961
- Total chunks: 13,020
- Index size: 73.7 MB
- Last updated: 2026-01-22 17:40:20
- Embedding model: nomic-embed-text
- Symbols: Ready

**Mac Setup Steps:**

```bash
# Navigate to ClaudeTools directory
cd ~/path/to/ClaudeTools

# Initialize grepai (if not already done)
grepai init

# Configure to use Ollama with nomic-embed-text
# (Check grepai config file for provider settings)

# Build index
grepai index

# Verify index status
grepai status
```

---

## 4. MCP Server Configuration

**Configured MCP Servers (from .mcp.json):**
- GitHub MCP - Repository and PR management
- Filesystem MCP - Enhanced file operations
- Sequential Thinking MCP - Structured problem-solving
- Ollama Assistant MCP - Local LLM integration
- Grepai MCP - Semantic code search

**Verify MCP Configuration:**
1. Check `.mcp.json` exists and is properly configured
2. Restart Claude Code completely after any MCP changes
3. Test each MCP server:
   - "List Python files in the api directory" (Filesystem)
   - "Use sequential thinking to analyze X" (Sequential Thinking)
   - "Ask Ollama about Y" (Ollama Assistant)
   - "Search for authentication code" (Grepai)

---

## 5. Database Connection

**IMPORTANT:** Database is on Windows RMM server (172.16.3.30)

**Connection Details:**
```
Host: 172.16.3.30:3306
Database: claudetools
User: claudetools
Password: CT_e8fcd5a3952030a79ed6debae6c954ed
```

**Environment Variable:**
```bash
export DATABASE_URL="mysql+pymysql://claudetools:CT_e8fcd5a3952030a79ed6debae6c954ed@172.16.3.30:3306/claudetools?charset=utf8mb4"
```

**Network Requirements:**
- Ensure Mac can reach 172.16.3.30:3306
- Test connection: `telnet 172.16.3.30 3306` or `nc -zv 172.16.3.30 3306`

---

## 6. Project Structure Verification

Verify these directories exist:

```bash
ls -la D:\ClaudeTools/  # Adjust path for Mac
# Expected structure:
# - api/              # FastAPI application
# - migrations/       # Alembic migrations
# - .claude/          # Claude Code config
# - mcp-servers/      # MCP implementations
# - projects/         # Project workspaces
# - clients/          # Client-specific work
# - session-logs/     # Session documentation
```

---

## 7. Git Sync

**Ensure repository is up to date:**

```bash
git fetch origin
git status
# If behind: git pull origin main
```

**Current Branch:** main
**Remote:** Check with `git remote -v`

---

## 8. Virtual Environment

**Python virtual environment location (Windows):** `api\venv\`

**Mac Setup:**
```bash
cd api
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
```

---

## 9. Quick Verification Commands

Run these to verify Mac is in sync:

```bash
# 1. Check Ollama models
ollama list

# 2. Check grepai status
grepai status

# 3. Test database connection (if Python installed)
python -c "import pymysql; conn = pymysql.connect(host='172.16.3.30', port=3306, user='claudetools', password='CT_e8fcd5a3952030a79ed6debae6c954ed', database='claudetools'); print('[OK] Database connected'); conn.close()"

# 4. Check git status
git status

# 5. Verify MCP servers (in Claude Code)
# Ask: "Check Ollama status" and "Check grepai index status"
```

---

## 10. Key Files to Review

**Before starting work, read these files:**
- `CLAUDE.md` - Project context and guidelines
- `directives.md` - Your identity and coordination rules
- `.claude/FILE_PLACEMENT_GUIDE.md` - File organization rules
- `SESSION_STATE.md` - Complete project history
- `credentials.md` - Infrastructure credentials (UNREDACTED)

---

## 11. Common Mac-Specific Adjustments

**Path Differences:**
- Windows: `D:\ClaudeTools\`
- Mac: Adjust to your local path (e.g., `~/Projects/ClaudeTools/`)

**Line Endings:**
- Ensure git is configured: `git config core.autocrlf input`

**Case Sensitivity:**
- Mac filesystem may be case-sensitive (APFS default is case-insensitive but case-preserving)

---

## 12. Sync Verification Checklist

- [ ] Ollama running with all 5 models
- [ ] Grepai index built (961 files, 13,020 chunks)
- [ ] MCP servers configured and tested
- [ ] Database connection verified (172.16.3.30:3306)
- [ ] Git repository up to date
- [ ] Virtual environment created and packages installed
- [ ] Key documentation files reviewed

---

## Quick Start Command

**Single command to verify everything:**

```bash
echo "=== Ollama Status ===" && ollama list && \
echo "=== Grepai Status ===" && grepai status && \
echo "=== Git Status ===" && git status && \
echo "=== Database Test ===" && python -c "import pymysql; conn = pymysql.connect(host='172.16.3.30', port=3306, user='claudetools', password='CT_e8fcd5a3952030a79ed6debae6c954ed', database='claudetools'); print('[OK] Connected'); conn.close()" && \
echo "=== Sync Check Complete ==="
```

---

## Notes

- **Windows Machine:** Primary development environment
- **Mac Machine:** Secondary/mobile development environment
- **Database:** Centralized on Windows RMM server (requires network access)
- **Grepai:** Each machine maintains its own index (see sync strategy below)

---

## Last Updated

2026-01-22 - Initial creation based on Windows machine state
