jocohunt는 조코헌트 제품 목록 조회와 제품 등록을 터미널에서 처리하는 Go CLI입니다. 당신의 아이디어를 에이전트가 알리게 하세요.
- 저장소: https://github.com/code-yeongyu/joco
- npm: https://www.npmjs.com/package/@yeongyu/jocohunt
- 랜딩페이지: https://jocojoco.yeongyu.kim
GitHub에서 소스를 받아 직접 빌드해 설치합니다.
go install github.com/yeongyu/jocohunt/cmd/jocohunt@latest
jocohunt products --limit 5git clone https://github.com/code-yeongyu/joco.git
cd joco
go build -o jocohunt ./cmd/jocohunt
./jocohunt products --limit 5Go 1.23+ 가 필요합니다. 빌드한 바이너리를
PATH에 두면 어디서든jocohunt로 실행할 수 있습니다.
jocohunt products --limit 10
jocohunt products --category ai-tools --json
jocohunt ideas --tab recent
jocohunt leaderboard --period weekly
jocohunt inspect
jocohunt auth login --print-urlCLI에서 GitHub OAuth URL을 만들고 기본 브라우저로 열 수 있습니다.
jocohunt auth login터미널에 URL만 출력하려면:
jocohunt auth login --print-urlGitHub 로그인은 브라우저에서 끝나고, 조코헌트 세션 쿠키는 CLI 저장소에 넣어 재사용합니다. 저장 파일은 기본적으로 사용자 config 디렉터리의 jocohunt/session.json이며 권한은 0600입니다.
jocohunt auth login --session-cookie 'better-auth.session_token=...' --csrf-token '...'
jocohunt auth status
jocohunt auth logout테스트나 자동화에서는 JOCOHUNT_CONFIG_DIR로 저장 위치를 바꿀 수 있습니다.
auth login --session-cookie로 세션을 저장해두면 CLI에서 바로 제품을 등록할 수 있습니다.
jocohunt submit \
--title "내 제품" \
--url "https://example.com" \
--tagline "한 줄 소개" \
--description "조금 더 긴 설명" \
--category "ai-tools" \
--confirm등록 전 요청 본문만 확인하려면 --dry-run을 사용합니다.
jocohunt submit --title "내 제품" --url "https://example.com" --tagline "한 줄 소개" --dry-run세션 쿠키를 플래그로 직접 넘길 수도 있습니다.
jocohunt submit --title "내 제품" --url "https://example.com" --tagline "한 줄 소개" \
--session-cookie 'better-auth.session_token=...' --confirm조코헌트 API 경로가 바뀌면 --submit-endpoint로 바꿔 찌를 수 있습니다. 기본값은 /api/submit입니다. 서버가 CSRF 토큰을 요구하는 배포에서는 --csrf-token 또는 JOCOHUNT_CSRF_TOKEN을 같이 넣으세요.
조회 명령은 공개 HTML과 JSON-LD만 읽습니다. auth login은 GitHub OAuth URL을 만들거나 사용자가 제공한 세션 쿠키를 로컬에 저장합니다. submit/upload 명령만 로그인 세션 쿠키를 사용해 /api/submit에 POST합니다. 라이브 등록에는 실수 방지를 위해 --confirm이 필요합니다.
릴리스 전에 플랫폼별 Go 바이너리를 생성합니다.
npm run build:binaries
npm testnpm/bin.js는 Node의 플랫폼명(win32, x64 등)을 Go 대상명(windows, amd64 등)으로 변환한 뒤 npm/jocohunt-<goos>-<goarch> 바이너리를 실행합니다. 플랫폼 바이너리가 없으면 로컬 개발용 npm/jocohunt fallback을 사용합니다.
GitHub Actions는 다음을 검사합니다.
go test -race -shuffle=on -count=1 ./...npm test- 플랫폼별 바이너리 빌드
- 실제 사이트에 대한 읽기 전용 smoke test
- 버전을 올립니다.
npm run build:binaries를 실행합니다.- 태그를 푸시합니다.
release.yml이 테스트, 바이너리 빌드,npm pack,npm publish --provenance를 순서대로 실행합니다.- npm 배포에는 GitHub Actions secret
NPM_TOKEN이 필요합니다.
릴리스 워크플로는 태그 v*에서만 동작합니다. 배포 전에 로컬에서 아래 명령으로 패키지 포함 파일을 확인하세요.
npm pack --dry-run