# 🛠️ INSTALLATION GUIDE — Mnemo Agent Memory

Panduan lengkap penginstalan dan integrasi **Mnemo Agent Memory** (`mnemo-agent-memory`) sebagai MCP (Model Context Protocol) Server untuk AI Coding Agent (seperti Google Antigravity, Claude Desktop, Cursor, Roo Code, dll).

---

## ⚡ Metode Tercepat: Menggunakan `npx` (Tanpa Clone Repositori)

Karena **Mnemo Agent Memory** telah resmi dipublikasikan di NPM Registry, Anda **tidak perlu mengkloning repositori secara manual**. Anda cukup memasukkan perintah `npx` langsung pada file konfigurasi MCP Agent Anda.

---

## 🔌 Integrasi MCP Server ke AI Agent

### 1. Integrasi dengan Google Antigravity / Gemini CLI

Tambahkan konfigurasi MCP Server ke file `mcp_config.json` di direktori konfigurasi Antigravity Anda (`~/.gemini/antigravity-cli/mcp_config.json`):

```json
{
  "mcpServers": {
    "mnemo": {
      "command": "npx",
      "args": ["-y", "mnemo-agent-memory"],
      "env": {
        "MNEMO_RULES_LEVEL": "normal",
        "MNEMO_AUTO_INJECT": "true"
      }
    }
  }
}
```

---

### 2. Integrasi dengan Claude Desktop

Buka file konfigurasi Claude Desktop:
- **Windows**: `%APPDATA%\Claude\claude_desktop_config.json`
- **macOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`

Tambahkan entry berikut pada objek `mcpServers`:

```json
{
  "mcpServers": {
    "mnemo": {
      "command": "npx",
      "args": ["-y", "mnemo-agent-memory"]
    }
  }
}
```

---

### 3. Integrasi dengan Cursor / Roo Code / Cline

Untuk IDE seperti **Cursor** atau ekstensi **Roo Code / Cline**:
1. Buka **Settings** -> **MCP Servers**.
2. Tambahkan server baru dengan nama `mnemo`:
   - **Type**: `command` (stdio)
   - **Command**: `npx`
   - **Args**: `-y mnemo-agent-memory`

---

### 4. Integrasi dengan Pi Agent (`pi-coding-agent`)

**Mnemo Agent Memory** telah resmi menjadi **Pi Package** lengkap dengan native extensions, skills, prompt templates, dan slash commands (`/remember`, `/recall`, `/graph`, `/mnemo`).

#### Cara A: Langsung via Pi CLI (Direkomendasikan)
```bash
# Install via npm
pi install npm:mnemo-agent-memory

# Atau install via Git repository
pi install git:github.com/SiamAlSobari/mnemo-agent-memory

# Coba langsung tanpa install permanen (temporary run)
pi -e npm:mnemo-agent-memory
```

#### Cara B: Menggunakan Perintah Auto-Connect Mnemo CLI
```bash
mnemo connect pi
```

#### Cara C: Manual via Pi MCP Adapter (`~/.pi/agent/mcp.json`)
Jika Anda menggunakan `pi-mcp-adapter`:
```json
{
  "mcpServers": {
    "mnemo": {
      "command": "npx",
      "args": ["-y", "mnemo-agent-memory", "mcp"],
      "lifecycle": "lazy"
    }
  }
}
```

---

## 💻 Penginstalan CLI secara Global (Opsional)

Jika Anda ingin menjalankan perintah CLI `mnemo` secara langsung di terminal Anda:

```bash
npm install -g mnemo-agent-memory
```

Setelah diinstall, Anda dapat menggunakan perintah CLI berikut di mana saja:
```bash
# Export / sync notes ke Obsidian mirror
mnemo notes-export

# Re-index catatan manual
mnemo notes-import

# Knowledge Graph Operations
mnemo graph init
mnemo graph --extend
mnemo graph query <entity>
```

---

## 📦 Penginstalan Lokal dari Git (Developer / Local Dev)

Jika Anda ingin mengubah kode sumber Mnemo secara lokal:

```bash
git clone https://github.com/SiamAlSobari/mnemo-agent-memory.git
cd mnemo-agent-memory
npm install
npm link
```

---

## ⚙️ Konfigurasi Environment Variables

| Environment Variable | Default | Deskripsi |
|---|---|---|
| `MNEMO_DATA_DIR` | `~/.mnemo` | Folder penyimpanan lokal untuk notes, vector, graph, dan model. |
| `MNEMO_PROJECT_ID` | *(auto-detect)* | Kunci eksplisit ID Project (mengabaikan auto-detect dari folder/file). |
| `MNEMO_AUTO_INJECT` | `true` | Mengaktifkan/mematikan injeksi memori otomatis ke prompt agent. |
| `MNEMO_AUTO_INJECT_BUDGET` | `800` | Batas maksimum token hasil injeksi konteks per prompt. |
| `MNEMO_INJECT_THRESHOLD` | `0.35` | Similarity score minimal agar memori di-inject (0.0 - 1.0). |
| `MNEMO_RULES_LEVEL` | `strict \| normal \| light` | Tingkat agresivitas rules capture (`strict` = tanpa broad scan). |
| `MNEMO_GRAPH_AUTO` | `true` | Ekstraksi `graph_extend` otomatis saat `memory_save`. |
