# Mm Vault

> Создаёт приватный vault-репозиторий памяти проекта в Obsidian и пушит его на GitHub для синхронизации с claude.ai Knowledge. Use when user says "создай vault", "синхронизация памяти", "memory sync", "/mm vault", "/mm-vault".

- **Type:** Skill
- **Install:** `agentstack add skill-mworldorg-markdown-memory-mm-vault`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [mworldorg](https://agentstack.voostack.com/s/mworldorg)
- **Installs:** 0
- **Category:** [Developer Tools](https://agentstack.voostack.com/c/developer-tools)
- **Latest version:** 0.1.0
- **License:** MIT
- **Upstream author:** [mworldorg](https://github.com/mworldorg)
- **Source:** https://github.com/mworldorg/markdown-memory/tree/main/skills/mm-vault

## Install

```sh
agentstack add skill-mworldorg-markdown-memory-mm-vault
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

# mm-vault — Memory Vault Git Sync Initializer

Инициализирует и настраивает приватный git-репозиторий для папки памяти проекта Obsidian Vault. Это позволяет синхронизировать долгосрочную память с claude.ai Project Knowledge/Files через интеграцию с GitHub, исключая ручной копипаст.

## Конфиг

Загрузи `mm-config.json` по алгоритму из `/docs/CONFIG-LOADING.md`. Поддержка `mm-config.local.json` overlay обязательна.

Понадобятся:
- `paths.obsidian_projects`
- `paths.obsidian_vault`

## Процесс

### Шаг 1. Определи проект и папку памяти (Vault Root)

1. Определи **проект** по `passport.md` в текущей `cwd` или её родительских директориях.
   - Извлеки имя проекта из YAML frontmatter `project:` (или из поля "Имя" таблицы Идентификация).
   - Если `passport.md` не найден, выведи предупреждение и спроси имя проекта или предложи запустить `/mm new` сначала.
2. Определи **slug** проекта (в нижнем регистре, с заменой пробелов на дефисы). Для `markdown-memory` slug равен `markdown-memory`.
3. Определи путь базы знаний `` по единому алгоритму резолва:
   - (1) из секции `## Obsidian Knowledge Vault` в `CLAUDE.md` со строкой `Хранилище знаний: `, если она есть;
   - (2) локальная папка `.vault/` в корне проекта;
   - (3) глобальная папка проекта `//` из конфига.
4. Выведи пользователю подтвержденный путь папки памяти.

### Шаг 2. Покажи состав папки и прогони Secret-Scan

1. Сделай рекурсивный обход папки `` и покажи дерево файлов, которые попадут в репозиторий.
2. Прогони все файлы папки через паттерны из канона `/config/secret-patterns.json` (пояснение — `/docs/SECRET-PATTERNS.md`).
   - **Класс A (Высокоточные секреты):**
     - Если найден хотя бы один реальный секрет, **останови выполнение (hard-stop)**.
     - Покажи пользователю найденную строку и файл.
     - **Жди явного исправления/подтверждения** перед созданием репозитория. Не продолжай автоматически. Блокирует только реальный секрет (когда человек сам убирает реальный секрет).
   - **Класс B (Широкие совпадения / предупреждения):**
     - Выведи предупреждения в формате: `⚠️ возможный секрет/длинная строка в , строка N: … — проверь вручную (не замаскировано).`
     - **Важно:** Класс B служит только для предупреждения пользователя. **НИКОГДА** не редактируй содержимое файлов памяти проекта ради сканера. Скилл никогда не переписывает текст заметок.
3. **Жди подтверждения (y/n)** от пользователя для создания репозитория и первого пуша.

### Шаг 3. Создай или обнови .gitignore

В папке `` создай или обнови файл `.gitignore` со следующим содержимым:
```gitignore
.obsidian/
.trash/
Thumbs.db
.DS_Store
*.tmp
*.log
```

### Шаг 4. Инициализация репозитория (Идемпотентно)

1. Проверь, инициализирован ли уже Git в `` (наличие папки `.git`).
2. Если Git **не инициализирован**:
   - Выполни `git init` в ``.
   - Настрой ветку по умолчанию (например, `git checkout -b main` или `git branch -M main`).
3. Добавь файлы в индекс и сделай коммит:
   - `git add -A`
   - `git commit -m "init:  vault (passport, handoff, dashboard, sessions)"`

### Шаг 5. Создание приватного репозитория на GitHub

1. Проверь, настроен ли уже remote `origin` (`git remote -v`).
2. Если remote `origin` **уже настроен**:
   - Выведи: `GitHub remote origin уже настроен: `
   - Выполни пуш: `git push -u origin main`
3. Если remote `origin` **не настроен**:
   - Создай приватный репозиторий на GitHub под владельцем (по умолчанию `mworldorg` или по умолчанию из gh CLI):
     `gh repo create mworldorg/-vault --private --description "Memory vault for  project" --source . --push`
   - Если команда завершилась успешно, переходи к Шагу 6.
   - Если произошел сбой создания через CLI, предложи пользователю создать репозиторий вручную, добавить remote и сделать пуш.

### Шаг 6. Инструкция по ручному подключению

Напечатай URL созданного репозитория и выведи подробную инструкцию по ручному подключению памяти в claude.ai:

```
✅ Репозиторий памяти успешно синхронизирован!
URL: https://github.com/mworldorg/-vault

Теперь подключи его к claude.ai:
1. Открой нужный Project в claude.ai
2. Перейди в раздел "Project Knowledge" (или "Files")
3. Нажми кнопку "+" -> выбери "GitHub"
4. Выбери репозиторий: mworldorg/-vault
5. Отметь файлы для синхронизации:
   • passport.md
   • handoff.md
   • dashboard.md
   • sessions/ (все файлы сессий)
6. Сними галочку со скачивания .gitignore (если применимо)
7. Нажми "Add to Project"
8. Каждый раз после вызова `/mm save` новые изменения будут запушены в репо автоматически. В claude.ai останется лишь нажать кнопку "Sync now" в панели Files/Project Knowledge.
```

## Идемпотентность и ограничения
- Репозиторий **ВСЕГДА** должен быть приватным (`--private`).
- Не пересоздавай репозиторий, если он уже есть на GitHub и настроен remote. Просто сделай коммит изменений и пуш.
- Не модифицируй файлы кода основного репозитория проекта, только папку Obsidian Vault.

## Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [mworldorg](https://github.com/mworldorg)
- **Source:** [mworldorg/markdown-memory](https://github.com/mworldorg/markdown-memory)
- **License:** MIT

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** no
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** no
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/skill-mworldorg-markdown-memory-mm-vault
- Seller: https://agentstack.voostack.com/s/mworldorg
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
