프로젝트 소개

Pacmon은 의존성 매니페스트에 "이유" 레이어를 추가합니다. package.json, Cargo.toml, pom.xml, build.gradle, mix.exs, build.zig.zon, go.mod 및 Python 매니페스트 같은 매니페스트는 프로젝트가 무엇에 의존하는지 나타내며, Pacmon은 각 직접 의존성이 왜 존재하는지, 무엇이 변경되어서는 안 되는지, 업그레이드 전에 무엇을 확인해야 하는지 설명하는 짧은 노트를 담을 수 있게 합니다. 노트는 설명 대상 매니페스트 옆 .pacmon/ 아래에 일반 Markdown 파일로 저장됩니다. 데이터베이스, 서비스 또는 계정이 없습니다. 파일은 다른 저장소 파일처럼 읽고, diff하고, 커밋할 수 있습니다. 노트는 매니페스트에서 의존성 위에 마우스를 올리면 나타나며, 첫 줄은 의존성 줄 끝에 표시됩니다. 각 의존성 앞의 표시는 노트가 있으면 채워지고 없으면 비어 있습니다. 지원 생태계 및 해당 노트 파일: - npm: package.json, .pacmon/DEPENDENCY-NOTES.md, 패키지 이름으로 지정된 섹션(예: ## express). - Rust: Cargo.toml, .pacmon/cargo/DEPENDENCY-NOTES.md, 의존성 키로 지정된 섹션. - Maven: pom.xml, .pacmon/maven/DEPENDENCY-NOTES.md, groupId:artifactId로 지정된 섹션. - Gradle: build.gradle 또는 build.gradle.kts, .pacmon/gradle/DEPENDENCY-NOTES.md, group:name 또는 카탈로그 별칭으로 지정된 섹션. - Elixir/Mix: mix.exs, .pacmon/mix/DEPENDENCY-NOTES.md, 의존성 애플리케이션 atom으로 지정된 섹션. - Zig: build.zig.zon, .pacmon/zig/DEPENDENCY-NOTES.md, 직접 의존성 필드로 지정된 섹션. - Python: pyproject.toml 및 requirements 파일, .pacmon/python/DEPENDENCY-NOTES.md, 정규화된 배포 이름으로 지정된 섹션. - Go: go.mod, .pacmon/go/DEPENDENCY-NOTES.md, 모듈 경로로 지정된 섹션. Pacmon은 매니페스트를 텍스트로 파싱하며 npm, Cargo, Maven, Gradle, Mix, Zig, Python, pip, Poetry, uv 또는 Go를 실행하지 않습니다. 파일에 작성된 직접 의존성을 인식하며, README에 설명된 생태계별 제한이 있습니다(예: Maven dependencyManagement 및 플러그인 의존성은 제외됨, Gradle 스크립트는 실행되지 않으므로 코드로 추가된 의존성은 보이지 않음, Go replace, exclude, retract, go.work 및 vendor는 의존성으로 읽지 않음). 각 생태계는 자체 노트 파일을 유지하며, 노트 파일이 없는 매니페스트는 동일 생태계에 대해 위쪽에서 가장 가까운 노트 파일을 사용합니다. 노트 파일은 직접 의존성마다 하나의 ## 섹션을 사용합니다. 사람은 제목 아래에 작성하고, AI 코딩 에이전트는 ### Agent notes 하위 섹션에 purpose, constraint, verify, log, verified 같은 - key: value 줄로 작성합니다. 에이전트는 의존성을 추가, 업그레이드 또는 제거하기 전에 해당 의존성의 섹션을 읽고 수행한 작업을 기록해야 합니다. Pacmon은 에이전트 줄을 검증하고 알 수 없는 필드나 빈 값에 대해 경고하며 원클릭 수정을 제공합니다. Pacmon 자체는 어떤 AI 서비스도 호출하지 않습니다. 파일과 규칙을 제공하며, 설정 명령이 .pacmon/AGENT-RULES.md를 작성하고 AGENTS.md, CLAUDE.md, .cursor/rules/ 및 .github/copilot-instructions.md 같은 일반적인 에이전트 지침 파일에 포인터를 추가합니다. 기능에는 호버 노트, 인라인 미리보기, 의존성 표시, 사이드 패널, peek 편집기 또는 입력 상자를 통한 매니페스트에서의 노트 작성, 어떤 의존성에 노트가 있는지 나열하는 Documentation Coverage 보기, 노트 파일의 문제에 대한 경고가 포함됩니다. 설정은 인라인 힌트 스타일, 미리보기를 제공하는 레이어(human-first, ai-first, human-only, ai-only), 노트 입력 방식, 클릭 가능한 진입점, 모노레포 노트 파일 해석을 다룹니다. 이 확장은 VS Code 1.100+ 또는 JetBrains IDE 2025.2+가 필요하며 언어 툴체인을 설치할 필요가 없습니다. VS Code for the Web, Remote-SSH, WSL 및 dev 컨테이너에서 작동합니다. 아직 풀 리퀘스트를 받지 않는 초기 미리보기이며, 버그 보고와 기능 요청은 GitHub 이슈로 접수합니다. Apache 2.0에 따라 라이선스가 부여되며, "Pacmon"과 로고는 Kontra의 상표입니다.