MWD 도구 체계 & AI 자동화 프롬프트
사용한 AI 도구와 주요 프롬프트/지시를 어떻게 구성했는가. 우리의 답: 단발성 프롬프트가 아니라, MWD식 개발을 AI가 자동으로 수행하도록 사전 구축된 "도구 + 프롬프트 킷" 인프라. 유저는 목표만 주고, AI가 알아서 repo 분리·gitdot 네이밍·glpkg 배포·nested 스캔으로 개발한다.
1. 한 줄 요지
"MWD식으로 개발해줘"라고 매번 지시할 필요가 없다. 세션 부팅 시 AI가 컨벤션 → 인프라 킷을 자동 해석(resolve)하고, 그 안의 규약(각 패키지=독립 repo, gitdot 네이밍, publish 경계, nested 관리)을 따르도록 이미 배선돼 있다. 아래 도구들과 프롬프트 킷이 그 자동화의 실체다.
2. 자체 개발한 MWD 도구 (in-house toolchain)
| 도구 | 역할 | MWD에서의 의미 |
|---|---|---|
| glpkg | GitLab Package Manager — install / publish(--bump patch|minor|major, 기본 --git-tag+--push) / repo create / registry / config(토큰·scope) | publish 경계의 실체. 패키지를 버전으로만 소비하게 강제 → 레이어 격리의 물리적 강제 장치 |
| pkgfind | 로컬 워크스페이스 + 원격 GitLab 레지스트리 통합 패키지 검색. package.json/skit.json/snapshot.json 등 메타 지원 | 20개 분산 repo에서 "그 패키지 어디 있지/어느 버전이지"를 즉시 해소 |
| git-nested | 중첩 git repo 일괄 스캔(scan --include-clean -b -u, ●변경/○clean, JSON) | 루트 .git 없는 MWD 전체 상태를 한 눈에 — 워크스페이스 감독 |
| cscan | 디렉터리 하위 전 repo 커밋 히스토리 추출(-g repo별 그룹, --since/--until, json) | 레이어별 개발 흐름·격리를 감사 가능하게 (→ 레이어 격리 증거가 이 도구 산출물) |
| mwd-deps | 레지스트리 의존성 분석 — tree / impact(변경 영향도) / circular / dependents / sync-check(버전 불일치) / conflict | 분산 패키지의 의존 그래프·영향도를 관리. cross-cutting 변경 전 파급 확인 |
| isesh | 세션 라이프사이클(워커 세션 생성/상태) | TDA: 매니저가 외부 워커 세션을 띄워 병렬 개발 |
| imessenger | 세션 간 태스크 전달·응답·승인 | TDA: 매니저→워커 위임의 채널 |
| smon / ilogsession | 세션 모니터링 / 로그 추적 | TDA: 워커 진행 감독 |
| skit | 프롬프트/스킬 킷 시스템(skit prompt show <kit>) | 아래 §3 — AI에게 규약을 주입하는 프롬프트 배급 계층 |
핵심: 이 도구들은 cross-cutting 변경의 조율 비용을 흡수한다. 다중 repo 원자적 릴리즈(glpkg), 전체 상태(git-nested), 영향도(mwd-deps), 히스토리(cscan)가 한 흐름으로 묶여 MWD의 오버헤드를 상수화한다.
▶ 데모 영상 — TDA 세션 도구 (isesh·imessenger·smon·ilogsession)
위 표의 TDA 세션 도구(isesh·imessenger·smon·ilogsession)를 실제로 어떻게 운영하는지 보여주는 데모다. CLI AI 에이전트들을 하나의 관리되는 팀으로 띄우고 매니저→워커로 태스크를 위임·모니터링하는 흐름 — 즉 "어떤 AI 도구로 이 프로젝트를 개발했나"의 시각 증거.
3. AI가 도구를 "알아서" 쓰게 만든 프롬프트 킷 (skit kits / 내부 프롬프트)
MWD 규약은 코드가 아니라 재사용 프롬프트 킷으로 배급된다. 세션 부팅 시 자동 해석되는 체인:
세션 부팅
→ 컨벤션 슬롯 해석: skit prompt show conventions --profile <role> (역할별)
└ 없으면 전역 conventions
→ 컨벤션이 인프라로 위임: "Run skit prompt show infra and follow it"
→ infra2-kit 이 하위 킷으로 분기:
• project-structure (repo 분리·gitdot·필수파일)
• glpkg-package (install/publish/토큰)
• git-nested (중첩 repo 스캔)
• pkg-finder(pkgfind) (패키지 검색)
즉 AI는 부팅만 해도 "각 패키지는 독립 repo로, gitdot로 이름 짓고, .gitignore 먼저 쓰고, glpkg로 배포하고, git-nested로 감독한다"는 규약을 이미 로드한 상태가 된다.
대표 지시문 발췌 (실제 킷 원문)
컨벤션 킷 (역할: tda-manager)
"On startup, ALWAYS resolve your conventions slot first. … Run
skit prompt show infraand follow it (infra tooling: glpkg, package structure, .npmrc rules, etc.)."
project-structure 킷 — MWD 골격을 강제
"Each package = separate repo (required) / No .git in project root (multi-package project) / Architecture folder is also separate repo / Use gitdot syntax for repo naming."
gitdot 예:
apps/log-search→session-tools.ver1.log-search"Write
.gitignorefirst (important!)" →npm init→gitlab-repo create→ 개발 →gitlab-publish --bump patch
glpkg-package 킷 — 배포 경계와 위생
"By default
--git-tagand--pushare true, so version commit/tag is created and auto-pushed.""If git is not clean: Don't use
--force, make conventional commit first (feat/fix/docs/chore) thenglpkg publish --bump patch."
git-nested 킷 — 전체 감독
"
git-nested scan --include-clean -b→● repo (3) [main]변경 /○ clean."
이 규약들이 그대로 지켜진 흔적이 snake 프로젝트다: gitdot 네이밍(snake-game-2p.core …), 각 패키지 독립 repo, 루트 .git 없음, chore: release vX.Y.Z 컨벤셔널 커밋 + 자동 태그, glpkg 증분 배포(core 0.1.0→0.3.0 등).
4. 요약 — 무엇을, 어떻게
| 항목 | 내용 |
|---|---|
| 사용한 AI 도구 | Claude Code (Anthropic Claude) 기반 TDA(매니저 snake-mgr 1 + 워커 세션 39 = 총 40세션) + 자체 MWD 도구 체계(glpkg / git-nested / cscan / mwd-deps / pkgfind / isesh · imessenger · smon). 개발 기간 3개 시대(2026-03 · 06 · 07) |
| 주요 프롬프트/지시 | §3의 프롬프트 킷(컨벤션 · infra · project-structure · glpkg-package · git-nested) — 단발 프롬프트가 아닌, 자동 주입되는 규약 인프라 |
| 구조 설명 | §2 도구 역할 + §3 부팅 해석 체인 + 레이어 격리 증거 |
| 외부 에셋/오픈소스 | Vite · TypeScript · Cloudflare Workers/Durable Objects/D1 · Firebase Auth SDK — 상세는 각 저장소 package.json |
차별화 서사: AI 코드 보조가 아니라, AI가 규약화된 도구 인프라 위에서 다중 repo 시스템을 스스로 설계·배포한다. 유저 개입은 최소화되고, MWD는 도구·프롬프트 킷이 자동으로 유도한다.