본문 바로가기

기여 가이드

업데이트됨

번역일: 2026년 10월 9일

이 페이지는 원문이 업데이트되어 번역이 갱신되었습니다.

원문 수정
2026년 10월 9일
번역 갱신
2026년 10월 9일

기여 가이드

버그 보고

활발한 협업을 위해 Laravel은 GitHub 이슈보다 문제를 해결하는 풀 리퀘스트를 강력히 권장합니다. 대부분의 공식 패키지에서는 GitHub 이슈가 비활성화되어 있습니다.

문제를 발견하면 이를 해결하는 풀 리퀘스트를 작성하세요. 제목과 함께 문제 및 해결책을 명확하게 설명해야 합니다. 관련 정보를 최대한 포함하고 문제를 재현하는 코드 예제도 제공하세요. 자신과 다른 사람들이 문제를 이해하고 수정 사항을 검증하기 쉽게 만드는 것이 목적입니다.

해결 방법을 모른다면 코딩 에이전트에 문제를 설명하고 이를 활용해 풀 리퀘스트 작성을 시도해 보세요.

풀 리퀘스트는 초안 상태가 아니라 검토 준비 완료로 표시되고 새 기능의 모든 테스트가 통과했을 때만 검토됩니다. 초안 상태에서 활동 없이 남아 있는 풀 리퀘스트는 며칠 후 닫힙니다.

Laravel 소스 코드는 GitHub에서 관리하며 각 프로젝트에는 다음 저장소가 있습니다.

지원 질문

Laravel의 GitHub 이슈 트래커는 사용법이나 지원을 제공하는 공간이 아닙니다. 대신 다음 채널을 이용하세요.

어느 브랜치로 보내야 하나요?

모든 버그 수정은 버그 수정을 지원하는 최신 버전으로 보내야 합니다. 이 원문의 기준 브랜치는 13.x입니다. 다음 릴리스에만 있는 기능을 수정하는 경우가 아니라면 버그 수정을 master로 보내서는 안 됩니다.

현재 릴리스와 완전히 하위 호환되는 작은 기능은 최신 안정 브랜치로 보낼 수 있습니다. 이 원문의 기준은 13.x입니다.

큰 신규 기능이나 호환성을 깨뜨리는 기능은 다음 릴리스를 담는 master 브랜치로 보내야 합니다.

컴파일된 자산

laravel/laravel의 resources/css, resources/js에 있는 대부분의 파일처럼 컴파일 결과에 영향을 주는 변경을 제출할 때는 컴파일된 파일을 커밋하지 마세요. 크기가 커 유지 관리자가 실질적으로 검토하기 어렵고, 이를 악용해 Laravel에 악성 코드를 삽입할 수도 있습니다. 이를 예방하기 위해 컴파일된 파일은 Laravel 유지 관리자가 생성하고 커밋합니다.

AI로 생성한 기여

Laravel에 제출하는 모든 풀 리퀘스트에 감사드립니다. 하지만 충분한 사람의 검토와 숙고 없이 주로 AI가 생성한 대규모 기여는 허용하지 않습니다.

크거나 복잡한 프레임워크 기여에 AI 도구를 사용한다면 제출 전에 결과 코드를 직접 철저히 검토하고 테스트하며 이해해야 합니다.

풀 리퀘스트 설명은 기여자가 전체를 직접 작성해야 합니다. AI가 작성한 설명이 있는 풀 리퀘스트는 닫힙니다.

전적으로 AI가 생성한 이슈나 풀 리퀘스트를 대량으로 등록하는 것은 허용하지 않습니다. 이러한 풀 리퀘스트는 검토 없이 닫히며 기여자가 저장소에서 차단될 수 있습니다.

기존 코드베이스를 익히고 커뮤니티에 참여하며, 해결하려는 문제에 대한 자신의 이해와 신중한 검토가 반영된 풀 리퀘스트를 제출해 주세요.

보안 취약점

Laravel의 보안 취약점을 발견하면 보안팀의 security@laravel.com으로 이메일을 보내세요. 모든 보안 취약점은 신속히 처리합니다.

코딩 스타일

Laravel은 PSR-2 코딩 표준과 PSR-4 오토로딩 표준을 따릅니다.

PHPDoc

다음은 유효한 Laravel 문서화 블록 예제입니다. @param 뒤에는 공백 두 개, 인수 타입, 다시 공백 두 개, 변수 이름 순으로 작성합니다.

/** * Register a binding with the container. * * @param string|array $abstract * @param \Closure|string|null $concrete * @param bool $shared * @return void * * @throws \Exception */ public function bind($abstract, $concrete = null, $shared = false) { // ... }

네이티브 타입 때문에 @param이나 @return이 중복된다면 제거할 수 있습니다.

/**
* Execute the job.
*
* @return void
*/
public function handle(AudioProcessor $processor): void
{
// ...
}

다만 네이티브 타입에 제네릭 타입 정보를 덧붙여야 한다면 @param이나 @return으로 명시하세요.

/**
* Get the attachments for the message.
*
* @return array<int, \Illuminate\Mail\Mailables\Attachment>
*/
public function attachments(): array
{
return [
Attachment::fromStorage('/path/to/file'),
];
}

StyleCI

코드 스타일이 완벽하지 않아도 걱정하지 마세요. 풀 리퀘스트가 병합된 뒤 StyleCI가 스타일 수정 사항을 Laravel 저장소에 자동 병합합니다. 이를 통해 코드 스타일보다 기여 내용에 집중할 수 있습니다.

행동 강령

Laravel의 행동 강령은 Ruby의 행동 강령에서 가져왔습니다. 위반 사항은 Taylor Otwell(taylor@laravel.com)에게 알릴 수 있습니다.

  • 참여자는 반대 의견을 포용해야 합니다.
  • 말과 행동에 개인 공격이나 개인을 비하하는 발언이 없도록 해야 합니다.
  • 다른 사람의 말과 행동을 해석할 때 항상 선의를 전제로 해야 합니다.
  • 합리적으로 괴롭힘으로 볼 수 있는 행동은 허용하지 않습니다.

이 문서는 Laravel 공식 문서(MIT)를 한국 개발자를 위해 번역·재구성한 것입니다.

번역일: 2026년 10월 9일