Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
198 commits
Select commit Hold shift + click to select a range
15c187f
enhance(frontend): misskey-native lightbox (#17687)
syuilo Jul 12, 2026
df5c491
enhance(backend): summalyの結果をキャッシュするように (#17367)
kakkokari-gtyih Jul 12, 2026
6ceda0f
Bump version to 2026.7.0-alpha.3
github-actions[bot] Jul 12, 2026
aab7903
fix(backend): summalyの結果のキャッシュが後続処理によって書き換わる問題を修正
kakkokari-gtyih Jul 12, 2026
f74b427
fix(backend): configテンプレートのallowedPrivateNetworksをリスト記法に変更してエラーの発生を抑制…
kakkokari-gtyih Jul 12, 2026
53c398c
fix(frontend): loadRawImages有効時、リモート画像をタップしてからビューワーが開くまでに初回のみラグが発生する問…
jj1guj Jul 13, 2026
ecd1d61
fix(frontend): 未ログイン時のトップページがスクロール不可だったのを修正 (#17681)
samunohito Jul 13, 2026
49e59a3
feat(backend): add OTLP trace export (#17679)
samunohito Jul 14, 2026
5a2acf7
fix(deps): update dependency @opentelemetry/core to v2.8.0 [security]…
renovate[bot] Jul 14, 2026
a98469d
feat: OTelのHTTPリクエスト自動計装を追加 (#17709)
samunohito Jul 14, 2026
3d4c62b
feat: BullMQのジョブ追加時に発動する手動計測の追加 (#17710)
samunohito Jul 14, 2026
91ea966
Bump version to 2026.7.0-alpha.4
github-actions[bot] Jul 14, 2026
ecd85e5
feat: OTelのHTTPサーバ自動計装を追加 (#17711)
samunohito Jul 14, 2026
4d7e62d
feat: Otel pgとredis自動計装 (#17712)
samunohito Jul 14, 2026
e3cb641
Update CHANGELOG.md
kakkokari-gtyih Jul 14, 2026
152e0fc
perf(frontend): タイムラインのリアルタイム更新のアニメーションでTransitionGroupを使用しないように (#17…
kakkokari-gtyih Jul 15, 2026
6679195
enhance: 新しいLoggerのコア実装 (#17714)
samunohito Jul 15, 2026
1110d33
Bump version to 2026.7.0-alpha.5
github-actions[bot] Jul 15, 2026
ed70123
Create .coderabbit.yaml
syuilo Jul 15, 2026
0849dc7
enhance: 構造化ログAPIと正規化 (#17719)
samunohito Jul 15, 2026
ce41181
Update .coderabbit.yaml
syuilo Jul 15, 2026
d74a7a5
docs: design generated chunk handling
syuilo Jul 15, 2026
9076a4e
docs: plan generated chunk reporting fix
syuilo Jul 15, 2026
b6996a2
chore: ignore local worktrees
syuilo Jul 15, 2026
945fd40
fix(dev): aggregate generated frontend chunks
syuilo Jul 15, 2026
afca066
fix(dev): clarify frontend chunk comparisons
syuilo Jul 15, 2026
11c6fb1
test(dev): capture expected frontend report failures
syuilo Jul 15, 2026
0ad7252
test(dev): check frontend bundle report
syuilo Jul 15, 2026
ef852e6
fix(dev): validate frontend startup manifest
syuilo Jul 15, 2026
fb483d8
Merge branch 'codex/frontend-bundle-generated-chunks' into develop
syuilo Jul 15, 2026
a7fd58e
docs: define small frontend chunk aggregation
syuilo Jul 15, 2026
1e4260c
feat: add Japanese language support and tone instructions (#17720)
samunohito Jul 15, 2026
2199f90
docs: plan small frontend chunk aggregation
syuilo Jul 16, 2026
1122631
fix(dev): group small frontend chunk deltas
syuilo Jul 16, 2026
8439080
Merge remote-tracking branch 'origin/develop' into develop
syuilo Jul 16, 2026
61b8332
Merge branch 'codex/frontend-bundle-small-deltas' into develop
syuilo Jul 16, 2026
0f32109
fix(dev): refine frontend chunk report layout
syuilo Jul 16, 2026
3c1f01a
feat(dev): frontend browser metrics report (#17630)
syuilo Jul 16, 2026
df063d9
enhance(dev): tweak get-backend-memory
syuilo Jul 16, 2026
22cdc24
add test
syuilo Jul 16, 2026
212fcaf
enhance(dev): tweak get-backend-memory
syuilo Jul 16, 2026
b5e470b
enhance(dev): tweak get-backend-memory
syuilo Jul 16, 2026
ac8e8c4
chore(dev): tweak get-backend-memory
syuilo Jul 16, 2026
828a24f
enhance: プロセス起動直後のログから新logger適用+logger設定機構の追加 (#17725)
samunohito Jul 16, 2026
8755540
feat(dev): report frontend browser diagnostics
syuilo Jul 16, 2026
93bbc89
chore(dev): tweak frontend browser diagnostics
syuilo Jul 16, 2026
12be1fe
[skip ci] chore(dev): tweak backend-memory-report
syuilo Jul 16, 2026
1a04d4c
refacotr(gh): rename some files
syuilo Jul 16, 2026
77c2f54
refacotr(gh): refactor
syuilo Jul 16, 2026
ab92f98
refacotr(gh): rename some files
syuilo Jul 16, 2026
64f98fa
refacotr(gh): refactor
syuilo Jul 16, 2026
fd83c9c
enhance(gh): tweak frontend-browser-diagnostics
syuilo Jul 16, 2026
153875e
[skip ci] refacotr(gh): add note
syuilo Jul 16, 2026
8aff44a
refactor(misskey-js): モデレーションログの型を手動で書かずにすむように (#17729)
kakkokari-gtyih Jul 16, 2026
2874a6d
refacotr(gh): refactor
syuilo Jul 16, 2026
203a6b3
Merge branch 'develop' of https://github.com/misskey-dev/misskey into…
syuilo Jul 16, 2026
68193dd
refacotr(gh): refactor
syuilo Jul 16, 2026
b028d4a
refacotr(gh): rename some files
syuilo Jul 16, 2026
ceb31f1
refacotr(gh): refactor
syuilo Jul 16, 2026
5d0ecf9
refacotr(gh): refactor
syuilo Jul 16, 2026
ab21fc7
refacotr(gh): refactor
syuilo Jul 16, 2026
0272ee7
refacotr(gh): refactor
syuilo Jul 16, 2026
88c6cd1
refactor(gh): unify heap snapshot output paths
syuilo Jul 16, 2026
3760e7a
chore(gh): fix workflow name
syuilo Jul 17, 2026
3de6b61
enhance: JSON形式の構造化ログ出力に対応 (#17728)
samunohito Jul 17, 2026
5a6b943
Bump version to 2026.7.0-alpha.6
github-actions[bot] Jul 17, 2026
b5f0e96
New Crowdin updates (#17717)
syuilo Jul 17, 2026
8691bab
fix(frontend): Update MkLightbox.item.vue
kakkokari-gtyih Jul 17, 2026
0be4d35
New Crowdin updates (#17732)
syuilo Jul 17, 2026
1812f7c
chore(gh): tweak workflow
syuilo Jul 17, 2026
71a50f3
chore(gh): tweak workflow
syuilo Jul 17, 2026
00a123d
Merge branch 'develop' of https://github.com/misskey-dev/misskey into…
syuilo Jul 17, 2026
227268f
chore(gh): tweak workflow
syuilo Jul 17, 2026
65bcca0
refactor(gh): tweak workflow
syuilo Jul 17, 2026
37b4a7a
refactor(gh): tweak workflow
syuilo Jul 17, 2026
b674da1
refactor(gh): tweak workflow
syuilo Jul 17, 2026
fca7859
refactor(gh): tweak workflow
syuilo Jul 17, 2026
bdf1547
refactor(frontend): メディアメニューのメニューボタンのスタイルを統一 (#17742)
kakkokari-gtyih Jul 18, 2026
95de10e
fix(backend): fix dev mode
kakkokari-gtyih Jul 19, 2026
9eca9b6
fix(frontend): MkLightboxを上下方向にスワイプして閉じることができないことがある問題を修正 (#17740)
kakkokari-gtyih Jul 20, 2026
3f28489
fix(backend): multipart apiの処理終了時に一時ディレクトリが消えない問題を修正 (#17750)
kakkokari-gtyih Jul 20, 2026
f7c070c
chore(gh): tweak workflow
syuilo Jul 20, 2026
95405e3
chore: oktetoやめる対応の消し漏れと関連ファイルの削除 (#17749)
samunohito Jul 20, 2026
d0de75d
deps: update dependencies (#17751)
kakkokari-gtyih Jul 20, 2026
1399416
fix(frontend): ローカルユーザーへのホスト付きメンションが本文に含まれる指名ノートの作成時、投稿フォームにて、当該ユーザーが…
Sayamame-beans Jul 20, 2026
3f11a28
chore(gh): fix workflow
syuilo Jul 20, 2026
cc2ed93
Merge branch 'develop' of https://github.com/misskey-dev/misskey into…
syuilo Jul 20, 2026
8c28fd3
fix(frontend): use instant postform for createNoteFromTheFile/gallery…
Sayamame-beans Jul 20, 2026
23de803
Fix(backend): フォロワー限定投稿へのリプライをホーム投稿に出来る問題を修正 (#17747)
Sayamame-beans Jul 20, 2026
e06878b
fix: skip coderabbit review in certain condition
kakkokari-gtyih Jul 20, 2026
79340ae
Bump version to 2026.7.0-beta.0
github-actions[bot] Jul 20, 2026
36c442a
Bump version to 2026.7.0-beta.1
github-actions[bot] Jul 20, 2026
bbd57c7
enhance: OTel設定時、JSONログにtrace_id, span_id, trace_flagがつくように (#17748)
samunohito Jul 20, 2026
7157f37
Update CHANGELOG.md [ci skip]
kakkokari-gtyih Jul 20, 2026
ab36978
refactor(gh): CI用スクリプトをpackageとして整理 (#17727)
kakkokari-gtyih Jul 20, 2026
b2d07ca
Update .coderabbit.yaml
syuilo Jul 21, 2026
ccd04fb
Update .coderabbit.yaml
syuilo Jul 21, 2026
1dcd6c2
Update .coderabbit.yaml
syuilo Jul 21, 2026
f138a48
Update .coderabbit.yaml
syuilo Jul 21, 2026
159b1a4
Update .coderabbit.yaml
syuilo Jul 21, 2026
b51d5ba
frontend bundle diagnostics と frontend browser diagnostics を統合 (#17757)
syuilo Jul 21, 2026
41e730a
fix(backend): 本番ビルドで @opentelemetry/instrumentation が解決できない問題を修正 (#17…
Soli0222 Jul 21, 2026
98ae62c
enhance(gh): 複数サンプルの値の表示を改善するなど (#17759)
syuilo Jul 21, 2026
5e39779
docs: update changelog (#17754)
kakkokari-gtyih Jul 22, 2026
4c3f40a
fix(deps): update dependency typeorm to v1.1.0 [security] (#17767)
renovate[bot] Jul 22, 2026
7725110
chore(gh): tweak workflow
syuilo Jul 22, 2026
eb76269
Merge branch 'develop' of https://github.com/misskey-dev/misskey into…
syuilo Jul 22, 2026
2d2aa77
fix(frontend): チャートコンポーネントのマウント解除時にChartインスタンスが破棄されていない問題を修正 (#17763)
kakkokari-gtyih Jul 22, 2026
82cca11
Merge branch 'develop' of https://github.com/misskey-dev/misskey into…
syuilo Jul 22, 2026
48216d3
perf(frontend): MkInput/MkSelectの幅調整にResizeObserverを使用するように (#17762)
kakkokari-gtyih Jul 22, 2026
c6eb30c
fix(frontend): QRコードリーダーがページを離れても停止しない問題を修正 (#17761)
kakkokari-gtyih Jul 22, 2026
575390e
Bump version to 2026.7.0-beta.2
github-actions[bot] Jul 22, 2026
5cb6661
fix(frontend): StreamingTimelineのインスタンスが保持された状態でページを行き来するとアニメーションが再度再…
kakkokari-gtyih Jul 22, 2026
d5a09b3
enhance: APIアクセスログを出力可能なように(opt-in) (#17771)
samunohito Jul 22, 2026
c9ac4f9
fix(frontend): MkNoteDetailedで削除された引用元が表示されない問題を修正 (#17776)
kakkokari-gtyih Jul 22, 2026
170ee2b
perf(frontend): タブがバックグラウンドな間のsetIntervalを停止するように (#17769)
kakkokari-gtyih Jul 22, 2026
79b4a73
fix(frontend): いくつかのイベントリスナーの解除処理の修正 (#17768)
kakkokari-gtyih Jul 22, 2026
dc3f2a0
Bump version to 2026.7.0-beta.3
github-actions[bot] Jul 22, 2026
3d87032
chore(gh): use nbsp for table
syuilo Jul 23, 2026
4a7ff6d
chore(gh): use nbsp for table
syuilo Jul 23, 2026
34a4b9b
Update .coderabbit.yaml [ci skip]
kakkokari-gtyih Jul 23, 2026
dc3fd42
fix(frontend): follow-up of #17775
kakkokari-gtyih Jul 23, 2026
015868f
【テスト中】fix(frontend): 画像の上をタップした状態でPull to Refreshを行うと画像も開かれてしまう問題を修正 …
kakkokari-gtyih Jul 23, 2026
a63c8ef
fix(frontend): センシティブなメディアの表示が常にぼかすになっている場合に初回表示した画像がぼかされる問題を修正 (#17781)
kakkokari-gtyih Jul 23, 2026
6f54416
Bump version to 2026.7.0-beta.4
github-actions[bot] Jul 23, 2026
6d81c81
chore(gh): fix tests
syuilo Jul 23, 2026
28153f7
Merge branch 'develop' of https://github.com/misskey-dev/misskey into…
syuilo Jul 23, 2026
80d1423
fix(frontend): Lightbox上で強くスワイプしたときに一時的に画面が操作不能になる問題を修正 (#17785)
kakkokari-gtyih Jul 23, 2026
661838c
fix(backend): 初期設定で作成したアカウント以外でアカウント作成APIが利用できない問題を修正 (#17783)
kakkokari-gtyih Jul 24, 2026
85e8105
enhance: 旧Loggerを拡張して構造化ログを直接受け取れるように (#17780)
samunohito Jul 24, 2026
fcb4ced
enhance(frontend): tagcanvas実装を変更 (#17753)
kakkokari-gtyih Jul 24, 2026
f68da80
Bump version to 2026.7.0-beta.5
github-actions[bot] Jul 24, 2026
19fa9a2
revert(frontend): "タイムラインのリアルタイム更新のアニメーションでTransitionGroupを使用しないように" …
kakkokari-gtyih Jul 24, 2026
521f600
add note
syuilo Jul 24, 2026
db8ee16
Merge branch 'develop' of https://github.com/misskey-dev/misskey into…
syuilo Jul 24, 2026
16ca5a7
New Crowdin updates (#17733)
syuilo Jul 24, 2026
7c29a18
enhance(frontend): アップロード前のファイルのプレビューに対応&アップロード後のプレビューにMkLightboxを使用 …
syuilo Jul 24, 2026
cf7a6b6
chore(deps): update [github actions] update dependencies (#17791)
renovate[bot] Jul 24, 2026
d2973ec
chore(deps): update [github actions] update dependencies (major) (#17…
renovate[bot] Jul 24, 2026
e8951b7
fix(deps): update dependency @fastify/static to v10.1.2 [security] (#…
renovate[bot] Jul 25, 2026
cde2fe2
fix(deps): update dependency tar to v7.5.21 [security] (#17798)
renovate[bot] Jul 25, 2026
c70fb20
Bump version to 2026.7.0-beta.6
github-actions[bot] Jul 25, 2026
7ecce09
fix(deps): update dependency js-yaml to v5.2.2 [security] (#17797)
renovate[bot] Jul 25, 2026
982d490
use UPSERT instead of select for hashtag statistics update (#17795)
anatawa12 Jul 25, 2026
3e31e59
fix(backend): フォロー中のチャンネルを再度フォローした際にALREADY_FOLLOWINGエラーを返すように (#17802)
4ster1sk Jul 25, 2026
1a59ec2
Merge commit from fork
chocolate-pie Jul 25, 2026
daf2a85
Update CHANGELOG.md
syuilo Jul 25, 2026
e897255
fix
kakkokari-gtyih Jul 25, 2026
f697933
docs: Update CHANGELOG.md to include about js-yaml changes (#17805)
kakkokari-gtyih Jul 26, 2026
cb58ff3
fix(gh): check-misskey-js-autogenが失敗する問題を修正 (#17809)
kakkokari-gtyih Jul 27, 2026
703aa23
enhance(frontend): UploaderItemsの詳細メニューからもプレビューを起動できるように (#17811)
kakkokari-gtyih Jul 27, 2026
a12ee2e
Merge commit from fork
samunohito Jul 28, 2026
2509a28
Merge commit from fork
kakkokari-gtyih Jul 28, 2026
a44e419
fix(frontend): follow-up of 2509a28 (#17815)
kakkokari-gtyih Jul 28, 2026
318af2e
fix(frontend): follow-up of #17811 (#17814)
kakkokari-gtyih Jul 28, 2026
6dac6f7
fix: OTel除去 (#17812)
samunohito Jul 28, 2026
d600525
Bump version to 2026.7.0-rc.0
github-actions[bot] Jul 28, 2026
6f579b6
chore: docker_example.ymlのsentryForBackend更新が漏れていたのを追記 (#17817)
samunohito Jul 28, 2026
bcc3bc4
fix(frontend): MkLightboxの動画の縦横比を事前に確定させるように (#17822)
kakkokari-gtyih Jul 29, 2026
589d43b
Update packages/backend/src/logging/PrettyConsoleBackend.ts
samunohito Jul 30, 2026
f74a303
fix: sensitive-detectorへのリクエスト時もHttpRequestServiceを使うように (#17828)
samunohito Jul 31, 2026
8dd59a8
fix: RSS系ウィジェットにフィードURL検査機構を追加 (#17831)
samunohito Jul 31, 2026
8ea4a0e
Release: 2026.7.0
github-actions[bot] Jul 31, 2026
d54a9dc
[skip ci] Update CHANGELOG.md (prepend template)
github-actions[bot] Jul 31, 2026
4db2516
fix(test): setup.sh で $1.config.json の生成条件が $1.default.yml を参照していたのを修…
4ster1sk Jul 31, 2026
3ce17c6
fix(backend): PageService に残っていたデバッグ用 console.log を削除 (#17834)
fruitriin Aug 1, 2026
1853898
fix(backend): スレッドミュートがすでに設定されている場合のエラーハンドリングを追加 (#17838)
kakkokari-gtyih Aug 2, 2026
1f97f99
fix(gh): 意図的にnbspを使用している箇所をエスケープ表記に変更 (#17833)
kakkokari-gtyih Aug 2, 2026
44a91bc
fix(gh): improve test stability
syuilo Aug 2, 2026
e5d8473
New Crowdin updates (#17836)
syuilo Aug 2, 2026
e372196
Merge branch 'develop' of https://github.com/misskey-dev/misskey into…
syuilo Aug 2, 2026
6a2adcb
fix(frontend): Blurhashのサイズ算出用の値が誤っていた問題を修正 (#17849)
kakkokari-gtyih Aug 3, 2026
b95e484
enhance(frontend): MkLightbox: ピクセルアート拡大モードを追加 (#17845)
kakkokari-gtyih Aug 3, 2026
e67df72
fix: review fixes for 2026.7.0 (#17832)
kakkokari-gtyih Aug 4, 2026
a6959a5
fix(backend): admin/queue/statsの権限をread:admin:queueに修正 (#17850)
4ster1sk Aug 4, 2026
1c82afb
refactor: linearlize findMaxPrefixLength for performance (#17853)
anatawa12 Aug 4, 2026
b812ddb
make calculateMuteStatus return array with checkOnly = true and split…
anatawa12 Aug 4, 2026
988e3c3
fix: shipping-misskey-changeの調整 (#17852)
samunohito Aug 5, 2026
7ab6797
Bump version to 2026.8.0-alpha.0
github-actions[bot] Aug 15, 2026
04fd954
deps: update dependencies (major) (#17857)
kakkokari-gtyih Aug 18, 2026
9eb9155
fix(backend/test): fix flaky federation test (#17867)
kakkokari-gtyih Aug 18, 2026
9d24906
New Crowdin updates (#17848)
syuilo Aug 18, 2026
abd2dea
fix(frontend): make MkObjectView selectable
syuilo Aug 18, 2026
12f0fb7
Merge branch 'develop' of https://github.com/misskey-dev/misskey into…
syuilo Aug 18, 2026
ab26d2b
enhance: ノート翻訳時、CWも翻訳対象に含めるように
syuilo Aug 18, 2026
dacda05
enhance(frontend): 音声の再生をMkLightboxに統合 (#16314)
kakkokari-gtyih Aug 19, 2026
819a66d
perf(frontend): ノートがプラグインによって非表示になった場合は以降のプラグイン処理をスキップするように (#17873)
kakkokari-gtyih Aug 19, 2026
3129d1a
perf(frontend): ワードミュートの正規表現・前処理結果をキャッシュし判定を高速化 (#17875)
kakkokari-gtyih Aug 19, 2026
7aa0089
Update CHANGELOG.md
syuilo Aug 19, 2026
638307f
fix(frontend): Follow-up of #17845
kakkokari-gtyih Aug 19, 2026
8da1b52
fix(frontend): follow-up of 638307f
kakkokari-gtyih Aug 19, 2026
27b0372
fix(gh): リリースPRがあるとpush/PRで2回ワークフローが実行される問題を修正 (#17878)
kakkokari-gtyih Aug 19, 2026
0c0733d
Migrate pkcs#1 keys to pkcs#8 key on loading keys (#17872)
anatawa12 Aug 19, 2026
ff7f2ae
Update CHANGELOG.md
syuilo Aug 19, 2026
e216748
enhance(frontend): インライン表示上で既にぼかしが解除されている場合はlightbox上でもぼかさないように (#17866)
kakkokari-gtyih Aug 19, 2026
0bced32
chore(frontend): tweak audio visualizer
syuilo Aug 20, 2026
92eca45
chore(frontend): tweak audio visualizer (#17883)
kakkokari-gtyih Aug 20, 2026
065c48a
merge: Misskey公式developの最新版を取り込み
Aug 20, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 1 addition & 1 deletion .agents/skills/shipping-misskey-change/SKILL.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
name: shipping-misskey-change
description: Use at every finish moment of a Misskey change, before committing, opening a PR, merging, or handing work back, especially when validation, SPDX, locale safety, migrations, misskey-js generation, or CHANGELOG checks may apply.
description: Use at every finish moment of a Misskey change, before committing, opening a PR, merging, or handing work back, especially when proportional validation, SPDX, locale safety, migrations, or misskey-js generation may apply.
---

# shipping-misskey-change
Expand Down
4 changes: 2 additions & 2 deletions .claude/THIRD_PARTY_LICENSES.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,8 @@
| `.claude/` 内のパス | 上流パス | 上流由来 | Misskey での改変 |
|---|---|---|---|
| `skills/context-budget/SKILL.md` | `skills/context-budget/SKILL.md` | ECC | description を日本語化、Misskey 固有メモを追記 |
| `commands/harness-audit.md` | `commands/harness-audit.md` | ECC | scripts 依存の自動採点を、Claude が `pnpm`/`git`/`grep` で手動採点する版に書き換え。Misskey 固有の評価軸 (SPDX / endpoint-list / migration / locales) を組み込み |
| `commands/quality-gate.md` | `commands/quality-gate.md` | ECC | 言語自動判定を排除し Misskey 固定 pipeline (`pnpm` + tsgo + ESLint + Vitest) に。Prettier/Biome フェーズを削除 |
| `commands/harness-audit.md` | `commands/harness-audit.md` | ECC | scripts 依存の自動採点を、repository-native command と SPDX checker で採点する版に書き換え。Misskey 固有の評価軸 (SPDX / endpoint-list / migration / locales) を組み込み |
| `commands/quality-gate.md` | `commands/quality-gate.md` | ECC | 言語自動判定を排除し Misskey 固定 pipeline (`pnpm` + tsc + ESLint + Vitest) に。Prettier/Biome フェーズを削除 |

### MIT License (full text)

Expand Down
3 changes: 2 additions & 1 deletion .claude/agents/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,8 @@ frontmatter (`name` + `description` + `tools`) は、Claude が **自動でエ

レビュー面を増やしすぎないよう、役割を分ける:

- **この `.claude/agents/` の 2 つ**: backend endpoint / Vue SFC の **Misskey 固有・機械的チェック** (endpoint-list 登録漏れ・misskey-js 再生成漏れ・ja-JP.yml 限定・SPDX 形式・Storybook 併設 等)。別コンテキストで差分を機械走査する価値がある領域に限定する
- **この `.claude/agents/` の 2 つ**: backend endpoint / Vue SFC の **Misskey 固有・機械的チェック** (endpoint-list 登録漏れ・misskey-js 再生成漏れ・ja-JP.yml 限定・Storybook 併設 等)。
別コンテキストで差分を機械走査する価値がある領域に限定する
- **`pr-review-toolkit` プラグイン (code-reviewer / silent-failure-hunter 等)**: 言語非依存の一般的なコード品質・バグ・設計レビュー。Misskey 固有規約は見ない
- **`working-on-*` skill の checklist**: コードを **書いている最中** の自己チェック (レビュー専用ではなく実装ガイド)

Expand Down
42 changes: 9 additions & 33 deletions .claude/agents/misskey-api-reviewer.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
name: misskey-api-reviewer
description: Misskey backend の REST API エンドポイント (packages/backend/src/server/api/endpoints/) 追加・変更を機械レビューする。endpoint-list 登録漏れ・misskey-js 再生成漏れ・meta/paramDef/UUID/SPDX を検査。backend API を変更した PR レビューで呼ぶ。
description: Misskey backend の REST API エンドポイント (packages/backend/src/server/api/endpoints/) 追加・変更を機械レビューする。endpoint-list 登録漏れ・misskey-js 再生成漏れ・meta/paramDef/UUID を検査。backend API を変更した PR レビューで呼ぶ。
tools: Read, Grep, Glob, Bash
---

Expand Down Expand Up @@ -30,26 +30,12 @@ BASE=$(git merge-base origin/develop HEAD)
- `packages/backend/src/server/api/endpoint-list.ts`
- `packages/backend/test/e2e/**` (とくに `endpoints.ts` と `<area>.ts`)
- `packages/misskey-js/src/autogen/**`
- `CHANGELOG.md`

差分対象が空なら「レビュー対象の API エンドポイント変更なし」と短く報告して終了。

## チェックリスト

### 1. SPDX ヘッダー (Critical)

新規 `.ts` ファイル冒頭に以下があるか:

```
/*
* SPDX-FileCopyrightText: syuilo and misskey-project
* SPDX-License-Identifier: AGPL-3.0-only
*/
```

欠落すると CI の `spdx` ジョブが落ちる。

### 2. `meta` の必須・推奨フィールド (Major)
### 1. `meta` の必須・推奨フィールド (Major)

[endpoints.ts の型定義](../../packages/backend/src/server/api/endpoints.ts) を真とする。

Expand All @@ -63,7 +49,7 @@ BASE=$(git merge-base origin/develop HEAD)
- `res`: JSON Schema または `ref: '<EntityName>'`。各プロパティに `optional` / `nullable` が **明示** されているか。
- `requireFile` / `secure` / `allowGet` / `cacheSec` / `description`: 該当するエンドポイントで使い分けているか。

### 3. `meta.errors` の UUID 検証 (Critical)
### 2. `meta.errors` の UUID 検証 (Critical)

各 `errors[*].id` が:

Expand All @@ -78,14 +64,14 @@ grep -rn "id: '<生成された UUID>'" packages/backend/src/server/api/endpoint

新規エンドポイントの全 `id` を抽出して衝突を確認する。

### 4. `paramDef` (Major)
### 3. `paramDef` (Major)

- JSON Schema 形式 (`type: 'object'`, `properties`, `required`)
- ID 文字列は `format: 'misskey:id'`
- `required` 配列で必須プロパティを明示
- `as const` または `as const satisfies Schema` で型推論を効かせる (既存実装は前者多数。`as const` 自体が無く `Schema` 型注釈もない場合のみ指摘)

### 5. エンドポイント実装本体 (Major)
### 4. エンドポイント実装本体 (Major)

- `Endpoint<typeof meta, typeof paramDef>` を継承しているか。
- `@Injectable()` デコレータ + `export default class` 形式か (`// eslint-disable-line import/no-default-export` が必要)。
Expand All @@ -94,7 +80,7 @@ grep -rn "id: '<生成された UUID>'" packages/backend/src/server/api/endpoint
- 防御的アサーション・「起きるはずがない」内部不整合・テスト用 ENV ガード等の **想定外フェイルファスト** は `throw new Error('...')` で構わない。既存実装でも `admin/reset-password.ts` などが採用しているパターン (例: `cannot reset password of root`)。`meta.errors` に対応がない `throw new Error` を一律で指摘しない。
- 同期 `throw` は許容。非同期処理での例外伝搬を確認する。

### 6. ★ `endpoint-list.ts` への登録 (Critical)
### 5. ★ `endpoint-list.ts` への登録 (Critical)

最も忘れやすい。**忘れると 404**。[endpoint-list.ts](../../packages/backend/src/server/api/endpoint-list.ts) に 1 行追加されているか:

Expand All @@ -110,7 +96,7 @@ grep -F "'<category>/<name>'" packages/backend/src/server/api/endpoint-list.ts

**並び順の補足**: ファイル全体は厳密なアルファベット順では並んでおらず、同カテゴリ内 (`admin/queue/*` など) でも追加された経緯どおりの順になっている箇所が多い。**順序逸脱は指摘根拠にしない** (誤検知の元)。「行が存在するか」のみを Critical 観点として扱う。

### 7. `misskey-js` 再生成 (Critical)
### 6. `misskey-js` 再生成 (Critical)

`meta` / `paramDef` / `res` を変更したら、PR / ブランチに `packages/misskey-js/src/autogen/` 配下の差分が含まれているか確認する:

Expand All @@ -121,22 +107,12 @@ git diff --name-only "$BASE"...HEAD -- packages/misskey-js/src/autogen/

差分ゼロなら `pnpm build-misskey-js-with-types` の実行漏れ。CI の `check-misskey-js-autogen` ワークフローで必ず落ちるため Critical 扱い。

### 8. e2e テスト (Major)
### 7. e2e テスト (Major)

[test/e2e/endpoints.ts](../../packages/backend/test/e2e/endpoints.ts) または `test/e2e/<area>.ts` (`note.ts`, `users.ts` 等) 配下に、対応する `api('<category>/<name>', ...)` 呼び出しを含む `test(...)` ケースが追加されているか確認する。複雑な分岐 (権限チェック・エラーケース) の網羅も確認する。

**describe ラベルの形式は問わない**: 既存テストは `describe('Note', () => { test('投稿できる', ...) })` のように人間可読ラベルで構造化されており、`<category>/<name>` 形式の describe は使われていない。describe 名の規約違反としては指摘しない。

### 9. CHANGELOG エントリ (Minor)

ユーザー影響がある (新エンドポイント / 既存挙動変更) 場合、`CHANGELOG.md` の `## Unreleased` → `### Server` に 1 行追加されているか確認する。

```
- Feat: /api/<category>/<name> を追加
```

純粋な内部リファクタなら不要。

## 出力形式

優先度別に以下のフォーマットで出力する。
Expand Down Expand Up @@ -166,4 +142,4 @@ git diff --name-only "$BASE"...HEAD -- packages/misskey-js/src/autogen/
- [endpoint-base.ts (Endpoint 基底クラス)](../../packages/backend/src/server/api/endpoint-base.ts)
- [error.ts (ApiError)](../../packages/backend/src/server/api/error.ts)
- [test/e2e/endpoints.ts](../../packages/backend/test/e2e/endpoints.ts)
- [AGENTS.md](../../AGENTS.md) — SPDX / マイグレーション履歴 / CHANGELOG 書式などの最低限ルール (Codex / Copilot と共通)
- [AGENTS.md](../../AGENTS.md) — 共通の安全規約と検証方針
51 changes: 13 additions & 38 deletions .claude/agents/vue-component-reviewer.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
name: vue-component-reviewer
description: Misskey frontend の Vue 3 SFC (packages/frontend/src/components/ / pages/ の *.vue) 変更を機械レビューする。SPDX (HTML コメント)・Mk* 命名・i18n.ts/tsx・SCSS 変数・os.* 経由・a11y・Storybook 併設 (*.stories.impl.ts) を検査。frontend の .vue を変更した PR レビューで呼ぶ。
description: Misskey frontend の Vue 3 SFC (packages/frontend/src/components/ / pages/ の *.vue) 変更を機械レビューする。Mk* 命名・i18n.ts/tsx・SCSS 変数・os.* 経由・a11y・Storybook 併設 (*.stories.impl.ts) を検査。frontend の .vue を変更した PR レビューで呼ぶ。
tools: Read, Grep, Glob, Bash
---

Expand Down Expand Up @@ -29,40 +29,26 @@ BASE=$(git merge-base origin/develop HEAD)

- `locales/*.yml` (とくに `ja-JP.yml` 以外の変更は即 Critical)
- `packages/frontend/src/components/**/*.stories.impl.ts`
- `CHANGELOG.md`

差分対象が空なら「レビュー対象の Vue コンポーネント変更なし」と短く報告して終了。

## チェックリスト

### 1. SPDX ヘッダー (Critical)

`.vue` ファイル冒頭は **HTML コメント形式** で必須:

```html
<!--
SPDX-FileCopyrightText: syuilo and misskey-project
SPDX-License-Identifier: AGPL-3.0-only
-->
```

`/* ... */` (TS 形式) は禁止 (CI の `spdx` ジョブはコメント形式ではなく SPDX 文字列の有無のみを検査するため、形式が違っても CI は通るが、規約違反として指摘する)。形式の根拠は references/knowledge 側を参照。

### 2. 命名規約 (Major)
### 1. 命名規約 (Major)

- 共有 / 再利用コンポーネント (`packages/frontend/src/components/` 配下、サブディレクトリ含む) は `Mk` プレフィックス必須 (例: `MkButton.vue`, `global/MkAvatar.vue`, `grid/MkGrid.vue`)。
- ページ固有のものは `pages/` 配下に置き、`Mk` プレフィックスは不要。

**補足:** `<script setup>` SFC は named export を持たないため、「ファイル名と export 名の一致」を機械的に検査することはできない。SFC のデフォルトエクスポートはコンパイラ生成なので、ファイル名規約のみを基準にする。

### 3. `<script>` タグ (Major)
### 2. `<script>` タグ (Major)

- `<script lang="ts" setup>` または `<script setup lang="ts">` のどちらでもよい (既存コードは多数派が前者だが、後者も `MkThemePreview.vue` 等で使われている)。属性順は指摘しない。`lang="ts"` が **無い** ものは指摘する。
- 型ジェネリックが必要なら `generic="T extends ..."` 属性を加える (順序問わず)。
- `defineProps<{ ... }>()` / `defineEmits<{ ... }>()` は **type-only** 形式。runtime の object 形式 (`defineProps({ ... })`) は使わない。
- Options API (`export default { data() { ... } }`) は禁止。

### 4. i18n の使い分け (Critical)
### 3. i18n の使い分け (Critical)

- 文字列リテラルの直書き禁止 (テンプレート / JS 両方)。
- 引数なし: `i18n.ts.<path>` (例: `i18n.ts.deleted`)。
Expand All @@ -77,7 +63,7 @@ BASE=$(git merge-base origin/develop HEAD)
git diff --name-only "$BASE"...HEAD -- 'locales/*.yml' | grep -v 'ja-JP.yml'
```

### 5. スタイル (Major)
### 4. スタイル (Major)

- `<style lang="scss" module>` を既定とし、`:class="$style.foo"` で参照する。
- 新規で `<style scoped>` (module なし) は使わない (legacy)。
Expand All @@ -94,7 +80,7 @@ git diff "$BASE"...HEAD -- 'packages/frontend/src/**/*.vue' \
| grep -E '^\+' | grep -E '#[0-9a-fA-F]{3,8}\b|rgba?\('
```

### 6. UI 操作は `os.*` 経由 (Critical)
### 5. UI 操作は `os.*` 経由 (Critical)

- 直接の `alert()` / `confirm()` / `window.prompt()` / `window.alert()` は禁止。
- `os.alert` / `os.confirm` / `os.popup` / `os.toast` / `os.popupMenu` / `os.contextMenu` / `os.form` / `os.apiWithDialog` を使う ([os.ts](../../packages/frontend/src/os.ts) 参照)。
Expand All @@ -107,14 +93,14 @@ git diff "$BASE"...HEAD -- 'packages/frontend/src/**/*.vue' \
| grep -E '^\+' | grep -E '\b(alert|confirm|prompt)\s*\('
```

### 7. アクセシビリティ (Major)
### 6. アクセシビリティ (Major)

- クリック可能要素は `<button>` か、`role="button"` + `tabindex="0"` + キーボードハンドラ (`@keydown.enter` 等) を実装する。
- 装飾以外の `<div @click>` で a11y 配慮がないものは指摘する。
- フォーム要素には対応する `<label>` または `aria-label` を付ける。
- `:disabled` バインドや `aria-disabled` の整合性を確認する。

### 8. Storybook 併設 (Major)
### 7. Storybook 併設 (Major)

- 共有 `Mk*` コンポーネントを新規追加した場合、`Mk<Name>.stories.impl.ts` が同階層に併設されているか (サブディレクトリ含む。例: `components/global/MkAvatar.stories.impl.ts`, `components/grid/MkGrid.stories.impl.ts`)。
- **ファイル名は `.stories.impl.ts` 固定** (`.stories.ts` は生成物なので手編集・コミット不可)。
Expand All @@ -130,31 +116,20 @@ git diff --name-only --diff-filter=A "$BASE"...HEAD -- \
| xargs -I {} sh -c 'test -f {} || echo "missing: {}"'
```

### 9. アイコン (Minor)
### 8. アイコン (Minor)

- アイコンは Tabler icons クラス (`<i class="ti ti-info-circle">` 等) を使う。
- インライン SVG や別アイコンセットは原則使わない (既存パターンに合わせる)。

### 10. CHANGELOG エントリ (Minor)

ユーザー影響がある変更なら、`CHANGELOG.md` の `## Unreleased` → `### Client` に 1 行追加されているか確認する。

```
- Enhance: <component> の <挙動> を改善
- Fix: <component> の <不具合> を修正
```

純粋な内部リファクタなら不要。

## 出力形式

優先度別に以下のフォーマットで出力する。

```
## 🔴 Critical
- packages/frontend/src/components/MkFoo.vue:1
SPDX ヘッダーが HTML コメント形式ではなく TS 形式になっている
`<!-- ... -->` で書き直すこと
- packages/frontend/src/components/MkFoo.vue:42
ブラウザ組み込みの `alert()` を直接呼んでいる
`os.alert()` を使用すること

## 🟡 Major
- ...
Expand All @@ -175,4 +150,4 @@ git diff --name-only --diff-filter=A "$BASE"...HEAD -- \
- [MkButton.vue](../../packages/frontend/src/components/MkButton.vue)
- [MkInput.vue](../../packages/frontend/src/components/MkInput.vue) — generic SFC 例
- [MkButton.stories.impl.ts](../../packages/frontend/src/components/MkButton.stories.impl.ts) — Storybook 雛形
- [AGENTS.md](../../AGENTS.md) — SPDX / locales 編集制限 / CHANGELOG 書式などの最低限ルール (Codex / Copilot と共通)
- [AGENTS.md](../../AGENTS.md) — 共通の安全規約と検証方針
Loading
Loading