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

huayuan

v1.0.1

Published

A terminal garden game for learning Chinese and Vim

Readme

花 园 Huayuan

A terminal garden game for learning Chinese and Vim.

  ⌠           ᴗ          ◞        ⸦∙▓
 <∙▓         '∙'        <∘@         ░
  ⁑░▒▓╱      ░▒▓ᗕ       ░░▒▓◸     ░▒▓▓◜
   ⸔⸔         ╯╯       ~ ~≈~~≈≈~   ᨓ
 Robin      Sparrow      Duck      Goose
 知更鸟       麻雀        鸭子       鹅

Grow plants, talk to birds, learn characters. Huayuan is a quiet little game where you tend a garden using Vim keybindings while picking up Chinese vocabulary along the way. Plants start as sprouts and grow into hanzi -- cross-pollinate them to discover hybrids with increasingly complex characters. Birds visit your garden and quiz you in Mandarin.

 ◦ → 芽 → ⚜ → ❀ → 花     seed to flower
 ◦ → 芽 → ↟ → ♣ → 木     seed to tree
 花 × 木 → 果              hybridize for new species
 果 × _ → 桃 → ... → 蘭    keep going

It's a niche thing -- if you're learning both Vim and Chinese, or just want a calm terminal game with some character recognition practice, this might be for you.

Screenshots

Title screen

A mature garden

Lake map

Install

npm install -g huayuan
huayuan

Or run without installing:

npx huayuan

Or clone and run from source:

git clone https://github.com/cixzhang/huayuan.git
cd huayuan
npm install
npm start

Requires Node.js 18+ and a terminal that supports Unicode and 256 colors.

How to Play

Movement and actions use Vim keybindings:

| Key | Action | |-----|--------| | h j k l | Move cursor | | w b | Jump right / left | | space | Use current tool | | tab | Cycle tools (plant / water / harvest) | | s | Switch seed type | | v | Enter visual mode (select region) | | t | Talk to a nearby bird | | ? | Help | | :w | Save | | :q | Quit |

Tools

  • Plant -- place a seed on soil
  • Water -- water the ground (plants need water to grow)
  • Harvest -- collect seeds from mature plants

Growing Plants

Plants progress through stages: seed → sprout → growing → flowering → hanzi. Each species ends as a Chinese character -- grass becomes , flowers become , trees become .

Cross-Pollination

Place two different mature plants next to each other and harvest to get hybrid seeds. There are 4 tiers of hybrids, culminating in the orchid .

| Hybrid | Parents | Character | |--------|---------|-----------| | fang (fragrant) | grass + flower | 芳 | | miao (seedling) | grass + tree | 苗 | | guo (fruit) | flower + tree | 果 | | cha (tea) | fang + any | 茶 | | zhu (bamboo) | miao + any | 竹 | | tao (peach) | guo + any | 桃 | | ju (chrysanthemum) | cha + any | 菊 | | mei (plum blossom) | tao + any | 梅 | | lan (orchid) | ju + any | 蘭 |

Birds

Four bird species visit your garden. Walk next to one and press t to start a conversation -- they'll quiz you in Chinese (HSK 3 level). Answer correctly to earn seeds.

Maps

When starting a new game, choose from three maps:

  • Beach -- ocean shore with a river delta and sandy beach
  • Lake -- large central lake with an island
  • River -- winding river with a forest (the classic)

Terrain

Use :terraform soil, :terraform sand, or :terraform river to change terrain. In visual mode, select a region first then terraform to change the whole area.

Settings

Settings are available from the title screen (press 2):

  • Sound -- toggle ambient sounds and bird chirps
  • Weather FX -- toggle rain/wind particle effects
  • Pinyin -- show or hide pinyin in dialog answers

Custom Dialog

If you set the ANTHROPIC_API_KEY environment variable, you can generate custom bird dialog at different HSK levels and topics from the settings menu.

Data

All user data is stored in your home directory:

  • ~/.huayuan-save.json -- game save
  • ~/.huayuan-settings.json -- settings
  • ~/.huayuan-dialog.json -- generated dialog (if any)

License

ISC