Skip to content

폴더 구조 권장

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

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

ainote vault 안의 디렉토리 구조 베스트 프랙티스.

표준 구조

ainote vault (hub git repo)
├── global/                       # 디바이스 무관 전역
│   ├── CLAUDE.md                 # ~/CLAUDE.md
│   ├── PERSONAS.md               # ~/.claude/PERSONAS.md
│   ├── ORCHESTRATOR.md
│   ├── memory/                   # 토픽 메모리
│   │   ├── MEMORY.md
│   │   ├── projects-tech-stack.md
│   │   └── render-services.md
│   └── skills/                   # Claude Code 스킬
│       └── seunghan-32inch-ppt/
│           ├── SKILL.md
│           └── assets/

├── projects/                     # 프로젝트별 (대안: 각 root)
│   ├── launchcrew/
│   │   ├── CLAUDE.md
│   │   ├── memory/
│   │   │   ├── MEMORY.md
│   │   │   └── firebase.md
│   │   └── env-ref.md
│   ├── tennis-bracket/
│   ├── keeps/
│   └── ...

├── dev/                          # 도구별 룰 (자동 분류)
│   ├── claude/                # category: claude
│   ├── cursor/                   # category: cursor
│   ├── windsurf/
│   ├── copilot/
│   └── docs/

├── env-refs/                     # .env 키 목록 (값 X)
│   ├── tennis-bracket-env-ref.md
│   └── launchcrew-env-ref.md

└── private/                      # 민감 (별도 권한)
    └── saju/
        └── personal-notes.md

두 가지 스타일

스타일 A: 카테고리 우선 (dev/claude/)

장점:

  • ainote 자동 분류와 일치
  • 같은 종류 한눈에 (모든 CLAUDE.md)
  • pull_dev_docs --category claude 한 방

단점:

  • 프로젝트별 보기 어려움
  • 같은 프로젝트 파일이 여러 디렉토리 흩어짐

스타일 B: 프로젝트 우선 (projects/launchcrew/)

장점:

  • 한 프로젝트 모든 파일 한 폴더
  • 새 프로젝트 추가 = 폴더 추가
  • Obsidian 에서 보기 좋음

단점:

  • 자동 분류 안 됨 (수동 manifest)
  • "모든 CLAUDE.md" 한방에 보기 어려움

권장: 혼합

ainote vault
├── global/              # 전역 → 카테고리 우선 (단순)
├── projects/            # 프로젝트 → 프로젝트 우선
│   └── {project}/
│       ├── CLAUDE.md
│       └── memory/
└── dev/                 # 자동 분류 카테고리 (Dev Docs)
    ├── cursor/          # ainote 자동
    └── windsurf/

명명 규칙

프로젝트

  • kebab-case 통일 (tennis-bracket, krx-listing)
  • snake → kebab 변환 (tennis_brackettennis-bracket)
  • 약어 풀어쓰기 (ai-do 보다 ai-do-vibestudy 처럼 명확하게)

파일

패턴예시
{project}-claude.mdlaunchcrew-claude.md
{project}-memory.mdlaunchcrew-memory.md
{project}-{topic}.mdlaunchcrew-firebase.md
global-{topic}.mdglobal-tech-stack.md
{project}-env-ref.mdtennis-bracket-env-ref.md

메모리 파일 (4 type)

  • feedback-{topic}.md
  • project-{topic}.md
  • reference-{topic}.md
  • user-{topic}.md

안 좋은 예

❌ ainote vault
├── My Notes/                     ← 공백
├── claude_md_files/              ← snake
├── 2026-temp-stuff/              ← 시간 prefix (검색 어려움)
├── important-do-not-delete-final-v2/  ← 의미 없는 prefix
└── 한국어 폴더명/                  ← 가능하지만 일관성 떨어짐

✅ 영문 kebab-case, 의미 명확, 깊이 3단 이내.

깊이 권장

vault/
├── A/              ← 1단계
│   ├── B/          ← 2단계
│   │   └── file.md ← 3단계 OK
│   │       └── C/  ← 4단계 비추 (검색/관리 어려움)

마이그레이션

기존 구조 → 표준 구조:

bash
# 1. 백업
git tag pre-migration-2026-05-07

# 2. 이동
git mv messy-folder global/

# 3. manifest 갱신
$EDITOR ~/.claude/ainote-sync/manifest.yml

# 4. 검증
ainote sync_validate

# 5. dry-run
sync-now.sh --dry-run

# 6. 실행
sync-now.sh

자세히: ainote-sync-redesign 설계 문서.

다음

MIT License · ainote.dev