0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

あなたのnpmパッケージ、GitHubに飛べますか

0
Posted at

7月の頭から、個人でCLIツールを作って公開している。AIエージェント向けの設定ファイル——AGENTS.mdSKILL.md みたいなやつ——が壊れていないかを検査するリンタが中心で、9日間で8本出した。

先週、GitHubを開いて数えてみた。

スターは、8本ぜんぶゼロだった。フォロワーもゼロ。

作ったものが悪いのだろうと思った。ニッチすぎたか、名前が悪かったか、READMEの書き方か。そのあたりを直そうと手を動かしかけて、その前に一度、数字を全部並べてみることにした。

ダウンロードは、来ていた

npmのAPIを叩いて月間ダウンロード数を取った。

reflint      790
skills-lint  651
tracklint    281
carrylint    241
orogami      120
tokenlint     70
genchi        54

合計で2,207。スターゼロの割に、悪くない数字に見える。

ここで小躍りしそうになったが、先に書いておくと、新規パッケージのダウンロード数を実ユーザーだと思ってはいけない。公開直後のDLは大半がレジストリのミラーとセキュリティスキャナのbotだ。実際、私の7本は公開日が早い順にきれいに並んでいる。需要ではなく公開順で説明がついてしまう数字を、需要だと読むのは危ない。

それでも、ゼロではない。誰かのCIが一度でも npx を叩けば、そこに数字は乗る。ならばその人たちはどこへ行ったのか。

npmのページから、GitHubに飛べなかった

package.json を7本ぶん並べて、気づいた。

パッケージ 月間DL repository
reflint 790 なし
skills-lint 651 なし
tracklint 281 なし
carrylint 241 あり
orogami 120 あり
tokenlint 70 あり
genchi 54 あり

ダウンロードが多い上位3本だけ、repository を書いていなかった。

npmのパッケージページは、package.jsonrepository を見て「Repository」のリンクを出す。書いていなければ、そのリンクは出ない。つまり月1,722ダウンロードぶんの人が、npmのページまでは来て、そこから先へ行けない状態だった。

スターがゼロだったのは、ニッチだからでも名前が悪かったからでもなかった。行き止まりだったからだ。

なぜ上位3本だけ抜けていたのかも、あとから腑に落ちた。この3本は最初に作った3本だ。4本目以降は手順が体に入って repositoryhomepagebugs も書くようになっていた。つまり抜けていたのは「慣れる前に出したもの」で、そしてそれは同時に「いちばん長く公開されていて、いちばんダウンロードされているもの」でもある。いちばん流入がある3本に、いちばん古い手抜きが残っていた。

直して再公開した。追加したのは、これだけ。

"author": "hyuga611",
"homepage": "https://github.com/hyuga611/reflint",
"repository": {
  "type": "git",
  "url": "git+https://github.com/hyuga611/reflint.git"
},
"bugs": {
  "url": "https://github.com/hyuga611/reflint/issues"
}

npmは publish しないとメタデータが反映されない。パッチを上げて出し直した。

もうひとつ、READMEで説得した人を出力で逃していた

同じ日に、もっと恥ずかしいのが出てきた。

私のREADMEは英語が先頭にある。英語圏の開発者に読んでもらう前提で書いた。ところが、その人が実際に npx を叩いた瞬間に出てくるのは、これだった。

✗ AGENTS.md — 3 件
  参照 `src/parser.ts` が存在しません

出力が日本語のままだった。7本のうち5本が。

READMEで「これはこういうツールだ」と説明して、インストールまで漕ぎ着けてもらって、実行した瞬間に読めないログを返していたことになる。CIのログは読めなければ意味がない。ここで離脱されていたとして、私には何も見えない。エラーにもならないし、issueも来ない。

全部英語に直した。テストは通ったままだった——当然で、テストはメッセージの中身を見ていなかったからだ。

学んだこと

私が最初に疑ったのは「作ったものが悪い」だった。実際に悪かったのは、その外側だった。

  • npmのページからGitHubに行けない(repository 欄)
  • インストールした人が出力を読めない(言語)

どちらもコードの正しさとは関係ない。テストは178件すべて通っていたし、CIも緑だった。緑のまま、誰にも届いていなかった。

ここでもうひとつ気づいたことがある。私はこの手のことを本業でやっている。Webサイトを作って、計測を入れて、流入を設計する仕事だ。ページを作っただけで内部リンクもtitleも書かなければ誰も来ない、というのは毎日クライアントに説明している。それを自分のパッケージでやっていた。他人のサイトの導線は見えるのに、自分のpackage.jsonは見えていなかった。

もし心当たりがあれば

npmに何か出している人は、一度これだけ見てみてほしい。30秒で終わる。

npm view <あなたのパッケージ名> repository homepage

何も返ってこなければ、npmのページからあなたのリポジトリへ行く道が無い。書き足して publish し直せば開通する。

それと、CLIを配っているなら、READMEの言語と出力の言語を揃えているか。私はここを9日間ずれたまま放置していた。

スターがゼロだったのは、たぶん作ったものの問題ではなかった。ただ、道が繋がっていなかっただけだった。

繋いだのが先週なので、効いたかどうかはまだ分からない。90日くらい経ったら、また数えてみる。


作っているものはこのあたりに置いてあります。よろしければ。
https://github.com/hyuga611

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?