このプロジェクトについて

Gruntwork Runbooksは、Electronで構築されたオープンソースのクロスプラットフォームデスクトップアプリケーションであり、インフラストラクチャの専門家が知識をインタラクティブで分かりやすいランブック文書としてコード化することで、運用ノウハウをスケールさせることを支援するように設計されています。このアプリケーションはReactコンポーネントを埋め込んだMDX文書をレンダリングし、ローカルスクリプトの実行、AWSおよびGitHub認証の管理、コードリポジトリのクローン、テンプレートからのファイル生成を含むガイド付き実行ワークフローをサポートしているため、ユーザーは散在するコマンドを覚えることなく標準化された運用ステップに従うことができます。このプロジェクトは現在単一の作者によって開発されており、まだ徹底的なピアレビューを受けていません。メンテナーは、問題報告や修正のためのプルリクエストを含むコミュニティの貢献を歓迎しています。このツールはアプリケーション起動時に存在するすべての環境変数を用いてユーザーのローカルマシン上で直接コマンドを実行するため、セキュリティは中核的な設計上の考慮事項です。公式ガイダンスでは、信頼できないランブックには任意のスクリプトが含まれている可能性があるため、ユーザーは信頼できるソースからのランブックのみを開くべきであると明示されています。組み込みの保護機能には、許可されるコマンドとスクリプトをランブック内で定義されたものに制限する実行可能レジストリ、型付きcontextBridge IPC APIを介してメインプロセスと通信するサンドボックス化されたElectronレンダラープロセス、攻撃対象領域を減らすためのレンダラーからの直接的なNode.jsアクセスの禁止が含まれます。主要なデスクトッププラットフォーム向けのビルド済みインストールパッケージが用意されています。macOSユーザーは.dmgファイルをダウンロードでき、Linuxユーザーは.AppImageまたは.debパッケージを選択でき、Windowsユーザーは.exeインストーラーをダウンロードできます。これらはすべてプロジェクトのGitHub Releasesページでホストされています。ソースからビルドするユーザーには、プロジェクトの前提条件としてmise(ツールバージョンマネージャー)とjust(コマンドランナー)が必要で、貢献者にはprek(pre-commitフックマネージャー)が任意で推奨されます。ビルドワークフローは、miseを介して固定バージョンのNode.jsとbunをインストールし、bun installで依存関係をインストールし、just buildでElectronアプリをビルドし、just packageで現在のプラットフォーム向けにパッケージ化するという流れです。開発モードはjust devで開始でき、Reactのホットモジュールリプレースメントとメインプロセスのウォッチ再ビルドが有効になります。また、just dev-runbookで特定のランブックファイルに対してアプリを起動できます。組み込みのjustコマンドは、Vitestユニットテスト、Playwrightエンドツーエンドテスト、oxlintコードチェック、tsc型チェックを含む開発ライフサイクル全体をカバーしています。このプロジェクトは、アクセシブルで実績のあるUIコンポーネントのためにshadcn/uiを使用しており、公式のshadcn CLIを介して追加できます。追加のドキュメントとライブデモは、公式プロジェクトサイトrunbooks.gruntwork.ioで利用できます。