@mcptoolshop/housekeeping 1.4.0 → 1.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.ja.md CHANGED
@@ -1,5 +1,5 @@
1
1
  <p align="center">
2
- <a href="README.md">English</a> | <a href="README.zh.md">中文</a> | <a href="README.es.md">Español</a> | <a href="README.fr.md">Français</a> | <a href="README.hi.md">हिन्दी</a> | <a href="README.it.md">Italiano</a> | <a href="README.pt-BR.md">Português (BR)</a>
2
+ <a href="README.md">English</a> | <a href="README.ja.md">日本語</a> | <a href="README.zh.md">中文</a> | <a href="README.es.md">Español</a> | <a href="README.fr.md">Français</a> | <a href="README.hi.md">हिन्दी</a> | <a href="README.it.md">Italiano</a> | <a href="README.pt-BR.md">Português (BR)</a>
3
3
  </p>
4
4
 
5
5
  <p align="center">
@@ -21,51 +21,51 @@
21
21
  <a href="https://mcp-tool-shop-org.github.io/housekeeping/handbook/"><img src="https://img.shields.io/badge/Handbook-read-blue" alt="Handbook" /></a>
22
22
  </p>
23
23
 
24
- 1回のスキャンで、すべてのリポジトリのCIステータス、未解決の問題、プルリクエスト、リリース、バージョンタグ、ワークフローファイル、ブランチ保護、セキュリティアラート、ロックファイル、およびActionsの課金をSQLiteに収集し、次に、それらすべてを記述されたルールに対して監査します。
24
+ 1回のスキャンで、各リポジトリのCIステータス、未解決の問題、プルリクエスト、リリース、バージョンタグ、ワークフローファイル、ブランチ保護、セキュリティアラート、ロックファイル、およびActionsの課金をSQLiteに収集し、次に、それらすべてを記述されたルールに対して監査します。
25
25
 
26
- これにより、組織全体に対して、以下のことが一度に回答されます。
26
+ これにより、組織全体に対して、以下の質問に一度に回答できます。
27
27
 
28
28
  - どのデフォルトブランチが問題があり、それが壊れたメインラインまたは古い履歴ですか?
29
- - 必須のチェックが何も実行されないために、マージできないプルリクエストはどれですか?
30
- - リポジトリ自体の設定で、どのデプロイが拒否されますか?
29
+ - 必須チェックが何も実行されていないために、どのプルリクエストもマージできませんか?
30
+ - リポジトリ自体の設定で、どのデプロイが拒否されていますか?
31
31
  - `package.json`、Gitタグ、およびnpmレジストリは、どこで乖離していますか?
32
32
  - どのワークフローがActionsのコストルールに違反し、そのコストはいくらで、どのジョブがそのコストを負担しましたか?
33
- - GitHub自体のアラートカウントでは検出されないアドバイザリを保持しているリポジトリはどれですか?
33
+ - どのリポジトリが、GitHub自体のアラートカウントでは検出されないアドバイザリーを保持していますか?
34
34
 
35
35
  これは監査ツールであり、修正ツールではありません。GitHubを読み取り、何も変更しません。
36
36
 
37
- ## すべてのリポジトリにわたるエージェント
37
+ ## 各リポジトリに1つのエージェント
38
38
 
39
- 数十のリポジトリを持つ組織では、その状態が保存される単一の場所はありません。housekeepingがその場所であり、そのMCPサーバーである`hk-mcp`が、それをAIエージェントに渡します。これにより、1つのエージェントが組織全体のコーディネーターとして機能できます。
39
+ 数十のリポジトリを持つ組織では、その状態が保存されている単一の場所はありません。housekeepingがその場所であり、そのMCPサーバーである`hk-mcp`が、AIエージェントにそれを渡します。これにより、1つのエージェントが組織全体のコーディネーターとして機能できます。
40
40
 
