AI 에이전트용 다중 플랫폼 퍼블리싱 CLI 개발
제목: AI 에이전트를 위한 다중 플랫폼 퍼블리싱 CLI를 만들었습니다
나는 오픈소스 저장소에 정기적으로 기여합니다. 매번 Dev.to, GitHub, LinkedIn에 같은 글을 복사‑붙여넣기 해야 했는데, 각 플랫폼마다 포맷, API, 인증 흐름이 달라 번거롭습니다. 그래서 한 번의 명령으로 모든 작업을 처리하는 CLI를 만들었습니다.
오픈소스 프로젝트에 기여하면 보통 다음을 하고 싶습니다.
- 해당 내용에 대한 블로그 포스트 작성
- 코드를 GitHub에 푸시
- 가시성을 위해 Dev.to에 공유
- LinkedIn에 교차 포스팅
각 플랫폼은 자체 API, 인증 방식, 마크다운 처리 방식을 가지고 있어 수작업으로 진행하면 지루하고 실수가 발생하기 쉽습니다.
여러 플랫폼에 동시에 콘텐츠를 퍼블리시하는 단일 CLI 스크립트
# 하나의 플랫폼에 퍼블리시
python3 platform_picker.py publish --file article.md --platform devto
# 여러 플랫폼에 한 번에 퍼블리시
python3 platform_picker.py publish --file article.md --platform devto --platform linkedin
# 현재 설정된 플랫폼 확인
python3 platform_picker.py status
| Platform | Auth | What it publishes |
|---|---|---|
| Dev.to | API key | 전체 마크다운을 포함한 글 |
| GitHub | PAT (Personal Access Token) | Gist, 저장소 파일 |
| OAuth token | 텍스트 포스트 (3000자 제한) | |
| HermesHub | GitHub OAuth | 스킬(웹을 통한 제출) |
python3 platform_picker.py setup devto --api-key YOUR_KEY
python3 platform_picker.py setup github --token YOUR_PAT
자격 증명은 ~/.hermes/config.yaml에 저장되며, 스크립트에 하드코딩되지 않습니다.
YAML 프론트매터가 포함된 단일 마크다운 파일
---
title: "Your Article Title"
tags: [ai, automation]
---
# Your content here
위 파일 하나만 있으면 모든 플랫폼에서 동일하게 사용할 수 있습니다.
CLI가 처리하는 차이점
- Dev.to: 전체 마크다운과 태그 전송
- GitHub: 공개 Gist 생성
- LinkedIn: 순수 텍스트(3000자 이하) 전송
- HermesHub: GitHub OAuth를 이용해 스킬 디렉터리 제출
실제로 Dev.to에 글을 퍼블리시한 예시
$ python3 platform_picker.py publish --file /tmp/test.md --platform devto
--- Publishing to devto ---
Published! ID: 3868710
URL: https://dev.to/saintchris_21/test-platform-picker-cli-186o
한 번의 명령으로 제목, 본문, 태그가 올바르게 적용된 글이 바로 공개되었습니다.
일반적인 오류도 친절하게 처리
$ python3 platform_picker.py publish --file article.md --platform github
Platform not configured: github. Run 'setup github' first.
$ python3 platform_picker.py publish --file missing.md --platform devto
File not found: missing.md
스크립트는 약 200줄 정도의 Python 코드이며, API 호출에 httpx, 설정 파싱에 PyYAML을 사용합니다. 주요 흐름은 다음과 같습니다.
~/.hermes/config.yaml에서 자격 증명 읽기- 마크다운 파일에서 프론트매터 파싱
- 각 플랫폼 API에 맞게 내용 변환
- 퍼블리시하고 URL 반환
가장 어려웠던 부분은 서로 다른 인증 방식을 다루는 것이었습니다. Dev.to는 간단한 API 키 헤더, GitHub은 Bearer 토큰, LinkedIn은 사람 URN 조회가 필요한 OAuth 2.0을 사용합니다.
앞으로 추가하고 싶은 기능
- Twitter/X — 스레드 퍼블리시
- Medium — 스토리 퍼블리시
- Substack — 뉴스레터 연동
- 예약 퍼블리시 — 지정 시간에 자동 게시
목표: 한 번 작성하고, 터미널에서 한 번의 명령으로 모든 곳에 퍼블리시하기.
platform-picker는 hermes-skills 저장소의 일부이며, open-source-contribution과 platform-picker 두 스킬 모두 HermesHub에 커뮤니티용으로 제출되었습니다.
AI 에이전트 워크플로우를 구축하고 있다면, 여러분이 추가하고 싶은 플랫폼을 알려 주세요.