


기술 리소스 목록에 들어온 새 제출을 확인하기
기술 도구와 링크 목록에 풀 리퀘스트로 새 항목이 들어왔을 때 쓴다. 지정한 제출만 형식, 중복, 안전한 링크를 기준으로 확인하고, 댓글이나 병합 전에 먼저 묻고, 새 문제와 예전부터 있던 문제를 나눠 보고한다.
이 AI 규칙을 사용하려면
## 목록 파일 하나만 기준으로 삼고 사이트와 데이터는 거기서 만들기
사람이 읽을 수 있는 하나의 목록 문서를 단일 기준 원본으로 취급한다.
파생 산출물을 따로 편집하지 말고 그 원본에서 색인, 구조화된 데이터 집합, 정적 페이지를 생성한다.
구현 언어 제목이 아니라 주제 범주 아래에 항목을 정리한다.
하나의 리소스가 주제 범주를 바꾸지 않고 여러 언어를 선언할 수 있도록 각 항목의 인라인 태그에 지원 언어를 기록한다.
데이터 흐름을 문서화한다.
1. 목록 문서에 선별된 항목을 저장한다.
2. 해석기가 항목을 검증하고 승인된 외부 메타데이터를 보강한 뒤 구조화된 데이터 집합을 작성한다.
3. 사이트 생성기는 데이터 집합이 있으면 이를 읽고, 없으면 로컬 미리보기를 위해 목록을 직접 해석한다.
4. 지속적 통합이 해석기와 생성기를 실행한 뒤 생성된 사이트 디렉터리만 게시한다.
해석기, 생성기, 배포 동작을 이 규약과 일치시킨다.
생성된 페이지나 데이터 집합을 기준 원본과 경쟁하는 별도의 원본으로 만들지 않는다.
## 목록의 모든 항목을 언어 태그가 붙은 한 가지 형식으로 맞추기
해석기가 인식할 수 있는 하나의 항목 구조를 정의하고 문장 부호도 규약의 일부로 취급한다.
일반적인 항목은 링크가 있는 이름, 하나 이상의 인라인 언어 태그, 설명으로 구성된다. ``- [Name](https://example.org) - `Language` - Description.``
다음 규칙을 적용한다.
- 새 비상업 항목에는 필수 구분자가 뒤따르는 언어 태그가 하나 이상 있어야 한다.
- 설명은 선택적인 소스 저장소 링크보다 앞에서 마침표로 끝나야 한다.
- 새 링크는 `https://`를 사용해야 한다.
- 상업 또는 독점 리소스는 전용 범주에 둔다.
- 언어 태그는 상업 범주나 명시적으로 언어와 무관한 범주에서만 생략할 수 있다.
- 제출자를 위한 기여 가이드를 사용자 대상 제출 규칙의 기준 원본으로 유지한다.
주변 구조를 바꾸지 않고 여러 언어 태그를 허용한다.
완결된 설명 뒤에는 선택적인 저장소 링크를 허용한다.
동일한 항목 문법을 따른다면 생태계별 패키지 링크도 유효하게 유지한다.
형식이 잘못된 제출 하나에 맞춰 해석기 패턴을 느슨하게 하지 않는다.
## 새 항목은 엄격하게 확인하고, 예전 항목은 경고로만 알리기
검증, 해석, 게시에는 저장소에 문서화된 환경과 작업 래퍼를 사용한다.
필수 런타임 버전을 지키고 표준 의존성 명령으로 의존 항목을 설치한다.
두 가지 검증 모드를 사용한다.
1. 변경 검증은 선택한 기준 리비전에 비해 새로 추가된 항목만 검사한다.
2. 전체 목록 검증은 모든 항목을 검사한다.
새 항목에서는 중복, 잘못된 링크, URL 정책 위반을 오류로 취급한다.
전체 목록에서는 엄격한 옵션을 명시적으로 선택하지 않는 한 같은 종류의 기존 문제를 경고로 보고한다.
허용 중인 기존 부채 때문에 새 항목의 등록 기준을 약화하지 않는다.
필수 자격 증명이 있을 때만 해석기를 실행한다.
로컬 미리보기에서는 기존 구조화 데이터 집합이나 문서화된 직접 해석 대체 경로를 사이트 생성기가 사용하도록 허용한다.
## 지정된 제출만 보고 목록에 중복이 없는지 확인하기
검토 범위를 사용자가 지정한 제출로 한정한다.
풀 리퀘스트 작업에는 무관한 명령줄 클라이언트가 아니라 설정된 저장소 연결기를 사용한다.
변경 작업을 수행하기 전에 다음을 실행한다.
1. 제안된 파일과 차이를 조사한다.
2. 범주 위치와 정확한 항목 형식을 확인한다.
3. 기준 원본 목록에서 중복을 검색한다.
4. 안전한 URL 형식을 검증한다.
5. 현재 프로젝트 활동과 문서를 근거에 따라 평가한다.
6. 외부 상태를 변경하기 전에 발견 사항을 제시한다.
열려 있다는 이유만으로 지정되지 않은 제출까지 검토하지 않는다.
제출된 설명만으로 인기도나 유지 관리 상태를 추론하지 않는다.
목록 형식 준수 여부와 리소스의 품질 및 지속적인 유용성을 구분한다.
## 풀 리퀘스트에 댓글을 달거나 병합하기 전에 먼저 묻기
풀 리퀘스트에 댓글을 달거나, 라벨을 붙이거나, 닫거나, 병합하기 전에 항상 사용자에게 확인한다.
사용자가 검토 댓글을 승인한 뒤에만 검토 완료 라벨을 붙인다.
해당 병합에 대한 명시적 승인을 받은 뒤에만 병합한다.
연결된 저장소 도구를 사용하여 열린 요청을 나열하고, 세부 정보, 파일, 댓글, 라벨, 차이를 살펴보고, 중복 확인을 위해 기본 브랜치의 목록을 가져오며, 승인된 변경을 수행한다.
필수 연결기를 사용할 수 없을 때 다른 외부 도구로 절대 대체하지 않는다.
연결기가 없다면 저장소 작업이 차단되었다고 보고하고 사용자에게 설정을 요청한다.
읽기 전용 근거 수집과 외부 상태 변경을 분리한다.
검토 지시만으로 댓글, 라벨, 닫기, 병합이 승인되는 것은 아니다.
## 접근용 키를 숨기고 사이트는 정해진 자동 절차로만 게시하기
외부 메타데이터 보강을 자격 증명이 필요한 작업으로 취급한다.
필수 접근 자격 증명 없이 실행하지 말고, 명령, 보고서, 생성 페이지, 커밋 대상 파일에 자격 증명을 절대 노출하지 않는다.
게시 절차를 재현 가능하게 유지한다.
- 표준 목록을 해석해 문서화된 구조화 데이터 집합으로 만든다.
- 로컬 미리보기에서는 문서화된 대체 경로만 사용한다.
- 현재 검증된 입력에서 정적 페이지를 생성한다.
- 설정된 지속적 통합 작업 흐름을 통해서만 게시한다.
- 해석기나 템플릿의 동작이 바뀌면 생성된 차이를 검토한다.
로컬 미리보기만으로 게시가 성공했다고 주장하지 않는다.
생성 산출물과 게시 작업 흐름을 따로 검증한다.
## 확인한 범위를 밝히고 새 오류와 예전 경고를 나눠 보고하기
검토한 제출, 발견 사항, 검증 모드, 차단된 작업을 보고한다.
검사 범위가 새 항목만인지 전체 목록인지 명시한다.
기존 내용에서 비롯된 경고와 현재 변경이 도입한 오류를 구분해 제시한다.
완료하기 전에 다음을 확인한다.
- 목록이 기준 원본으로 유지되었다.
- 항목 문법, 문장 부호, 태그, 범주, 안전한 URL을 확인했다.
- 현재 기본 브랜치를 기준으로 중복을 확인했다.
- 활동과 문서에 관한 판단이 근거에 기반했다.
- 승인 없이 외부 상태를 변경하지 않았다.
- 생성 산출물을 권위 있는 원본 내용으로 오인하지 않았다.
결정을 지원할 만큼 간결하게 보고하되, 등록 결론을 바꿀 수 있는 발견 사항은 모두 포함한다.
