github-reporadar 0.2.1 → 0.6.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/DESIGN.md CHANGED
@@ -51,13 +51,22 @@ RepoRadarは自分のGitHubを一晩ぶん眺める道具です。画面は暗
51
51
 
52
52
  | 色 | 意味 | 値 |
53
53
  |---|---|---|
54
- | 緑`emerald-400` | 動いている。最終pushが7日以内。選択・成功・主操作のhover | `#34d399` |
55
- | 黄`amber-400` | 止まりかけ。8〜14日。Bookmarkの★ | `#fbbf24` |
56
- | 赤`rose-400` | 止まった。15〜30日。破壊的操作のhover、エラー | `#fb7185` |
57
- | グレー3段 | 31日以降。`slate-300` → `slate-400` → `fg-faint`。すべて文字としてAAを満たす | — |
54
+ | 緑`emerald-400` | 動いている。最終pushが7日以内。選択・成功・主操作のhover | `#00d492` |
55
+ | 黄`amber-400` | 止まりかけ。8〜14日。Bookmarkの★ | `#ffb900` |
56
+ | 赤`rose-400` | 止まった。15〜30日。破壊的操作のhover、エラー。受信箱の未読 | `#ff637e` |
57
+ | 紫`violet-400` | マージ済み。コミット文が指すPRが取り込まれている | `#a684ff` |
58
+ | グレー3段 | 31日以降。`slate-300`(`#cad5e2`) → `slate-400`(`#90a1b9`) → `fg-faint`。すべて文字としてAAを満たす | — |
59
+
60
+ コミット文の`(#1419)`は、GitHubと同じ意味づけで色を分けます。マージ済みが紫、まだ開いているものが緑、閉じたものが赤です。状態が分からない番号には色を付けません(緑にすると「開いている」と嘘になる)。色だけに頼らないよう、`title`に「マージ済み」などの言葉を入れています。
61
+
62
+ 値はTailwind v4のパレットをsRGBに落としたものです。v4のパレットはoklchで定義されていてsRGBの外に出る色があるため、v3までの16進値(`#34d399`など)とは一致しません。計算値も`oklch()`のまま出るので、コントラストを測るときは色文字列をブラウザ自身に解かせます(`scripts/design/contrast.mjs`)。
58
63
 
59
64
  信号色は文字と点に使い、面には使いません。面に色を敷くときは`/10`以下の透過で、色の名残だけを置きます(`bg-emerald-400/[0.06]`など)。
60
65
 
66
+ 例外は件数を包む小さな札です(受信箱の未読、Wiki要確認)。`bg-<色>-400/15`の上に`text-<色>-300`を置きます。面ではなく数字の背にある印なので、色の名残より少し強くします。実測は受信箱の赤が8.5、Wiki要確認の黄が10.3。札より大きい面にこの濃さを使いません。
67
+
68
+ 受信箱の未読の件数だけ赤を使います。鮮度の赤(止まった)とは別の意味ですが、未読は「見に行く先がある」ことを一目で示す必要があり、他の札に紛れないのがこちらの色でした。ベルの絵を添えて、色だけに頼らないようにしています。赤は件数の札だけに留めます。一覧の行まで赤くすると、全部が異常に見えました(キャプチャで判断)。
69
+
61
70
  ### 縁
62
71
 
63
72
  装飾の縁と、操作部品の縁を分けます。カードや区切り線は`border-line`。入力欄・textarea・select・ボタン・ボタンに見えるリンクは`border-line-strong`。後者は「そこが押せる」と分かるための境界なので3:1が要ります。前者は静かなほど良い。
package/README.md CHANGED
@@ -233,6 +233,64 @@ launchdは対話シェルの`PATH`を継がないので、`install.sh`が実行
233
233
 
234
234
  新しい版は次の11:00の起動から自動で使われます。すぐ入れ替えたいときだけ`restart`します。
235
235
 
