mooncake_impact_factor
mooncake_impact_factor は、エコシステムがどれだけ依存しているかで MoonBit レジストリのパッケージを順位付けします。被依存数、最近の被依存数、ダウンロード数、リリース日から各パッケージを評価し、スコアにランクとモメンタムの区分を付け、結果を Web アプリケーションで検索・絞り込みできるようにします。アプリケーションはローカルで SQLite に対して動かすことも、静的サイトとして動かすこともできます。
このマニュアルはモジュール Luna-Flow/mooncake-impact-factor のバージョン 0.1.2 を説明します。
パッケージ
この MoonBit モジュールには 3 つのパッケージがあります。それぞれに API リファレンス、チュートリアル、設計ノートがあります。
| パッケージ | 用途 | ページ |
|---|---|---|
score | インパクトスコア、ランクラベル、モメンタムラベル、スコアスナップショット。 | API · チュートリアル · 設計 |
cli | JSON ファイルからスコアスナップショットを計算する 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 ターゲット専用です。
ツールチェーン
moonc0.10 以降の MoonBit。モジュールはmoon.modとmoon.pkgのマニフェスト形式を使います。cliと Web アプリケーションの実行に Node.js 20.16、22.3 以降。- インデックスビルダーと静的エクスポーターに Python 3。
範囲
ランキングはレジストリインデックスのローカルコピーと、任意で取得する mooncakes.io のダウンロード数に基づきます。MoonBit エコシステムの公式なランキングではなく、より新しいスナップショットからデータベースを作り直すたびに変わります。