mooncake_impact_factor

mooncake_impact_factor は、エコシステムがどれだけ依存しているかで MoonBit レジストリのパッケージを順位付けします。被依存数、最近の被依存数、ダウンロード数、リリース日から各パッケージを評価し、スコアにランクとモメンタムの区分を付け、結果を Web アプリケーションで検索・絞り込みできるようにします。アプリケーションはローカルで SQLite に対して動かすことも、静的サイトとして動かすこともできます。

このマニュアルはモジュール Luna-Flow/mooncake-impact-factor のバージョン 0.1.2 を説明します。

パッケージ

この MoonBit モジュールには 3 つのパッケージがあります。それぞれに API リファレンス、チュートリアル、設計ノートがあります。

パッケージ用途ページ
scoreインパクトスコア、ランクラベル、モメンタムラベル、スコアスナップショット。API · チュートリアル · 設計
cliJSON ファイルからスコアスナップショットを計算する JavaScript のコマンド。Python のインデックスビルダーが使います。API · チュートリアル · 設計
static_search静的モードのブラウザー検索のバージョンタグとテキスト正規化。API · チュートリアル · 設計

リポジトリの残りは MoonBit ではありません。scripts/ にある Python のインデックスビルダーと静的エクスポーター、app/、frontend/src/、lib/ にある Next.js アプリケーションです。これらの組み合わせ方は アーキテクチャガイド で示しています。

ガイド

  • 入門: データベースを構築し、Web アプリケーションを動かし、HTTP API に問い合わせます。
  • アーキテクチャ: レジストリからブラウザーまでのデータパイプラインと、どのファイルがどの規則を持つか。
  • 規約: このリポジトリ固有のドキュメント規則。

読み進め方

ランキングを見たい。 入門 に従ってデータベースを構築し Web アプリケーションを開いたら、score チュートリアル で数値の意味を確認してください。

MoonBit でスコアを使いたい。 score チュートリアル から始め、score API を手元に置いてください。呼び出し側が MoonBit でない場合は cli チュートリアル を使います。

モデルや検索を変更したい。 式の導出と不変条件は score の設計、ブラウザーのインデックスと順位付けは static_search の設計、シグナルの数え方は アーキテクチャガイド を読んでください。実行すべきチェックはリポジトリの CONTRIBUTING.md に一覧があります。

インストール

moon add Luna-Flow/mooncake-impact-factor@0.1.2

次に、必要なパッケージを moon.pkg でインポートします(例: "Luna-Flow/mooncake-impact-factor/score")。score はすべてのターゲットでビルドでき、cli と static_search は JavaScript ターゲット専用です。

ツールチェーン

  • moonc 0.10 以降の MoonBit。モジュールは moon.mod と moon.pkg のマニフェスト形式を使います。
  • cli と Web アプリケーションの実行に Node.js 20.16、22.3 以降。
  • インデックスビルダーと静的エクスポーターに Python 3。

範囲

ランキングはレジストリインデックスのローカルコピーと、任意で取得する mooncakes.io のダウンロード数に基づきます。MoonBit エコシステムの公式なランキングではなく、より新しいスナップショットからデータベースを作り直すたびに変わります。