236
+ ### Confluenceとの齟齬を出す(Atlassian連携)
237
+
238
+ ページを書いたあとに実装が進んだものを「Wiki要確認」として出します。自分が関わったページを取り、本文と題に出てくるrepo名を拾い、そのrepoのpushがページ更新より新しければ挙げます。
239
+
240
+ 前提はこうです。値そのものは実装が正で、ページはその意図と使い方を書く場所です。だから食い違いが出たときに直す先はページのほうです。押すとそのページが開きます。
241
+
242
+ トークンはファイルに置かず、macOSのキーチェーンから実行時に取ります(`gh`と同じ考え方)。JiraとConfluenceは同じサイトと同じトークンを使います。
243
+
244
+ ```bash
245
+ # 1. Atlassianでトークンを作る
246
+ open https://id.atlassian.com/manage-profile/security/api-tokens
247
+
248
+ # 2. キーチェーンに入れる(<>は置き換える)
249
+ security add-generic-password -s github-reporadar-atlassian -a "<メールアドレス>" -w "<APIトークン>"
250
+
251
+ # 3. 設定に足す
252
+ cat >> ~/.config/github-reporadar/workday.env <<'ENV'
253
+ RR_ATLASSIAN_SITE=example.atlassian.net
254
+ RR_ATLASSIAN_EMAIL=me@example.com
255
+ ENV
256
+ ```
257
+
258
+ `RR_CONFLUENCE_SPACES="EXAM OTHER"`でスペースを絞れます。省略すると自分が関わった全ページです。
259
+
260
+ 拾うのは、そのPCが取得しているrepoの名前だけです。知らない語をrepo名として扱うことはありません。名前だけで拾うのは、記号か数字を含むもの(`sdpf-thing`)か8文字以上のものです。`ui`や`design`のように普通の単語と同じ綴りのrepoは、owner付き(`example-org/design`)かGitHubのURLで書かれているときだけ拾います。本文の地の文に当たるのを避けるためです。
261
+
262
+ 別のownerに同じ名前のrepoがあるときも、名前だけでは決めずowner付きを求めます。
263
+
264
+ ページ更新からpushまで24時間未満のものは出しません。書いた直後の手直しを齟齬として数えないためです。
265
+
266
+ リンクのURLはタグの属性に入るので、リンクの文字が「リポジトリ」でも中のGitHubのURLからrepoを拾います。
267
+
268
+ 自分が関わったページを誰かが更新したら、受信箱にも出します。自分の更新では鳴りません。
269
+
270
+ ### Slackのメンションを受信箱に出す
271
+
272
+ 自分あてのメンションが付いたら受信箱に出します。残すのは、どのチャンネルで誰が呼んだかと発言へのリンクだけです。発言の本文は保存しません。壁打ちへも渡しません。
273
+
274
+ ```bash
275
+ security add-generic-password -s github-reporadar-slack -a slack -w "<ユーザートークン>"
276
+ ```
277
+
278
+ 要るスコープは`search:read`だけです。トークンが無ければ何もしません。
279
+
280
+ トークンはSlackアプリを作って自分のアカウントに入れる形で取ります。手元の`slack` CLI(v4.6.0)のトークンでは足りません。認証は通りますが検索が`missing_scope`で弾かれます(実測)。企業のワークスペースではアプリの導入に管理者の承認が要ることがあります。
281
+
282
+ 取りに行くのは自分が関わったページの最大200件です。更新の新しい順に並ぶので、50件ずつ続きを取って最後まで辿ります。1回で打ち切ると、長く放置されたページから先に落ちます。
283
+
284
+ ### Jiraの課題も見る
285
+
286
+ 自分が担当か報告者の未完了課題を取り込み、壁打ちの文脈に入れます。GitHubのPRと並べて「今日の作業順」を相談できます。
287
+
288
+ Confluenceと同じ設定(`RR_ATLASSIAN_SITE` / `RR_ATLASSIAN_EMAIL`)で動きます。`RR_JIRA_PROJECTS="EXAM OTHER"`でプロジェクトを絞れます。省略すると自分に関わる全プロジェクトです。
289
+
290
+ 設定かトークンが無ければ、JiraもConfluenceも何もしません。取得に失敗しても同期そのものは止まらず、GitHub側の結果は残ります。
291
+
292
+ 壁打ちの範囲を「個人開発」にしているときは、Jiraの課題もConfluenceの齟齬も文脈に入れません。仕事のものなので前提が混ざります。
293
+
236
294
  ### 運用の方針
237
295
 
238
296
  | 方針 | 理由 |