스킬

opensrc: 코딩 도우미에게 캐시 가능한 의존성 소스 경로 주기

코딩 도우미가 의존성 패키지 소스를 먼저 받은 뒤 분석하게 하려는 사람에게 맞습니다. opensrc를 전역 설치하며, 처음에는 받아 캐시하고 이후에는 로컬 경로를 바로 반환합니다.

Official source · opensrc

Install

npm install -g opensrc

누구를 위한가

opensrc는 코딩 도우미가 의존성 패키지 소스코드를 읽어야 하는 사람을 위한 것입니다. npm, PyPI, crates.io 또는 GitHub에 있는 패키지 구현을 보고 싶지만 저장소를 직접 클론하고 싶지는 않을 때입니다. 제공하는 능력은 도우미가 임의 패키지의 소스에 접근하게 하고, 명령줄로 소스를 받아 캐시하는 것입니다.

더 구체적으로 주 경로는 CLI 하나입니다. 설치 후 opensrc path로 패키지 이름을 가리킵니다. 처음에는 가져오고, 이후에는 캐시된 로컬 경로를 즉시 반환합니다. 그 경로를 이후 읽기 전용 명령에 넘길 수 있습니다. 예를 들어 PyPI 패키지 디렉터리에서 파일 이름으로 찾는 식입니다.

패키지 관리자나 배포 도구로 쓰기에는 맞지 않습니다. 저장소 설명은 「소스를 가져와 캐시하고 경로를 반환」에서 멈추며, 패키지를 어떻게 고치는지, 어떻게 배포하는지, 프로젝트 파일을 자동으로 바꾼다는 말은 없습니다. 현재 프로젝트에 의존성을 설치하려는 것뿐이면 기존 패키지 관리자를 계속 쓰고, opensrc를 설치 프로그램으로 쓰지 마세요.

3분 만에 첫 시도

공식 설치 명령은 이 하나뿐입니다: npm install -g opensrc. 저장소 주소는 https://github.com/vercel-labs/opensrc 입니다. 이 페이지만 따르세요. 설명에 다른 설치 프로그램이나 마켓 명령은 없으니 스스로 보태지 마세요.

선행 조건: 이 기기에 쓸 수 있는 npm이 있고, CLI를 전역 설치해도 됩니다. 설치 위치는 전역 CLI이며 명령 이름은 opensrc입니다. 설치한 뒤 터미널에서 opensrc을 실행하거나 도움말을 보고 명령을 찾을 수 있는지 확인하세요. 이 단계는 프로젝트 디렉터리에 파일을 쓰지 않습니다.

저위험 첫 작업: 원래 읽기 전용으로 볼 공개 패키지를 고르고, 비공개이거나 권한 없는 저장소를 가리키지 마세요. 터미널에서 opensrc path와 그 패키지 이름을 실행하세요. 저장소 설명대로 처음에는 소스를 가져와 캐시한 뒤 로컬 경로를 반환합니다. 성공 신호는 명령이 로컬 디렉터리 경로를 인쇄하고, 바로 같은 명령을 다시 실행하면 첫 실행처럼 가져오기를 기다리지 않고 같은 경로를 즉시 주는 것입니다.

반환 경로로 다음 작업을 하려면 먼저 경로를 다시 출력한 뒤, 읽기 전용 조회를 실행할지 결정하세요. 저장소가 준 표기는 find $(opensrc path pypi:requests) -name "*.py"입니다. 먼저 pypi:requests의 캐시 경로를 해석한 다음 그 안의 Python 파일을 나열합니다. find를 실행하기 전에 파일 이름만 보는 것이지 삭제하거나 고치는 것이 아님을 확인하세요. 설명은 캐시 디렉터리 기본 위치도, 캐시 정리 명령도 쓰지 않으므로 첫 시도는 「경로를 얻고 파일을 나열할 수 있음」에서 멈추면 됩니다.

사용 사례

사례 1: 코딩 도우미에게 재사용 가능한 로컬 소스 디렉터리를 줍니다. 작업 흐름은 opensrc path입니다. 최초 가져오기, 이후 캐시 경로 반환. 어떤 의존성의 구현을 읽으면서 같은 디렉터리를 반복해 열어야 할 때 맞습니다. 설명은 지원하는 모든 패키지 이름 표기를 나열하지 않고, 첫 가져오기와 이후 즉시 경로 반환만 강조합니다. 명령이 실패하면 https://github.com/vercel-labs/opensrc 로 돌아가 설치가 끝났는지 확인하고, 기록되지 않은 설치 방식으로 바꾸지 마세요.

사례 2: 레지스트리를 넘나들며 소스 파일을 봅니다. CLI는 npm, PyPI, crates.io, GitHub에서 소스를 가져와 캐시할 수 있다고 적습니다. 저장소의 구체 예는 pypi:requests에 대해 find ... -name "*.py"를 실행해 그 패키지의 Python 파일을 나열하는 것입니다. 레지스트리 접두사를 이미 알고 소스 트리에 어떤 파일이 있는지만 확인하고 싶을 때 맞습니다. 설명은 GitHub나 crates.io의 동등한 명령 형식을 펼치지 않았고 비공개 패키지 인증도 쓰지 않습니다. 이 방향은 「CLI가 이 출처를 지원한다고 주장」까지이며, 접두사를 스스로 만들지 마세요.

사용 경계

설치 경계: 공식은 npm install -g opensrc만 썼고, 기록되지 않은 설치 프로그램은 쓰지 마세요. 능력 경계: 설명은 코딩 도우미가 임의 패키지 소스에 접근하고 npm, PyPI, crates.io, GitHub 소스를 캐시한다는 것이며, 그 패키지를 수정한다거나 언어 패키지 관리자를 대체한다고는 쓰지 않았습니다. 조작 경계: 대조할 수 있는 구체 명령은 opensrc path와 find $(opensrc path pypi:requests) -name "*.py"입니다. 캐시 동작은 「최초 가져오기, 이후 즉시 경로 반환」까지이며 만료 정책이나 정리 방법은 없습니다. 출처 범위에 레지스트리 네 개가 나오지만 그것뿐이라고는 하지 않았고, 비공개 저장소 자격 증명 단계도 없습니다.