41
- 1. **スキャン。** `hk refresh`は、すべてのリポジトリのスナップショットを1つ取得します。
42
- 2. **トリアージ。** エージェントは、何が問題があり、何がブロックされており、何が悪化しているかを尋ね、壊れたメインラインと古い履歴、および競合しているプルリクエストと停止しているプルリクエストを区別する回答を取得します。
43
- 3. **一連の処理を計画。** 1つの`hk_sql`クエリは、同じ形状を持つすべてのリポジトリを見つけ、修正を1つのリポジトリあたり1つのプルリクエストにするようにします。
44
- 4. **作業を実行。** housekeepingは書き込みを行いません。エージェントは、独自のツールと独自の権限の下で、プルリクエストを開き、レビューを行います。
45
- 5. **検証。** 再度スキャンします。問題が解決されているか、またはされていないかを確認し、2つのスナップショット間の変更はクエリになります。
41
+ 1. **スキャン。** `hk refresh`は、各リポジトリのスナップショットを1つ取得します。
42
+ 2. **トリアージ。** エージェントは、何が問題があり、何がブロックされており、何が悪化しているかを尋ね、壊れたメインラインと古い履歴、および競合が発生しているプルリクエストと停止しているプルリクエストを区別できる回答を取得します。
43
+ 3. **一連の処理を計画。** 1つの`hk_sql`クエリで、同じ形状を持つすべてのリポジトリを見つけ、修正を1つのリポジトリあたり1つのプルリクエストにすることで、修正作業が効率化されます。
44
+ 4. **作業の実行。** housekeepingは書き込みを行いません。エージェントは、独自のツールと独自の権限を使用して、プルリクエストを開き、レビューを行います。
45
+ 5. **検証。** 再度スキャンします。問題が解決されているか、またはされていないかを確認し、2つのスナップショット間の変更をクエリとして実行します。
46
46
 
47
47
  エージェントが1回の呼び出しで回答する質問:
48
48
 
49
49
  - どのデフォルトブランチが問題があり、どのジョブとステップが原因ですか?
50
- - どのプルリクエストがマージできず、トリガーまたは競合が原因ですか?
51
- - GitHubにはアラートが表示されない、本番環境のアドバイザリを保持しているリポジトリはどれですか?
52
- - スケジュールのルールに違反しているスケジュールされたワークフローはどれで、どのように違反していますか?
50
+ - どのプルリクエストもマージできず、トリガーまたは競合が原因ですか?
51
+ - どのリポジトリが、GitHubではアラートが表示されないプロダクションアドバイザリーを保持していますか?
52
+ - どのスケジュールされたワークフローがスケジュールルールに違反し、どのように違反していますか?
53
53
  - Actionsのコストはいくらで、どのジョブがそのコストを負担しましたか?
54
- - 最後のスキャンの後に何が変更されましたか?
54
+ - 最後のスキャン以降、何が変更されましたか?
55
55
 
56
56
  | ツール | 回答内容 |
57
57
  |---|---|
58
- | `hk_summary` | 最新のスキャンの合計:リポジトリ、問題、プルリクエスト、ワークフロー、検出結果。 |
58
+ | `hk_summary` | 最新のスキャンにおける合計:リポジトリ、問題、プルリクエスト、ワークフロー、検出結果。 |
59
59
  | `hk_findings` | コード、重大度、カテゴリ、またはリポジトリごとの検出結果。フィルターを適用していない場合のコードごとのカウント。問題のあるメインラインの検出結果は、問題を引き起こしたジョブとステップの名前を示します。 |
60
- | `hk_ci` | デフォルトブランチが問題のあるリポジトリと、失敗したワークフロー。また、失敗したスケジュール、失敗したプルリクエストブランチ、およびCIがないリポジトリ。 |
60
+ | `hk_ci` | デフォルトブランチが問題のあるリポジトリと、失敗したワークフロー。また、失敗したスケジュール、失敗したプルリクエストブランチ、およびCIを実行していないリポジトリ。 |
61
61
  | `hk_repo` | 完全な1つのリポジトリ:検出結果、ワークフロー、未解決のプルリクエストと問題。 |
62
62
  | `hk_backlog` | 組織全体の未解決のプルリクエストまたは問題(古いものから)。 |
63
63
  | `hk_health` | リポジトリごとの健全性スコア(最も低いものから)。 |
64
- | `hk_cost` | リポジトリ、ワークフロー、またはジョブごとのActionsの消費額(総額と純額)。 |
65
- | `hk_sql` | ウェアハウスに対する読み取り専用の1つの`SELECT`または`WITH`ステートメント。 |
64
+ | `hk_cost` | リポジトリ、ワークフロー、またはジョブごとのActionsの消費量(総額と純額)。 |
65
+ | `hk_sql` | 読み取り専用の1つの`SELECT`または`WITH`ステートメントをデータウェアハウスに対して実行します。 |
66
66
  | `hk_schema` | `hk_sql`クエリを記述するためのテーブルと列。 |
