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

@kjunine/ascii-aquarium

v1.0.2

Published

Interactive ASCII art aquarium simulator for the terminal

Downloads

330

Readme

ASCII Aquarium

터미널에서 실행되는 인터랙티브 ASCII 아트 수족관 시뮬레이터입니다.

       .--.
   ___/    \___
  /             \__        ><>    ><>
 |  o        ___|  )
  \_________/   \__/          ><>

주요 기능

  • Boids 군집 알고리즘 — 소형/중형 물고기가 자연스러운 떼 이동을 합니다
  • 다양한 해양 생물 — 상어, 고래, 거북이, 해파리가 수족관을 횡단합니다
  • 주야간 사이클 — 시간에 따라 바다 색상과 물고기 속도가 변합니다
  • 파티클 시스템 — 거품이 올라가고, 먹이를 떨어뜨릴 수 있습니다
  • 장식물 — 성, 산호, 해초가 바닥을 장식합니다
  • 세션 저장/복원 — 종료 시 상태가 자동 저장되어 다음 실행 시 복원됩니다
  • 실시간 물고기 추가/제거 — 실행 중 +/- 키로 물고기 수를 조절합니다

요구 사항

  • Node.js >= 22.0.0
  • 트루컬러(24bit) 지원 터미널 권장

설치

npm install

실행

npm start

CLI 옵션

| 옵션 | 설명 | 기본값 | |------|------|--------| | --fish-count=N | 물고기 수 (1-30) | 10 | | --speed=N | 시뮬레이션 배속 (0.1-5.0) | 1.0 | | --theme=THEME | 테마: default, day, night | default | | --no-predators | 상어 등 포식자 비활성화 | false | | -h, --help | 도움말 표시 | - |

# 예시
npm start -- --fish-count=20 --speed=1.5 --theme=night --no-predators

키보드 조작

| 키 | 동작 | |----|------| | q | 종료 (상태 자동 저장) | | p | 일시정지 / 재개 | | r | 화면 강제 다시 그리기 | | d | 디버그 정보 (FPS 등) 토글 | | h | 도움말 오버레이 토글 | | f | 먹이 떨어뜨리기 | | + | 물고기 추가 (최대 30) | | - | 물고기 제거 (최소 1) |

개발

# 파일 변경 감지 모드로 실행
npm run dev

# 테스트 실행
npm test

# 테스트 감시 모드
npm run test:watch

프로젝트 구조

src/
├── index.ts              # 앱 진입점
├── core/                 # 터미널, 화면, 게임 루프, 입력, 색상
├── entities/             # 물고기, 수면, 성, 산호, 해초
├── creatures/            # 상어, 고래, 거북이, 해파리
├── boids/                # Boids 군집 알고리즘
├── particles/            # 거품, 먹이 파티클 시스템
├── systems/              # 주야간 앰비언스 시스템
├── config/               # CLI 파서, 세션 저장/복원
└── ui/                   # 토스트 메시지, 오버레이

기술 스택

  • TypeScript + tsx (런타임)
  • terminal-kit (터미널 렌더링)
  • Vitest (테스트)