AI 기반 오픈소스 포트폴리오 자동 구축 템플릿 출시!

by DD
2개월 전
조회수 8

스마트폰과 AI를 활용해 오픈소스 기여 내역을 자동 추적하는 포트폴리오 구축을 시작, 스프레드시트 관리의 어려움(Spreadsheet Struggle) 해결

공동 작성 PR(Co-authored PR), 기여도 시각화 차트, 기여 스타일 분석 등 다양한 기능 추가를 통해 포트폴리오 기능 확장

개인적인 필요와 공통적인 요구사항을 분리하여 템플릿(Template) 버전개인 워크샵(Workshop) 버전으로 프로젝트 분리

템플릿은 자동 추적, 차트, 페르소나 프로필 등 핵심 기능 제공하며, GitHub Actions(GitHub Actions) 워크플로우를 통해 자동 업데이트

자동화된 기여 내역 추적 아키텍처

본문에 따르면, 자동화된 오픈소스 포트폴리오는 GitHub API(GitHub API)를 활용하여 PR, 이슈, 코드 리뷰, 공동 작성 커밋 등 다양한 기여 내역을 수집한다.

Node.js 스크립트(Node.js Script): GitHub API를 호출하여 데이터를 가져오고, Markdown 파일 생성

GitHub Actions(GitHub Actions) 워크플로우: 자동화된 배포 파이프라인(Deployment Pipeline) 구축, 매일 또는 특정 주기로 스크립트 실행

데이터 시각화: 바 차트(Bar Chart)를 통해 기여 유형별 비중을 시각적으로 표현, 기여 스타일 분석

결과적으로, 개발자는 별도의 작업 없이 자신의 오픈소스 활동을 자동으로 기록하고 시각화할 수 있다.

템플릿과 워크샵의 분리: 설계 철학

저자는 개인적인 필요와 공통적인 요구사항을 분리하여 코드베이스(Codebase)의 유지보수성(Maintainability)을 높였다.

템플릿(Template): 자동 추적, 차트, 페르소나 프로필 등 핵심 기능 제공, 모든 사용자를 위한 표준 기능(Standard Feature) 제공

워크샵(Workshop): 개인적인 기능(예: dev.to 게시글 연동, 커뮤니티 활동)을 실험하는 샌드박스(Sandbox) 역할

분리 이유: 모든 사용자가 필요하지 않은 기능을 제거하여 템플릿의 사용성(Usability) 향상코드 복잡도(Code Complexity) 감소

이러한 분리를 통해 프로젝트의 확장성(Extensibility)과 유연성(Flexibility)을 동시에 확보했다.

GitHub Actions(GitHub Actions)를 활용한 자동 배포

본문에서는 GitHub Actions(GitHub Actions)를 사용하여 포트폴리오를 자동 배포하는 방법을 설명한다.

자동화된 빌드 및 배포: Node.js 스크립트 실행 및 생성된 Markdown 파일을 기반으로 정적 웹사이트 생성

배포 자동화: GitHub Pages(GitHub Pages) 또는 Netlify(Netlify) 등을 활용하여 웹사이트 자동 배포

장점: 수동 배포 과정 제거, 최신 기여 내역 자동 반영, 개발 생산성 향상

GitHub Actions(GitHub Actions)는 CI/CD 파이프라인(CI/CD Pipeline) 구축을 위한 강력한 도구이며, 오픈소스 프로젝트의 지속적인 통합(Continuous Integration) 및 배포(Continuous Delivery)를 가능하게 한다.

기여 스타일 분석 및 페르소나 프로필

저자는 기여 데이터를 분석하여 개발자의 기여 스타일을 시각적으로 표현하는 페르소나 프로필(Persona Profile)을 생성한다.

기여 데이터 분석: PR, 코드 리뷰, 코드 제안 등 다양한 기여 유형 분석

페르소나 타이틀 생성: 커뮤니티 멘토(Community Mentor), 프로젝트 아키텍트(Project Architect) 등 기여 스타일에 맞는 타이틀 부여

목적: 개발자의 개성을 드러내고(Showcase Personality), 다른 사람들과의 소통을 촉진(Promote Communication)

이러한 기능은 개발자의 자기 PR(Self-Promotion)을 돕고, 오픈소스 커뮤니티 내에서 가시성(Visibility)을 높이는 데 기여한다.

The Curated, Automated Open Source Portfolio: How It’s Going