본문으로 건너뛰기

© 2026 Molayo

Dev.to헤드라인2026. 06. 15. 06:54

AI 에이전트를 위한 멀티 플랫폼 퍼블리싱 CLI를 구축했습니다

요약

오픈 소스 기여 시 Dev.to, GitHub, LinkedIn 등 여러 플랫폼에 콘텐츠를 수동으로 게시해야 하는 번거로움을 해결하기 위해 멀티 플랫폼 퍼블리싱 CLI를 구축했습니다. 단일 마크다운 파일과 명령어 하나로 각 플랫폼의 API와 포맷에 맞춰 자동 게시가 가능합니다.

핵심 포인트

  • 플랫폼별 API 및 인증 방식을 통합한 단일 CLI 도구 개발
  • YAML 프론트매터를 활용한 콘텐츠 관리 자동화
  • Dev.to, GitHub, LinkedIn 등 다양한 플랫폼 지원
  • Python(httpx, PyYAML) 기반의 경량화된 구현

AI 에이전트를 위한 멀티 플랫폼 퍼블리싱 CLI를 구축했습니다

저는 정기적으로 오픈 소스 (open-source) 저장소에 기여합니다. 매번 Dev.to, GitHub, LinkedIn에 동일한 글을 수동으로 복사하여 붙여넣어야 했습니다. 각 플랫폼마다 포맷팅이 다르고, API가 다르며, 인증 (auth) 흐름도 달랐습니다. 그래서 단 하나의 명령어로 이 모든 것을 수행할 수 있는 CLI를 구축했습니다.

문제점

오픈 소스 프로젝트에 기여할 때, 보통 다음과 같은 과정을 원하게 됩니다:

  1. 관련 블로그 포스트 작성
  2. GitHub에 코드 푸시 (Push)
  3. 가시성을 위해 Dev.to에 공유
  4. LinkedIn에 교차 게시 (Cross-post)

각 플랫폼은 고유의 API, 인증 (auth) 방식, 마크다운 (markdown) 처리 방식을 가지고 있습니다. 이를 수동으로 수행하는 것은 지루하고 오류가 발생하기 쉽습니다.

해결책: Platform Picker

여러 플랫폼에 걸쳐 콘텐츠를 게시하는 단일 CLI 스크립트입니다:

# 하나의 플랫폼에 게시
python3 platform_picker.py publish --file article.md --platform devto

...

지원 플랫폼

플랫폼인증 (Auth)게시 내용
Dev.toAPI key전체 마크다운 (markdown)이 포함된 기사
...

작동 방식

1. 플랫폼별 1회 설정

python3 platform_picker.py setup devto --api-key YOUR_KEY
python3 platform_picker.py setup github --token YOUR_PAT

자격 증명 (Credentials)은 ~/.hermes/config.yaml에 저장되며, 스크립트에 절대 하드코딩되지 않습니다.

2. 콘텐츠를 한 번만 작성

YAML 프론트매터 (frontmatter)가 포함된 단일 마크다운 (markdown) 파일:

---
title: "Your Article Title"
tags: [ai, automation]
...

3. 모든 곳에 게시

CLI가 차이점을 처리합니다:

  • Dev.to에는 태그가 포함된 전체 마크다운 (markdown)이 전달됩니다.
  • GitHub에는 공개 Gist가 생성됩니다.
  • LinkedIn에는 일반 텍스트 (plain text)가 전달됩니다 (3000자 제한).
  • HermesHub에는 GitHub OAuth를 통해 기술 디렉토리가 제출됩니다.

실제 테스트

Dev.to에 기사를 게시하여 테스트했습니다:

$ python3 platform_picker.py publish --file /tmp/test.md --platform devto
--- Publishing to devto ---
  Published! ID: 3868710
...

단 하나의 명령어로 정확한 제목, 본문, 태그와 함께 기사가 라이브 상태가 되었습니다.

에러 핸들링 (Error Handling)

CLI는 일반적인 실패 상황을 유연하게 처리합니다:

$ python3 platform_picker.py publish --file article.md --platform github
Platform not configured: github. Run 'setup github' first.

...

구축 과정 (Building It)

이 스크립트는 API 호출을 위한 httpx와 설정을 위한 PyYAML을 사용하는 약 200줄의 Python 코드로 작성되었습니다. 주요 기능은 다음과 같습니다:

  1. ~/.hermes/config.yaml에서 인증 정보(credentials)를 읽어옵니다.
  2. 마크다운 파일에서 프론트매터 (frontmatter)를 파싱합니다.
  3. 각 플랫폼의 API에 맞게 콘텐츠를 조정(adapt)합니다.
  4. 게시를 수행하고 URL을 반환합니다.

가장 어려웠던 부분은 서로 다른 인증 (auth) 방식을 처리하는 것이었습니다. Dev.to는 단순한 API 키 헤더를 사용하고, GitHub은 Bearer 토큰을 사용하며, LinkedIn은 사용자 URN 조회가 포함된 OAuth 2.0이 필요합니다.

향후 계획 (What's Next)

현재 다음과 같은 기능 추가를 작업 중입니다:

  • Twitter/X — 스레드 (thread) 게시
  • Medium — 스토리 (story) 게시
  • 예약 게시 (Scheduled publishing) — 특정 시간에 게시

목표는 터미널에서 한 번만 작성하여 어디든 게시하는 것입니다.

플랫폼 피커 (platform picker)는 hermes-skills 리포지토리의 일부입니다. 두 가지 스킬(open-source-contributionplatform-picker)은 커뮤니티 사용을 위해 HermesHub에 제출되었습니다.

AI 에이전트 워크플로 (workflows)를 구축하고 계신다면, 어떤 플랫폼을 추가하고 싶은지 의견을 듣고 싶습니다.

AI 자동 생성 콘텐츠

본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
0

댓글

0