pomp: Visual Studio 전용 AI 에이전트 하네스 - 마켓플레이스 등록기

POMP is an AI coding partner inside Visual Studio. Chat with an agent that works with the editor buffers (including unsaved changes), the solution and its projects, builds, tests, the debugger, the terminal, and the file system. The agent plans with a visible todo list, edits code, runs builds, executes tests, captures screenshots, and keeps working until the task is done. It is not autocomplete or chat pasted into an editor — it is an autonomous agent harness that lives inside the IDE.

주요 기능

  • 에디터 버퍼와 직접 작업한다. 저장되지 않은 변경사항까지 읽는다.
  • 솔루션과 프로젝트 전체를 컨텍스트로 이해한다.
  • 빌드를 돌리고, 테스트를 실행하고, 디버거와 연동한다.
  • 터미널과 파일 시스템에 접근한다.
  • 보이는 할 일 목록으로 계획을 세우고 그대로 수행한다.
  • 스크린샷을 캡처해 화면 상태까지 확인한다.
  • 작업이 끝날 때까지 멈추지 않고 계속한다.
  • 자동완성이나 채팅을 에디터에 붙여넣은 게 아니다. IDE 안에서 동작하는 자율 에이전트 하네스다.

Publisher 생성

Microsoft 계정으로 로그인하고 Create Publisher를 열었다. Name과 ID는 momopanda123, 도메인은 pinblog.me를 넣었다.

Publisher 생성 화면
Publisher 생성: 로그인 정보와 기본 정보 입력

소개문, 로고, 웹사이트, 지원 연락처를 입력했다. 지원 이메일은 블로그 공개 연락처인 deanpinb@gmail.com을 썼다.

Publisher 소개 정보 입력
Publisher 소개, 로고, 웹사이트, 지원 연락처

도메인 인증 실패

pinblog.me 도메인 소유권 인증을 시도했지만 "The domain url provided could not be reached" 에러가 나왔다. 마켓플레이스는 저장 전에 HEAD https://pinblog.me/ 요청을 보내 200 응답을 확인하는데, 해외 IP에서는 443 포트가 무응답이었다. 내 PC와 휴대폰 LTE(한국 IP)에서는 정상 접속됐다. 이전에 DSM 방화벽으로 국외는 모두 차단했던 것이 원인이었다. 미국을 예외로 열어두니 곧바로 해결되었다.

확장 업로드와 두 가지 에러

첫 vsix 업로드(Pomp.VS2026-0.5.3.vsix)에서 두 가지 에러가 나왔다. 첫째, InstallationTarget의 API 하한이 18.0이었는데 이는 preview 버전이라 마켓플레이스가 거부했다. VS2017 타깃으로 다시 빌드했다. 둘째, vsix 안의 Publisher가 deanpinb@gmail.com이었는데 마켓플레이스 표시 이름 momopanda123과 달라서 거부됐다. momopanda123으로 통일했다. 참고로 MS 공식 호환성 문서(aka.ms/vs2026extensioncompat)에 따르면 하한만 맞추면 된다.

첫 업로드 에러
첫 업로드에서 만난 두 가지 에러

확장 세부 정보 입력

Internal name(예: pomp2017), Display name, Version 0.5.4, VSIX ID, 로고를 입력했다.

확장 세부 정보
확장 세부 정보: 이름, 버전, VSIX ID, 로고

지원 에디션은 Visual Studio 2017 Community(+2), 유형은 Tools, 카테고리는 Coding이다. 태그는 omp, pomp, AI, agent, harness를 달았고, 가격은 Free, Q&A를 열었다.

지원 에디션과 카테고리
지원 에디션과 카테고리 설정

개요 작성

Short description을 영문과 한글로 쓰고, 마크다운 개요를 작성했다. 개요에는 아키텍처 다이어그램도 포함했다.

개요 작성 화면
개요(overview) 작성 화면

자동 검증과 공개

업로드하면 자동 검증(바이러스 스캔 등)이 돌고, 통과하면 Public으로 전환할 수 있다. 세 확장 모두 검증을 통과했다.

자동 검증 중
자동 검증 중인 세 확장
검증 통과
검증 통과 후 Public 전환

공개 직후부터 설치 수가 집계되기 시작했다.

삭제된 확장 ID의 영구 예약

2022 버전의 overview가 갱신되지 않아 확장을 삭제하고 다시 올리려 했다. 그런데 삭제된 확장의 이름(UUID)은 MS 정책상 영구히 예약되어 원래 게시자도 재사용할 수 없다. 알고 보니 overview 수정은 vsix 재업로드가 아니라 웹 UI의 Edit에서 하는 것이었다. 지원 티켓(aka.ms/vsmarketplace-support)은 표준 거부로 막힌 경로였다. 유일한 실마리는 vsmarketplace@microsoft.com 직접 이메일이었다(한 게시자는 일회성 복구에 성공, 다수는 무응답). 결국 새 확장 ID로 재등록했다. 삭제 시 displayName도 사용 불가해질 수 있다는 보고도 있다.

overview 반영 시차

마켓플레이스 웹에서 overview를 고치면 웹 목록에는 바로 반영되지만, Visual Studio의 확장 관리자에는 바로 뜨지 않는다. VS 클라이언트 쪽 캐시 때문으로 보인다. 웹 목록에 정상 반영됐으면 기다리면 된다.

VS2017 온라인 검색 미노출

2019, 2022, 2026은 온라인 검색이 되는데 2017만 안 됐다. omp 에이전트가 원인을 찾았다. InstallationTarget의 Version="[15.9,16.0)"이 문제였다. MS 공식 문서(VSIX 스키마 2.0)에 따르면 VS2017은 제품 버전(15.9)이 아니라 빌드 번호 형식(15.0.xxxxx.x)으로 써야 한다.

omp 에이전트의 진단
omp 에이전트의 진단 — 빌드 번호 형식을 써야 한다

수정안은 Version="[15.0.28307.53,16.0)" (15.9.0 빌드)이다. 버전을 올리고 리빌드한 뒤 기존 목록을 업데이트하면 된다. 삭제는 다시 하지 않는다.

GitHub 리포지토리

소스는 GitHub에 공개했다. .github/FUNDING.yml을 추가해서 스폰서 버튼도 달았다(반영에 시차가 있다).

GitHub - momopanda123/pomp: POMP is an AI coding partner inside Visual Studio. Chat with an agent that works with the editor buffers (including unsaved changes), the solution and its projects, builds, tests, the debugger, the Error List, NuGet and Git — and asks before it changes or runs anything. Nothing else to install; sign in with a model provider and start.
POMP is an AI coding partner inside Visual Studio. Chat with an agent that works with the editor buffers (including unsaved changes), the solution and its projects, builds, tests, the debugger, the…

Visual Studio에서 설치 확인

확장 관리자에서 검색해 설치했고, 개요가 정상 표시되는 것을 확인했다.

VS 확장 관리자
Visual Studio 확장 관리자에 표시된 POMP (VS2022)
Visual Studio 마켓플레이스에 등록된 POMP
root@cyberpunk:~#