Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
37 commits
Select commit Hold shift + click to select a range
302d1bc
[skip ci] Update CHANGELOG.md (prepend template)
github-actions[bot] May 21, 2026
7fb540e
Remove empty Server section from CHANGELOG (#17464)
anatawa12 May 21, 2026
e743005
fix(backend): 削除対象ノート検索処理の一部クエリを簡略化 (#17422)
samunohito May 21, 2026
c02fe95
fix(frontend): ドラッグハンドルがあるのに設定されていないドラッグUIを修正 (#17472)
kakkokari-gtyih May 21, 2026
6dc00cc
fix(frontend): ドライブのフォルダ一覧の「もっと見る」ボタンのスタイル調整 (#17473)
kakkokari-gtyih May 22, 2026
e1b580c
deps: update dependencies (#17461)
kakkokari-gtyih May 22, 2026
43534d6
deps(backend): update typeorm to v1 (#17476)
kakkokari-gtyih May 22, 2026
9f2e806
feat: 管理画面のジョブキューページにresume/pauseボタンを用意 (#17436)
samunohito May 22, 2026
1cd6c9e
fix(frontend): 一部の実績が正しく表示されない問題を修正 (#17482)
kakkokari-gtyih May 23, 2026
6836fc1
fix(backend/build): bundle 外に @tensorflow/tfjs-node を出す (#17501)
sasagar May 27, 2026
c864349
fix(frontend): アクセストークン発行時のダイアログの文言を修正 (#17495)
kakkokari-gtyih May 27, 2026
89ae64b
feat: アンテナから特定のノートを手動で除去できるように (#17463)
samunohito May 28, 2026
7e0eb61
fix(frontend): URLプレイヤーウィンドウでiframeが読み込まれるまでの間にinvalid urlと表示される問題を修正…
kakkokari-gtyih May 28, 2026
6237001
enhance(backend/oauth2): oauth2orizeを削除 (#17415)
kakkokari-gtyih May 28, 2026
d74b646
fix(backend): follow-up of #17415 (#17505)
kakkokari-gtyih May 29, 2026
2b016d6
feat(backend): add indexes for noteId in note_favorite and user_note_…
samunohito May 30, 2026
863046b
feat: 投稿日時の範囲を条件に加えてノート検索出来るようにする (#16119)
samunohito May 30, 2026
f17c93e
fix: フォロワー投稿をダイレクトで引用したときにダイレクトにする (#15961)
KisaragiEffective May 31, 2026
0df4543
fix CHANGELOG.md (#17517)
samunohito May 31, 2026
6f4f533
fix(frontend): CSS `light-dark()` が適用されない問題を修正 (#17523)
kakkokari-gtyih Jun 2, 2026
97a667e
fix: 「D」キーでモードを切り替えるときに`syncDeviceDarkMode`のチェックを行うようにする (#17526)
nekochanfood Jun 2, 2026
d5ab422
fix(backend): NSFW検出モデルが `file://` で読み込めない問題を修正 (#17528)
sasagar Jun 2, 2026
9b362ca
Update CHANGELOG.md
kakkokari-gtyih Jun 2, 2026
2328ef3
chore(llm/docs): .claude配下の再構成 (#17514)
samunohito Jun 3, 2026
eed6c36
fix: コンパネからパスワードリセットした時に発生したエラーをダイアログで出す (#17513)
samunohito Jun 3, 2026
23bb992
enhance(frontend): scroll position restoration in the drive page and …
nekochanfood Jun 3, 2026
e50603e
fix: サーバー全体のアップロードサイズ上限とロールポリシーのアップロードサイズ上限に関する修正 (#17389)
kakkokari-gtyih Jun 3, 2026
2e15942
fix(frontend): deepEqualの片方がnull/undefinedな場合の判定が正しくないのを修正
syuilo Jun 3, 2026
3246dad
fix(chart): PerUserDriveChart.update で userId が null のシステム所有ファイルをスキップ…
sasagar Jun 4, 2026
4ae5344
Update .gitignore
syuilo Jun 4, 2026
e2bcd9c
enhance(frontend): 絵文字メニューから直接絵文字パレットに追加できるように (#17420)
kakkokari-gtyih Jun 4, 2026
e215ab1
fix(frontend): メンションのサジェスト時に表示されるアイコン表示が画像サイズ次第で崩れる問題を修正 (#17542)
Tatsuya0330 Jun 4, 2026
312d7c1
fix(frontend): パスキー登録完了時の認証ダイアログの入力値が使われていない問題を修正 (#17539)
nekochanfood Jun 4, 2026
67a0ae4
fix(frontend): locale inliner is not working (#17543)
anatawa12 Jun 5, 2026
a75f3ad
fix: we cannot look up user profile url with self hostname (#16488)
anatawa12 Jun 5, 2026
a0889ac
Bump version to 2026.6.0-alpha.0
github-actions[bot] Jun 5, 2026
2aa6d4f
fix(frontend): add antenna handling in antenna-column component (#17553)
samunohito Jun 6, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions .agents/skills/shipping-misskey-change/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
---
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.
---

# shipping-misskey-change

This is the Codex entrypoint for the canonical Misskey pre-ship checklist.

Read and follow [.claude/skills/shipping-misskey-change/SKILL.md](../../../.claude/skills/shipping-misskey-change/SKILL.md). Treat that file and its `references/` directory as the source of truth.
10 changes: 10 additions & 0 deletions .agents/skills/working-on-backend/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
---
name: working-on-backend
description: Use whenever editing or adding code under `packages/backend/`, including REST API endpoints, NestJS services/modules, TypeORM entities, migrations, backend tests, misskey-js generation, or backend validation commands.
---

# working-on-backend

This is the Codex entrypoint for the canonical Misskey backend skill.

Read and follow [.claude/skills/working-on-backend/SKILL.md](../../../.claude/skills/working-on-backend/SKILL.md). Treat that file and its `references/` directory as the source of truth.
10 changes: 10 additions & 0 deletions .agents/skills/working-on-frontend/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
---
name: working-on-frontend
description: Use whenever editing or adding code under `packages/frontend/`, Vue SFCs, SCSS Modules, Storybook stories, or frontend-facing UI text in `locales/ja-JP.yml`.
---

# working-on-frontend

This is the Codex entrypoint for the canonical Misskey frontend skill.

Read and follow [.claude/skills/working-on-frontend/SKILL.md](../../../.claude/skills/working-on-frontend/SKILL.md). Treat that file and its `references/` directory as the source of truth.
6 changes: 3 additions & 3 deletions .claude/THIRD_PARTY_LICENSES.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@

### 取り込んだファイル

| `.claude/` 内のパス | 上流パス | 上流 frontmatter `origin` | Misskey での改変 |
| `.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) を組み込み |
Expand Down Expand Up @@ -61,7 +61,7 @@ Misskey 本体は **AGPL-3.0-only** で配布されているが、`.claude/` 配
- MIT が要求する条件 (copyright notice + license text の保持) を本ファイル + 各ファイル冒頭の SPDX/出典コメントで満たしている
- Misskey 全体の配布物としては AGPL-3.0-only で扱われるが、`.claude/` 配下の MIT ファイルは個別に MIT として識別可能

`.ts` / `.js` / `.vue` / `.scss` の SPDX 義務化 ([AGENTS.md §1](../AGENTS.md#1-spdx-ヘッダー必須)) は Misskey 本体コード向けで、`.claude/` 配下の `.md` / `.sh` には適用されない。
`.ts` / `.js` / `.vue` / `.scss` の SPDX 義務化 ([AGENTS.md](../AGENTS.md) の「絶対にやってはいけない事」§コード・データ関連) は Misskey 本体コード向けで、`.claude/` 配下の `.md` / `.sh` には適用されない。

---

Expand All @@ -73,4 +73,4 @@ Misskey 本体は **AGPL-3.0-only** で配布されているが、`.claude/` 配
2. 各ファイル冒頭に SPDX ヘッダ + 出典コメントを追加
3. 本ファイル §1 のテーブルに 1 行追記
4. 必要なら新しいセクションでライセンス全文を同梱
5. AGENTS.md からの参照を確認 (現状の [AGENTS.md §ツール固有の補助ファイル](../AGENTS.md) で `THIRD_PARTY_LICENSES.md` を案内済。CLAUDE.md は `@AGENTS.md` 経由で読み込むので個別の追記は不要)
5. 本ファイルへの導線を確認 (`.claude/skills/README.md` / `.claude/commands/README.md` 等の各 README から本ファイルへリンクされている)。なお [CLAUDE.md](../CLAUDE.md) が `.claude/` 配下全体を「Claude Code 固有の補助」として案内しており本ファイルもそこに含まれる。CLAUDE.md は `@AGENTS.md` を取り込むだけなので AGENTS.md への個別追記は不要
34 changes: 21 additions & 13 deletions .claude/agents/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,22 +2,30 @@

Misskey の特定領域に特化したレビュー / 調査エージェントを `.claude/agents/<name>.md` 形式で配置する。

frontmatter (`name` + `description` + `tools`) は、Claude が **自動でエージェントを呼び出すか判断する** 唯一の手がかりになる。`description` には用途を具体的かつ網羅的に書くこと (動詞 + 対象 + トリガー条件)。
frontmatter (`name` + `description` + `tools`) は、Claude が **自動でエージェントを呼び出すか判断する** 唯一の手がかりになる。`description` は **起動判断に効くドメイン・パス・ファイル種別・固有チェックに絞って簡潔に** 書く (動詞 + 対象 + トリガー条件)。本文 checklist 項目を網羅的に列挙するのではなく、他の reviewer と区別できる高シグナル語を選ぶ

## 実装済サブエージェント
実装済エージェントの一覧は本ファイルでは管理しない (腐敗するため)。各 `<name>.md` の frontmatter が自己説明として機能する。

| エージェント名 | 役割 | 優先度 |
|---|---|---|
| [misskey-api-reviewer](misskey-api-reviewer.md) | NestJS DI + meta/paramDef + UUID 重複 + endpoint-list.ts 登録 + ApiError throw + misskey-js 再生成 + e2e + CHANGELOG をチェック | 高 (登録漏れで 404 / autogen CI 落ち頻発) |
| [vue-component-reviewer](vue-component-reviewer.md) | Mk\* 命名 / `<script lang="ts" setup>` / type-only defineProps / SCSS module / CSS 変数 / i18n.ts と i18n.tsx の使い分け / os.\* 経由 / a11y / `*.stories.impl.ts` 併設をチェック | 中 (CI 直撃は SPDX / locales 編集違反のみ。他は実害が出てから検出されるケースが多く API ほどの即死性はない) |
## 他のレビュー手段との使い分け

設計方針: `tools` を編集権限なし (Edit/Write を渡さない) に絞り、PR baseline (`git merge-base origin/develop HEAD`) との差分から自動的にレビュー対象を抽出する。
レビュー面を増やしすぎないよう、役割を分ける:

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

Misskey 固有規約の機械チェックは本 agent、一般品質は pr-review-toolkit、実装中ガイドは skill、と棲み分ける。

## 構成方針

- `tools` は **編集権限なし** (Edit/Write を渡さない) に絞り、PR baseline (`git merge-base origin/develop HEAD`) との差分から自動的にレビュー対象を抽出する設計
- 差分抽出は `git merge-base origin/develop HEAD` を baseline にする (PR / ブランチ全体を見るため)。`git diff HEAD` 単体は **未コミット差分しか取れず、コミット済の PR では空になって誤判定する** ので使わない
- `description` は呼び出し判断の手がかりであると同時に、(呼ばれなくても) Task ツール起動のたびに常時ロードされる。**他で代替できない高シグナルなトリガー語に絞って簡潔に** 書く (汎用 reviewer と被る語や冗長な列挙は context-budget 上の overhead になるだけで発見性に寄与しない)。健全性は [/harness-audit](../commands/harness-audit.md) / [context-budget skill](../skills/context-budget/SKILL.md) で確認できる
- 規約の **正本は `.claude/skills/*/references/` 側**。agent の checklist はその **派生コピー** (subagent が skill を読まなくても動くよう自己完結させる)。規約を変えるときは references を先に直し agent を追従させる ── 両者の食い違いは同期漏れなので references を正とする

## 新規エージェントを追加する場合

- `.claude/agents/<name>.md` に YAML frontmatter (`name` / `description` / `tools`) と本文 Markdown を書く。
- `description` は呼び出し判断に使われるため、対象ドメイン・主要チェック項目・トリガー条件を **具体的に** 列挙する。
- レビュー専門なら `tools: Read, Grep, Glob, Bash` に絞る (Edit/Write を渡さない)。**`Bash` は任意のシェルコマンドを実行できる強力な権限である点に注意**: レビュー用途では `git diff` / `git ls-files` / `grep` / `sed` 等の **読み取り系コマンドに限定して使う** こと。書き込み・削除・ネットワーク送信を伴う操作は本文中の例示・指示に含めないこと (エージェント本文がガードレールになる)。
- 主要参照ファイルへのリンクは、リポジトリルートからの相対パス (例: `../../packages/backend/...`) で貼る。絶対パスは contributor のホームディレクトリ依存になるので使わない。
- 差分抽出は `git merge-base origin/develop HEAD` を baseline にする (PR / ブランチ全体を見るため)。`git diff HEAD` 単体は **未コミット差分しか取れず、コミット済の PR では空になって誤判定する** ので使わない。
- 完成したらこの README の表にも 1 行追加する。
- `.claude/agents/<name>.md` に YAML frontmatter (`name` / `description` / `tools`) と本文 Markdown を書く
- `description` は呼び出し判断に使われるため、対象ドメイン・主要チェック項目・トリガー条件を挙げる。ただし常時ロードされるので **高シグナル語に絞って簡潔に** (構成方針の該当項目を参照)
- レビュー専門なら `tools: Read, Grep, Glob, Bash` に絞る (Edit/Write を渡さない)。**`Bash` は任意のシェルコマンドを実行できる強力な権限である点に注意**: レビュー用途では `git diff` / `git ls-files` / `grep` / `sed` 等の **読み取り系コマンドに限定して使う** こと。書き込み・削除・ネットワーク送信を伴う操作は本文中の例示・指示に含めないこと (エージェント本文がガードレールになる)
- 主要参照ファイルへのリンクは、各エージェント markdown からの相対パスで貼る (`../../packages/backend/...` のような形)。絶対パスは contributor のホームディレクトリ依存になるので使わない
10 changes: 6 additions & 4 deletions .claude/agents/misskey-api-reviewer.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
---
name: misskey-api-reviewer
description: Misskey API エンドポイント (packages/backend/src/server/api/endpoints/) の追加・変更を専門レビューする。SPDX / meta / paramDef / UUID 重複 / endpoint-list.ts 登録 / ApiError throw / misskey-js 再生成 / e2e / CHANGELOG を機械的にチェック。バックエンド API を追加・変更した PR レビューで呼び出す
description: Misskey backend の REST API エンドポイント (packages/backend/src/server/api/endpoints/) 追加・変更を機械レビューする。endpoint-list 登録漏れ・misskey-js 再生成漏れ・meta/paramDef/UUID/SPDX を検査。backend API を変更した PR レビューで呼ぶ
tools: Read, Grep, Glob, Bash
---

# Misskey API エンドポイントレビュアー

Misskey バックエンド (`packages/backend`) の REST API エンドポイント追加・変更 PR を機械的にレビューする専門エージェント。規約の根拠は [.claude/skills/add-api-endpoint/SKILL.md](../skills/add-api-endpoint/SKILL.md)
Misskey バックエンド (`packages/backend`) の REST API エンドポイント追加・変更 PR を機械的にレビューする専門エージェント。規約の **正本** は [.claude/skills/working-on-backend/references/tasks/adding-api-endpoint.md](../skills/working-on-backend/references/tasks/adding-api-endpoint.md) と [.claude/skills/working-on-backend/references/knowledge/api-meta-paramdef.md](../skills/working-on-backend/references/knowledge/api-meta-paramdef.md)。本エージェントはそれを review-mode から機械チェックする mirror。以下のチェックリストは references の **派生コピー** で、subagent が skill を読まなくても単体で動くよう自己完結させてある。規約を変えるときは **references を先に直し、本ファイルを追従させる** (正本は references。両者が食い違うのは同期漏れ)。個別のチェックで判断に迷ったら、該当する references ファイルを Read して確認してよい

## 役割

Expand Down Expand Up @@ -119,7 +119,7 @@ BASE=$(git merge-base origin/develop HEAD)
git diff --name-only "$BASE"...HEAD -- packages/misskey-js/src/autogen/
```

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

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

Expand Down Expand Up @@ -158,7 +158,9 @@ git diff --name-only "$BASE"...HEAD -- packages/misskey-js/src/autogen/

## 参照

- [.claude/skills/add-api-endpoint/SKILL.md](../skills/add-api-endpoint/SKILL.md) — 実装側の規約 (本エージェントの根拠)
- [.claude/skills/working-on-backend/references/tasks/adding-api-endpoint.md](../skills/working-on-backend/references/tasks/adding-api-endpoint.md) — 実装側の手順
- [.claude/skills/working-on-backend/references/knowledge/api-meta-paramdef.md](../skills/working-on-backend/references/knowledge/api-meta-paramdef.md) — meta / paramDef / res の完全早見表 + 落とし穴
- [.claude/skills/working-on-backend/references/knowledge/endpoint-list.md](../skills/working-on-backend/references/knowledge/endpoint-list.md) — endpoint-list.ts 登録ガイド
- [endpoints.ts (meta/paramDef 型定義)](../../packages/backend/src/server/api/endpoints.ts)
- [endpoint-list.ts (★ 登録先)](../../packages/backend/src/server/api/endpoint-list.ts)
- [endpoint-base.ts (Endpoint 基底クラス)](../../packages/backend/src/server/api/endpoint-base.ts)
Expand Down
Loading
Loading