67
67
 
68
- すべての回答は、開いてある読み取り専用の最新のスナップショットから取得されます。失敗した呼び出しは、構造化されたエラーを返し、スタックトレースは返しません。
68
+ すべての回答は、最新のスナップショットから取得され、読み取り専用で開かれます。失敗した呼び出しは、構造化されたエラーを返し、スタックトレースは返しません。
69
69
 
70
70
  ### 接続
71
71
 
@@ -82,12 +82,13 @@
82
82
 
83
83
  ## housekeepingとAtlas
84
84
 
85
- [Atlas](https://github.com/dogfood-lab/testing-os/tree/main/packages/atlas)(`@dogfood-lab/atlas`)は、1つのリポジトリをマッピングします。その構成要素と、すべてのワークフロー、実行内容、公開内容、およびデプロイ内容です。このマップは、`atlas/`としてコミットされ、CIでチェックインされます。housekeepingは組織全体のビューです。これら2つは連携して動作するように構築されています。
85
+ [Atlas](https://github.com/dogfood-lab/testing-os/tree/main/packages/atlas)
86
+ (`@dogfood-lab/atlas`)は、あるリポジトリ、つまりその構成要素と、ワークフローが実行、公開、デプロイする内容をマッピングします。このマッピングは、`atlas/`としてコミットされ、CIでチェックインされます。ハウスキーピングは、組織の視点です。これら2つは、連携して機能するように設計されています。
86
87
 
87
- - **すべてのマップをスキャン。** スキャンは、各リポジトリのコミットされたマップと、その他のすべての情報を読み取り、マップがないリポジトリ、`atlas check`を実行していないリポジトリ、および組織の残りの部分がピンしているものとは異なるエンジンを保持しているリポジトリを報告します。
88
- - **問題のある実行がどこで発生したか。** デフォルトブランチが問題がある場合、検出結果は、失敗したジョブとステップの名前を示し、マップを通じて、そのステップが実行するコマンドを示します。したがって、修正は適切なファイルから開始されます。
89
- - **マップからのデプロイメントの事実。** ジョブがデプロイする環境は、マップに記録されている環境から取得されるため、両方のツールはワークフローを同じように読み取ります。
90
- - **フリート全体のアラート。** Atlasは、実行前に問題が発生するワークフローステップ(たとえば、ジョブがインストールするよりも新しいランタイムを必要とするツール)をフラグします。レポートは、これらをすべてのリポジトリに対して一度にリストします。
88
+ - **すべてのマップをスキャン。** スキャンは、各リポジトリのコミットされたマップと、その他のすべての情報を読み取り、どのリポジトリにマップがないか、どのリポジトリが`atlas check`を実行していないか、およびどのリポジトリが、組織の残りの部分で使用されているものとは異なるエンジンを保持しているかを報告します。
89
+ - **問題のある実行がどこで発生したか。** デフォルトブランチに問題がある場合、検出結果は、問題を引き起こしたジョブとステップの名前を示し、マップを通じて、そのステップが実行するコマンドも示されるため、修正は適切なファイルから開始できます。
90
+ - **マップからのデプロイメントの事実。** ジョブがデプロイする環境は、マップに記録されている環境から取得されるため、両方のツールはワークフローを同じ方法で読み取ります。
91
+ - **フリート全体での警告。** Atlasは、実行前に問題が発生するワークフローステップ(たとえば、ジョブがインストールするよりも新しいランタイムを必要とするツール)をフラグします。レポートには、これらがすべてのリポジトリに対して一度にリストされます。
91
92
 
92
93
  両方のサーバーを持つエージェントは、「これらの12個のリポジトリがブロックされています」(housekeeping)から、「これはワークフロー、ジョブ、および変更が到達するファイルです」(Atlas)へと移行し、各リポジトリを手動で開く必要はありません。
93
94
 
@@ -96,25 +97,25 @@
96
97
  | レイヤー | 選択 | 理由 |
97
98
  |---|---|---|
98
99
  | トランスポート | `gh` CLI | すでにトークンを保持しています。ツールは、認証情報を保存または要求しません。 |
99
- | 収集 | GitHub GraphQL、ページング | 1つのクエリは、リポジトリのページに対して、メタデータ、未解決の問題、未解決のプルリクエスト、リリース、およびファイルツリーを返します。タイムアウトし続けるページは半分に分割され、同じカーソルから再要求されます。 |
100
+ | 収集 | GitHub GraphQL、ページング | 1つのクエリは、リポジトリのページに関するメタデータ、未解決の問題、未解決のプルリクエスト、リリース、およびファイルツリーを返します。タイムアウトが発生し続けるページは、半分に分割され、同じカーソルから再要求されます。 |
100
101
  | Actionsの実行 | REST | GraphQLにはActionsのインターフェースはありません。 |
101
- | アクションにはコストがかかる | 請求 API に加えて、ジョブごとの実行時間 | 請求書にはどのリポジトリが記載されており、ジョブにはどのワークフローが記載されているか。GitHub の `/timing` エンドポイントは 0 を返すため、ジョブごとの合計が再計算され、その後、請求書と照合される。 |
102
- | ランナーの料金 | 請求書から読み取る | 請求される料金は、リスト価格と異なる場合があり、ソースコード内の定数はすべての数値を誤って表示する。 |
103
- | ストレージ | 組み込みの `node:sqlite` を使用した SQLite | ネイティブのビルドステップはない。 |
104
- | 信頼できる情報源 | `data/snapshots/*.json` | 生のデータで、差分を比較でき、追加のみが可能。データベースはそこから派生する:`npm run rebuild` はオフラインで再構築する。 |
105
- | スウィープログ | `data/sweeps.jsonl` | 1行に1つのスウィープを記録。失敗したスウィープと、新しいものが見つからなかったスウィープも含む。 |
102
+ | Actionsのコスト | 課金APIと、ジョブごとの期間 | 請求書にはどのリポジトリが記載されており、どのワークフローが実行されたかはジョブにのみ記載されます。GitHubの`/timing`エンドポイントはゼロを返します。そのため、ジョブごとの合計が再計算され、その後、請求書と照合されます。 |
103
+ | ランナー料金 | 請求書から読み取ります | 請求される料金は、リスト価格と異なる場合があり、ソースコード内の定数はすべての数値を誤って表示します。 |
104
+ | ストレージ | 組み込みの`node:sqlite`を通じてSQLiteにアクセスします | ネイティブのビルドステップはありません。 |
105
+ | 信頼できる情報源 | `data/snapshots/*.json` | 生のデータで、差分を比較でき、追加のみ可能です。データベースはそこから派生します。`npm run rebuild`はオフラインでデータベースを再構築します。 |
106
+ | スキャンログ | `data/sweeps.jsonl` | 1回のスキャンにつき1行。失敗したスキャンと新しい情報が見つからなかったスキャンも含まれます。 |
106
107
 
107
- スナップショットは不変で累積的であるため、2つの日付間のドリフトは `JOIN` である。
108
+ スナップショットは不変で累積的であるため、2つの日付間のドリフトは`JOIN`です。
108
109
 
109
110
  ## 要件
110
111
 
111
- - Node.js 22.5 or later.
112
- - The [GitHub CLI](https://cli.github.com/), signed in (`gh auth status`) as an
113
- account that can read the organization. Reading billing and security alerts
114
- needs the matching access; a sweep without it records "not measured" and
115
- carries on. It never records a missing permission as a clean result.
116
- - Windows or Linux. It is developed on Windows and its tests run on Linux in
117
- CI. macOS should work and is not tested.
112
+ - Node.js 22.5 以降。
113
+ - [GitHub CLI]([https://cli.github.com/])に、[`gh auth status`]としてログイン
114
+ 組織の情報を閲覧できるアカウント。請求書やセキュリティアラートの確認が可能。
115
+ 対応するアクセス権が必要です。そうでない場合、測定を行っても「測定不能」と記録されます。
116
+ 処理を続行します。必要な権限が見つからない場合でも、エラーとして記録することはありません。
117
+ - WindowsまたはLinux。開発はWindowsで行い、テストはLinux上で実行します。
118
+ CIの機能であるmacOSは動作するはずですが、テストは行われていません。
118
119
 
119
120
  ## 使用方法
120
121
 
@@ -124,9 +125,9 @@ mkdir warehouse && cd warehouse # housekeeping keeps its data here
124
125
  hk refresh your-org # collect, load, analyze, write reports/AUDIT-<date>.md
125
126
  ```
126
127
 
127
- スウィープ間で設定を保持するには、そのディレクトリに `housekeeping.config.json` を配置する(構成を参照)。その後、`hk refresh` に引数は不要。
128
+ スキャン間で設定を保持するには、そのディレクトリに`housekeeping.config.json`を配置します(構成を参照)。その後、`hk refresh`には引数が必要ありません。
128
129
 
129
- または、クローンから実行すると、そのデータはクローンに保存される。
130
+ または、クローンから実行すると、そのデータはクローンに保存されます。
130
131
 
131
132
  ```bash
132
133
  git clone https://github.com/mcp-tool-shop-org/housekeeping.git
@@ -137,7 +138,7 @@ cp housekeeping.config.example.json housekeeping.config.json # then set "org"
137
138
  hk refresh
138
139
  ```
139
140
 
140
- 次に、クエリを実行する。
141
+ 次に、クエリを実行します。
141
142
 
142
143
  ```bash
143
144
  hk summary # portfolio totals
@@ -146,6 +147,8 @@ hk findings # findings grouped by severity and code
146
147
  hk health # per-repository health score, worst first
147
148
  hk repo <name> # one repository in full
148
149
  hk prs # every open pull request by age
150
+ hk branches # branches by state: merged, moved after merge, no PR
151
+ hk watch # open PRs, alerts and branches for a short watch list
149
152
  hk versions # package.json against git tag against npm
150
153
  hk actions # every workflow and its rule flags
151
154
  hk cost # Actions cost, gross and net side by side
@@ -153,17 +156,17 @@ hk sql "SELECT ..." # one read-only statement
153
156
  hk help # every command and flag
154
157
  ```
155
158
 
156
- `npm link` がないクローンでは、各 `hk <command>` は `node src/cli.mjs <command>` である。
159
+ `npm link`がないクローンでは、各`hk <command>`は`node src/cli.mjs <command>`です。
157
160
 
158
- `npm run rebuild` は、ディスク上の既存のスナップショットからデータベースとレポートを再派生させ、ネットワークアクセスは行わない。
161
+ `npm run rebuild`は、ディスク上の既存のスナップショットからデータベースとレポートを再派生させ、ネットワークアクセスは行いません。
159
162
 
160
- 完全なスウィープでは、数百回の API 呼び出しが行われる。`refresh` をループで実行しないこと。
163
+ 完全なスキャンでは、数百回のAPI呼び出しが行われます。`refresh`をループで実行しないでください。
161
164
 
162
- 結果は標準出力に出力され、進行状況とエラーは標準エラーに出力される。すべてのエラーには、コードとヒントが出力される。終了コード:0(正常)、1(ユーザーエラー)、2(実行時エラー)、3(部分的 - スウィープは完了したが、ギャップがある)。
165
+ 結果は標準出力に出力され、進行状況とエラーは標準エラーに出力されます。すべてのエラーには、コードとヒントが出力されます。終了コード:0(正常)、1(ユーザーエラー)、2(実行時エラー)、3(部分的な完了 - スキャンは完了しましたが、ギャップがあります)。
163
166
 
164
167
  ## 構成
165
168
 
166
- `housekeeping.config.json` は、ハウスキーピングが実行されるディレクトリにある(下記参照)。
169
+ ハウスキーピングが実行されるディレクトリにある`housekeeping.config.json`(下記参照):
167
170
 
168
171
  ```json
169
172
  {
@@ -172,56 +175,56 @@ hk help # every command and flag
172
175
  }
173
176
  ```
174
177
 
175
- - `org` は、スウィープする組織である。`hk refresh <org>` でオーバーライドできる。どちらも指定されていない場合、スウィープは開始されない。
176
- - `metaRepos` は、組織のデフォルト、アセット、またはツールを格納するリポジトリであり、出荷される製品ではない。これらは、製品にのみ意味がある結果(README、LICENSE などのファイルがない、ワークフローがない、リリースがない)から除外される。
178
+ - `org`はスキャンする組織です。`hk refresh <org>`でオーバーライドできます。どちらも指定されていない場合、スキャンは開始されません。
179
+ - `metaRepos`は、組織のデフォルト、アセット、またはツールを保持するリポジトリであり、出荷される製品ではありません。これらは、製品にのみ意味がある結果(README、LICENSEなどのファイルがない、ワークフローがない、リリースがない)から除外されます。
177
180
 
178
- 形式が正しくないファイルはエラーであり、サイレントなデフォルトになることはない。不明なキー、誤った型、または破損した JSON は、実行を停止させる。
181
+ 形式が正しくないファイルはエラーであり、サイレントなデフォルトになることはありません。不明なキー、誤った型、または破損したJSONは、実行を停止します。
179
182
 
180
- クローンから実行すると、ハウスキーピングは `data/`、`reports/`、および構成ファイルをクローンに保存する。インストールされたパッケージとして実行すると、実行するディレクトリまたは `HK_HOME`(設定されている場合)に保存する。
183
+ クローンから実行すると、ハウスキーピングは`data/`、`reports/`、および構成ファイルをクローンに保持します。インストールされたパッケージとして実行すると、実行するディレクトリまたは`HK_HOME`(設定されている場合)に保持されます。
181
184
 
182
- 環境:`HK_HOME`(データ、レポート、および構成が保存される場所)、`HK_CONFIG`(構成パス)、`HK_DB`(データベースパス)、`HK_LOG`(`silent`、`normal`、`verbose`、または `debug`)、`HK_COST_REPOS`、および `HK_COST_BUDGET`(ジョブごとのコストの制限)、`GH_PATH`(`gh` へのパス)。
185
+ 環境:`HK_HOME`(データ、レポート、および構成が保存される場所)、`HK_CONFIG`(構成パス)、`HK_DB`(データベースパス)、`HK_LOG`(`silent`、`normal`、`verbose`、または`debug`)、`HK_COST_REPOS`、および`HK_COST_BUDGET`(ジョブごとのコストの範囲)、`GH_PATH`(`gh`へのパス)。
183
186
 
184
187
  ## データを非公開に保つ
185
188
 
186
- **スウィープによって書き込まれる内容は機密情報である。`data/` または `reports/` をパブリックリポジトリにコミットしないこと。**
189
+ **スキャンによって書き込まれる内容は機密情報です。`data/`または`reports/`をパブリックリポジトリにコミットしないでください。**
187
190
 
188
- スナップショットには、プライベートリポジトリの名前と説明、パッケージ名を含むすべての開いているセキュリティアラート、ワークフローファイル、および Actions の請求情報が記録される。GitHub は、パブリックリポジトリのセキュリティアラートを、そのリポジトリのメンテナー以外のすべてのユーザーから意図的に非表示にする。公開されたスナップショットは、そのリストを公開することになる。
191
+ スナップショットには、プライベートリポジトリの名前と説明、パッケージ名とともに開いているすべてのセキュリティアラート、ワークフローファイル、およびActionsの請求情報が記録されます。GitHubは、意図的にパブリックリポジトリのセキュリティアラートを、そのリポジトリのメンテナー以外のすべてのユーザーから隠します。公開されたスナップショットは、そのリストを公開することになります。
189
192
 
190
- このリポジトリの `.gitignore` は、`data/`、`reports/`、および `housekeeping.config.json` を除外する。履歴を保持することがスナップショットの目的であるため、独自の**プライベート**リポジトリからツールを実行し、そこにコミットすること。
193
+ このリポジトリの`.gitignore`は、`data/`、`reports/`、および`housekeeping.config.json`を除外します。履歴を保持することがスナップショットの目的であるため、独自の**プライベート**リポジトリからツールを実行し、そこにコミットしてください。
191
194
 
192
195
  ## 検出結果
193
196
 
194
- ルールは `src/analyze.mjs` にある。各ルールは、適用する書面によるルールを参照するため、検出結果は、好みに基づいてではなく、標準に基づいて議論できる。このリポジトリに同梱されているルールは、[`rules/`](rules/) にある。
197
+ ルールは`src/analyze.mjs`に保存されます。各ルールは、適用するルールを引用するため、検出結果は標準に対して議論可能であり、個人の好みに基づくものではありません。このリポジトリに同梱されているルールは、[`rules/`](rules/)にあります。
195
198
 
196
199
  - [`rules/github-actions.md`](rules/github-actions.md):パスフィルター、ランナー、マトリックスサイズ、ワークフローファイルの制限、同時実行。
197
- - [`rules/shipcheck-product-standards.md`](rules/shipcheck-product-standards.md):CI はパスする必要がある、出荷ゲート、バージョン。
200
+ - [`rules/shipcheck-product-standards.md`](rules/shipcheck-product-standards.md):CIは合格している必要がある、出荷ゲート、バージョン。
198
201
  - [`rules/repo-first.md`](rules/repo-first.md):デフォルトブランチ。
199
- - [`rules/atlas-map.md`](rules/atlas-map.md):各リポジトリのコミットされたマップ。CI でチェックされる。
202
+ - [`rules/atlas-map.md`](rules/atlas-map.md):各リポジトリのコミットされたマップ。CIでチェックされます。
200
203
 
201
- これらは、ある組織の標準である。異なる場合は、ルールファイルとルールを一緒に変更する。
204
+ これらは、ある組織の標準です。異なる場合は、ルールファイルとルールを一緒に変更してください。
202
205
 
203
- ルールは、似たもの同士を区別するように注意している。なぜなら、それらをまとめてしまうとノイズが発生するからである。
206
+ ルールは、似たもの同士を区別するように注意深く設計されています。それらをまとめてしまうと、ノイズが発生するからです。
204
207
 
205
- - **赤いデフォルトブランチは、赤いプルリクエストブランチではありません。** 失敗した Dependabot ブランチはバックログであり、デフォルトブランチで失敗した `push` の実行は問題を引き起こします。どちらであるかは、実行のイベントによって決まります。
206
- - **履歴は問題ではありません。** リリース専用のトリガーに移動したワークフローは、最後のデフォルトブランチでの失敗を永久に保持します。削除されたワークフローは、その実行を保持します。どちらも現在の欠陥ではありません。
207
- - **実行できないチェックは、ここで実行されなかったチェックではありません。** 一方は、要件を削除すると言います。もう一方は、トリガーを修正すると言います。これらの修正は互いに矛盾します。
208
- - **トリガーがスキップしたプルリクエストは、競合しているプルリクエストではありません。** GitHub は、競合のあるプルリクエストに対してプルリクエストワークフローを実行しないため、欠落しているチェックはトリガーについて何も意味しません。これは、リベースが必要です。
209
- - **失敗した実行は、キャンセルされた実行ではありません。** `cancel-in-progress` は、古い実行を終了させるために存在するため、キャンセルされた時間は通常、同時実行ルールの動作によるものです。
210
- - **総コストは、純コストではありません。** GitHub は、パブリックリポジトリに対して全額料金を請求し、それをゼロに割引します。総コストは実際の計算量であり、純コストは実際の費用です。これらは決して合計されません。
211
- - **測定されていないものは、問題ありません。** GitHub がスキャンしていないリポジトリは、アラートをゼロとして報告します。コストの計算に達していないリポジトリは、コストの行を持ちません。どちらも不明として報告されます。
208
+ - **デフォルトの赤いブランチは、赤いプルリクエストのブランチではありません。** 依存関係の更新に失敗した Dependabot のブランチは、未処理のタスクです。デフォルトブランチで `push` の実行が失敗した場合、それは問題です。どちらであるかは、実行イベントによって決まります。
209
+ - **履歴は問題ではありません。** リリース専用のトリガーに移行したワークフローは、デフォルトブランチでの最後の失敗を永久に保持します。削除されたワークフローは、その実行履歴を保持します。どちらも、現在の欠陥ではありません。
210
+ - **実行できないチェックは、ここで実行されなかったチェックではありません。** 片方は、その要件を削除すべきだと言い、もう片方は、トリガーを修正すべきだと言います。これらの修正は、互いに矛盾しています。
211
+ - **トリガーがスキップしたプルリクエストは、競合が発生したプルリクエストではありません。** GitHub は、競合が発生しているプルリクエストに対して、プルリクエストのワークフローを実行しません。そのため、欠落しているチェックは、トリガーについて何も示唆しません。この場合は、リベースが必要です。
212
+ - **失敗した実行は、キャンセルされた実行ではありません。** `cancel-in-progress` は、古い実行を終了させるために存在します。そのため、キャンセルされた時間は、通常、同時実行ルールが機能していることを示します。
213
+ - **総コストは、純コストではありません。** GitHub は、パブリックリポジトリを定価で計測し、割引を適用してゼロにします。総コストは実際の計算資源であり、純コストは実際の費用です。これらは決して合計されません。
214
+ - **計測されていないものは、問題ありません。** リポジトリ GitHub は、スキャンレポートでゼロ件の警告を表示していません。コストのチェックに達しなかったリポジトリには、コストの行がありません。どちらも、不明として報告されます。
212
215
 
213
- 重大度によって健全性スコアが決まります。重大なものは 40、高いものは 15、中程度のものは 6、低いものは 2、情報提供のみのものは 0 で、これらはすべて 100 から差し引かれます。スコアは品質ではなく、優先度を示します。
216
+ 重大度は、ヘルススコアを決定します。重大なものは40、高いものは15、中程度のものは6、低いものは2、情報提供のみのものは0であり、100から差し引かれます。スコアは、品質ではなく、注意の優先順位を示します。
214
217
 
215
- [ハンドブック](https://mcp-tool-shop-org.github.io/housekeeping/handbook/) には、すべての検出結果、コマンド、エラーコード、およびテーブルがリストされています。
218
+ [ハンドブック](https://mcp-tool-shop-org.github.io/housekeeping/handbook/)には、すべての調査結果、コマンド、エラーコード、およびテーブルが記載されています。
216
219
 
217
220
  ## セキュリティ
218
221
 
219
- - **読み取り専用。** コレクターは GraphQL クエリと REST `GET` を発行します。マージ、プッシュ、リリース、公開、または設定の編集は行いません。
220
- - **認証情報なし。** 認証は、`gh` がすでに保持しているものを使用します。それに関する情報はディスクに書き込まれません。
221
- - **テレメトリなし。** 連絡するホストは、`gh` を介した GitHub API と、バージョンおよびアドバイザリの検索のための npm レジストリのみです。
222
- - **保存する内容** が機密性の高い部分です。「データのプライバシーを維持する」を参照してください。
222
+ - **読み取り専用。** コレクターは、GraphQL個のクエリとREST `GET`を送信します。設定をマージ、プッシュ、リリース、公開、または編集することはありません。
223
+ - **認証情報なし。** 認証は、`gh`ですでに保持されているものを使用します。それに関する情報はディスクに書き込まれません。
224
+ - **テレメトリなし。** 連絡するホストは、`gh`を通じてGitHub APIにアクセスし、バージョンとアドバイザリを検索するためにnpmレジストリにアクセスするだけです。
225
+ - **保存する内容**が機密性の高い部分です。「データを非公開に保つ」を参照してください。
223
226
 
224
- [SECURITY.md] に説明されているように、脆弱性を報告してください。
227
+ 脆弱性を[SECURITY.md](SECURITY.md)に記載されている方法で報告してください。
225
228
 
226
229
  ## テスト
227
230
 
@@ -229,12 +232,12 @@ hk help # every command and flag
229
232
  npm test
230
233
  ```
231
234
 
232
- すべてのルールは、両方向でテストされます。つまり、トリガーされるべき形状と、トリガーされるべきでない隣接する形状です。別の検証ツールは、独自のトランスポートを介して、ライブ GitHub から検出結果のサンプルを再計算し、データベースまたはネットワークがない場合は、エラーを発生させます。
235
+ すべてのルールは、両方向でテストされます。つまり、トリガーされるべき形状と、トリガーされるべきでない隣接する形状です。別の検証ツールは、独自のトランスポートを通じて、ライブのGitHubから調査結果のサンプルを再生成し、データベースまたはネットワークがない場合は、エラーメッセージを大きく表示します。
233
236
 
234
237
  ## ライセンス
235
238
 
236
- MIT。 [LICENSE](LICENSE) を参照してください。
239
+ MIT。 [LICENSE](LICENSE)を参照してください。
237
240
 
238
241
  ---
239
242
 
240
- <a href="https://mcp-tool-shop.github.io/">MCP Tool Shop</a> によって作成されました。
243
+ <a href="https://mcp-tool-shop.github.io/">MCP Tool Shop</a>によって作成されました。
package/README.md CHANGED
@@ -177,6 +177,8 @@ hk findings # findings grouped by severity and code
177
177
  hk health # per-repository health score, worst first
178
178
  hk repo <name> # one repository in full
179
179
  hk prs # every open pull request by age
180
+ hk branches # branches by state: merged, moved after merge, no PR
181
+ hk watch # open PRs, alerts and branches for a short watch list
180
182
  hk versions # package.json against git tag against npm
181
183
  hk actions # every workflow and its rule flags
182
184
  hk cost # Actions cost, gross and net side by side