npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

pingping2

v0.1.9

Published

Send Codex and Claude Code completion notifications to your iPhone and Apple Watch through PingPing2 PWA.

Readme

PingPing2 CLI

Codex, Claude Code 같은 LLM CLI 작업이 끝났을 때 iPhone PWA와 Apple Watch로 완료 알림을 보내는 CLI입니다.

기본 PingPing2 서비스 URL은 아래 주소입니다.

https://pingping2.too1s.com

언제 쓰나요?

터미널에서 Codex나 Claude Code에게 오래 걸리는 작업을 맡겨두면, 완료 시점을 놓치기 쉽습니다. PingPing2는 CLI 작업 종료를 감지해 서버로 완료 이벤트를 보내고, 서버가 PWA Web Push 알림을 발송합니다.

Codex / Claude Code
  -> PingPing2 CLI
  -> PingPing2 server
  -> PWA Web Push
  -> iPhone
  -> Apple Watch 알림 미러링

빠른 설치

개발 PC에서 실행하세요. 서버가 아니라 Codex 또는 Claude Code를 쓰는 로컬 터미널입니다.

npx pingping2@latest install-plugins

이 명령은 다음을 처리합니다.

  • pingping2 CLI 설치
  • Codex Stop 훅 설치
  • Claude Code Stop 훅 설치
  • 브라우저에서 PingPing2 로그인 시작
  • 기본 서버 https://pingping2.too1s.com에 CLI 연결

설치기는 npm 패키지 안의 플러그인 템플릿을 사용합니다. 별도로 GitHub 저장소를 내려받지 않아도 됩니다.

Codex만 설치:

npx pingping2@latest install-plugins --codex-only

Claude Code만 설치:

npx pingping2@latest install-plugins --claude-only

Google 로그인 사용:

npx pingping2@latest install-plugins --provider google

이미 CLI 로그인이 되어 있고 토큰이 유효하면 설치 후 다시 로그인하지 않습니다. 이 로그인은 브라우저 웹 세션과 별도이며, 로컬 ~/.pingping2/config.json의 CLI 토큰을 서버에서 확인해 재사용합니다. 다시 로그인 계정을 고르고 싶으면 --force-login을 붙이세요. 카카오 로그인도 재인증 화면을 요청합니다.

npx pingping2@latest install-plugins --force-login

로컬 CLI 토큰을 지우려면 아래 명령을 실행하세요.

pingping2 logout

처음 설치하는 터미널에서는 카카오와 Google 중 로그인 방식을 고를 수 있습니다. 자동 입력 환경에서는 카카오가 기본값입니다.

PWA 알림 설정

iPhone에서 한 번 설정해야 합니다.

  1. Safari로 https://pingping2.too1s.com 접속
  2. 공유 버튼 선택
  3. 홈 화면에 추가 선택
  4. 홈 화면에서 PingPing2 실행
  5. 카카오 또는 Google로 로그인
  6. 알림 허용

iOS Web Push는 홈 화면에 추가한 PWA에서 동작합니다. Apple Watch는 iPhone 알림 미러링 설정에 따라 같은 알림을 손목에서 받을 수 있습니다.

CLI 명령

로그인:

pingping2 login

상태 확인:

pingping2 status

로컬 CLI 로그아웃:

pingping2 logout

명령을 감싸서 실행하고 끝나면 알림 보내기:

pingping2 run --label "테스트" -- npm test

수동 완료 알림 보내기:

pingping2 notify --label "Codex" --summary "요청한 리팩터링 작업이 완료됐어요."

다른 서버를 쓰는 경우:

pingping2 login --server https://your-pingping2.example.com

Codex / Claude Code 훅 동작

install-plugins를 실행하면 Codex와 Claude Code의 작업 종료 훅이 설치됩니다. 이후 세션 응답이 끝날 때 훅이 pingping2 notify를 호출하고, PingPing2 서버가 로그인된 사용자에게 PWA 푸시를 발송합니다.

Claude Code는 ~/.claude/settings.jsonUserPromptSubmit 훅과 Stop 훅을 함께 추가합니다. UserPromptSubmit 훅은 최근 입력 프롬프트를 로컬 캐시에 저장하고, Stop 훅은 그 값을 읽어 완료 알림과 대시보드 기록의 요청 문구로 보냅니다.

기존 설치와의 호환을 위해 doneping, doneping-cli, llm-done alias도 남아 있지만, 문서와 안내 로그에서는 pingping2를 기준으로 설명합니다.

서버 기본값은 https://pingping2.too1s.com입니다. 별도 설정 없이 이 주소로 연결됩니다.

완료 알림에는 도구 이름, 현재 프로젝트 폴더명, 최근 사용자 요청 앞 20자가 함께 들어갑니다. 예를 들어 pingping2 · 푸시 메시지가 dev_r처럼 보여요.

훅 입력에서 사용자 요청을 찾지 못하면 프로젝트 폴더명만 보냅니다. 더 구체적인 문구가 필요하면 훅 실행 환경에서 PINGPING2_SUMMARY 값을 지정할 수 있습니다. 기존 DONEPING_SUMMARY도 호환됩니다.

로컬에 저장되는 정보

CLI 로그인 후 로컬에는 아래 파일이 생성됩니다.

~/.pingping2/config.json

기존 ~/.doneping/config.json이 있으면 새 설정이 없을 때 읽어서 마이그레이션처럼 사용할 수 있습니다. 여기에는 서버 URL과 CLI 토큰이 저장됩니다. OAuth 클라이언트 시크릿, VAPID private key, DB 비밀번호 같은 서버 보안 정보는 npm 패키지에 포함되지 않습니다.

알림이 안 올 때 확인할 것

  • iPhone에서 Safari가 아니라 홈 화면 PWA로 PingPing2를 열었는지 확인
  • PWA에서 알림 권한을 허용했는지 확인
  • 웹과 CLI가 같은 계정으로 로그인되어 있는지 확인
  • pingping2 status가 정상 응답하는지 확인
  • iPhone 알림이 Apple Watch로 미러링되도록 설정되어 있는지 확인

요구 사항

  • Node.js 20 이상
  • Codex 또는 Claude Code 사용 환경
  • iOS Web Push 사용 시 iOS 16.4 이상
  • Apple Watch 알림은 iPhone 알림 미러링을 사용