Skip to content

Git backend

🚧 설계 단계 — 아직 구현 안 됨

이 페이지는 ainote 의 향후 기능을 미리 문서화한 것입니다. 현재 @ainote/mcp v1.1.x 에는 vault / sync 도구가 포함돼 있지 않습니다. 도구 호출 시 Tool not found 에러를 받게 됩니다.

ainote 의 vault 는 모두 git 저장소. 데이터는 너의 것.

구조

ainote 서버 (api.ainote.dev)
└── vaults/
    └── <user_id>/
        └── <vault_name>.git/  ← bare repo
            ├── HEAD
            ├── refs/heads/main
            ├── objects/
            └── ...

서버에는 bare repo (working tree 없음). 사용자가 clone 해서 working tree 를 로컬에.

URL 패턴

HTTPS: https://api.ainote.dev/vaults/<user>/<vault>.git
SSH:   git@api.ainote.dev:vaults/<user>/<vault>.git

인증

HTTPS Basic Auth

Username: <email>
Password: <MCP key>

.netrc 자동 셋업 (계획됨):

machine api.ainote.dev
login me@example.com
password h7Axq9XPsDTD2qr5yqtcCSaQ...

SSH Key

https://ainote.dev/settings/git → "Add SSH key" → 공개키 붙여넣기.

이후:

bash
git clone git@api.ainote.dev:vaults/me/personal.git

표준 git 명령

vault clone 후엔 일반 git repo:

bash
cd ~/notes/personal
git log --oneline
git diff
git checkout -b experimental
git push origin experimental
git tag v1
git push --tags

Branch 지원

기본 main. 다른 branch 도 push/pull 가능:

bash
git checkout -b feature
git push origin feature

ainote MCP 도구는 기본 main 만 — 다른 branch 는 git CLI 직접 사용.

Tag / Release

bash
git tag -a "monthly-backup-2026-05" -m "Backup"
git push --tags

특정 시점 복원:

bash
git checkout monthly-backup-2026-05

Hooks

서버 hook (계획됨):

  • pre-receive — 파일 크기 제한 (10MB)
  • post-receive — 다른 디바이스 push 알림

로컬 hook (사용자):

bash
# .git/hooks/pre-commit
#!/bin/bash
# 비밀 keyword 검사
grep -rE "(api_key|password|secret)" --include="*.md" . && exit 1

백업 전략

자체 백업

ainote 자체가 백업이지만 추가로:

bash
# 매일 cron
git clone --mirror https://api.ainote.dev/vaults/me/personal.git \
  ~/backups/$(date +%Y-%m-%d)-personal.git

Mirror to GitHub

vault → GitHub 미러:

bash
cd ~/notes/personal
git remote add github git@github.com:me/notes-mirror.git
git push github main

cron 으로 정기 push.

크기 / 한도

한도무료(계획) 유료
Vault 개수100무제한
Vault 크기1 GB100 GB
파일 1개10 MB100 MB
사용자당 총량5 GB1 TB

LFS 미지원 (계획됨).

다른 git host 와 미러

ainote vault ↔ GitHub/GitLab 미러:

bash
cd ~/notes/personal
git remote add ainote https://api.ainote.dev/vaults/me/personal.git
git remote add github git@github.com:me/notes.git

# 양쪽 push
git push ainote main
git push github main

자동화 cron 으로.

다음

MIT License · ainote.dev