{"owner":"misskey-dev","repo":"misskey","hasSkills":true,"hasMcp":false,"mcpConfig":null,"found":["AGENTS.md","CLAUDE.md"],"skills":{"AGENTS.md":"# Misskey – AI Agent Guide\n\nこのファイルは Misskey リポジトリで動く AI コーディングエージェント (Claude Code / OpenAI Codex / GitHub Copilot 等) が共通で参照する **絶対禁止事項と最低限のチェック** を集めた索引。次の 3 経路から参照・読み込みされる:\n\n- **Claude Code**: ルート `CLAUDE.md` から `@AGENTS.md` で取り込まれる。詳細手順・規約は `.claude/skills/` (description で自動索引)\n- **OpenAI Codex**: ルート `AGENTS.md` を直接読み込む (skill エントリは `.agents/skills/`、実体は `.claude/skills/` を指す)\n- **GitHub Copilot**: `.github/copilot-instructions.md` (本ファイルの規約を Copilot code review 向けに再掲) 経由で参照する\n\n人間 contributor 向けの一般規約 (Issue / PR の出し方、ActivityPub 拡張など) は [CONTRIBUTING.md](CONTRIBUTING.md) を参照。本ファイルは AI が **コードを書く・直す・出す** 際に踏み外してはいけない事項に絞る。\n\n---\n\n## 絶対にやってはいけない事\n\n違反すると CI 失敗 / 本番事故 / 共有環境破壊 になる。順守すること。\n\n### コード・データ関連\n\n1. **SPDX ヘッダー欠落のまま AGPL 管轄ディレクトリへ新規ファイルを追加しない**\n   - 対象: 新規 `.ts` / `.js` / `.cjs` / `.mjs` / `.vue` / `.scss` / `.html` ファイル\n   - 対象と判定は [scripts/check-spdx.mjs](scripts/check-spdx.mjs) が一元管理する\n   - `node scripts/check-spdx.mjs` を 1 回実行し、欠落は `--fix` で補う。\n     `SPDX: OK` なら追加の目視確認はしない\n   - `packages/misskey-js` は MIT ライセンスのサブパッケージなので、この AGPL ヘッダーを一律に付けない (サブパッケージ固有の `package.json` / `LICENSE` / 既存ファイルのヘッダーに従う)\n\n2. **`locales/ja-JP.yml` 以外の locale YAML を手動編集しない**\n   - 他言語ファイル (`en-US.yml` など `ja-JP.yml` 以外すべて) は Crowdin の自動配信先。手動編集すると次の同期で上書き喪失する\n   - 根拠: [locales/README.md](locales/README.md) と [crowdin.yml](crowdin.yml) (`ja-JP.yml` → `locales/%locale%.yml` の同期設定)\n\n3. **マージ済 migration ファイルを編集しない**\n   - 対象: `packages/backend/migration/{unixMs}-{name}.js` のうち、既に `develop` / `master` にマージされたもの\n   - 本番環境で履歴改変が起きると深刻なデータ不整合を引き起こす\n   - スキーマ変更が必要な場合は **新しいタイムスタンプで新規ファイル** を作成する (`node -e \"console.log(Date.now())\"` でタイムスタンプ取得)\n   - 新規 migration は `up()` と `down()` の両方を実装し、`pnpm --filter backend check-migrations` を通すこと (TypeORM schema builder で pending DDL を検出)\n\n### Git / リポジトリ操作\n\n4. **`git push --force` / `--force-with-lease` を `main` / `develop` / `master` にしない** (他人の作業を消す可能性)\n5. **`git commit --no-verify` で hook をスキップしない**\n6. **マージ済 / プッシュ済コミットを `git commit --amend` で書き換えない** (履歴の整合性が壊れる)\n7. **他人のブランチを `git reset --hard` / `git branch -D` で破壊しない**\n8. **`git config` をユーザーに無断で書き換えない** (特に `user.name` / `user.email` / `commit.gpgsign`)\n\n### Issue / PR / 外部送信\n\n9. **ユーザーの明示指示なしに PR を merge / close / force-push しない**\n10. **ユーザーの明示指示なしに external service (GitHub comments / Slack / メール 等) へ送信しない**\n11. **secrets / 認証情報をリポジトリにコミットしない** (`.config/*.yml` の本番値、`.env` ファイル、API token、private key 等)\n12. **脆弱性報告を通常の Issue / PR 経由で行わない** (脆弱性報告を行う場合のルールは `creating-issues-and-prs` スキルを参照すること)\n\n### スキル呼び出し\n\n上流スキルの実行・事前知識・memory の内容に関わらず免除されない。\n\n13. **`working-on-backend` スキルを参照せずに `packages/backend/` 配下のファイルを編集・追加しない**\n14. **`working-on-frontend` スキルを参照せずに `packages/frontend/` 配下のファイルを編集・追加しない**\n15. **`shipping-misskey-change` スキルを参照せずに commit / PR 作成 / 作業をユーザーに返さない**\n16. **`creating-issues-and-prs` スキルを参照せずに Issue / PR を起票しない** (脆弱性報告のルールも含む)\n\n---\n\n## 変更を出す前の最低チェック\n\n各エージェントは [shipping-misskey-change スキル](.claude/skills/shipping-misskey-change/SKILL.md) を参照すること。スキルが利用できない環境でも、以下のチェックは必ず実施すること:\n\n1. **lint / test**: ESLint 対象の変更ファイルへ package root から `eslint --quiet` を最後に 1 回実行し、実装変更には最も近い test を選んで実行する。\n   package / repo 全体 lint と広域 test は任意\n2. **backend API 変更時**: `pnpm build-misskey-js-with-types` を実行し `packages/misskey-js/src/autogen/` の差分も commit に含めた\n3. **entity / migration 変更時**: `pnpm --filter backend check-migrations` が pending DDL 0 件で通る / 新規 migration は `up()` と `down()` 両方実装済\n4. **SPDX**: `node scripts/check-spdx.mjs` が `SPDX: OK` を返すことを確認する\n5. **locale safety**: commit 済み・未commit・untracked の変更集合に `locales/ja-JP.yml` 以外の locale YAML が無いことを確認する\n6. **[CHANGELOG](.claude/skills/shipping-misskey-change/references/tasks/changelog-update.md)**: ユーザーが明示しない限り編集しない。\n   ユーザー影響がある変更では引き継ぎに候補を 1 行だけ示す\n\n### Validation commands\n\n各チェックで使う pnpm コマンド一覧。状況に応じて最も近いコマンドから検証する。\n\n| 用途 | コマンド |\n| --- | --- |\n| 全体 lint (任意) | `pnpm lint` |\n| Backend unit test | `pnpm --filter backend test` |\n| Backend e2e test | `pnpm --filter backend test:e2e` |\n| Backend federation test | `pnpm --filter backend test:fed` |\n| Frontend unit test | `pnpm --filter frontend test` |\n| Migration 差分検査 (pending DDL) | `pnpm --filter backend check-migrations` |\n| `misskey-js` 再生成 (API 変更後必須) | `pnpm build-misskey-js-with-types` |\n| 全体ビルド | `pnpm build` |\n| 開発サーバー (backend + frontend watch) | `pnpm dev` |\n\n**注意:** backend テスト (`test` / `test:e2e` / `test:fed`) 実行前に `.config/test.yml` が必要 (`ncp .github/misskey/test.yml .config/test.yml` または `cp .github/misskey/test.yml .config/test.yml` で作成)。\n","CLAUDE.md":"# Misskey – Claude Code Guide\n\nルール本体は [AGENTS.md](AGENTS.md) (Codex / Copilot と共有する単一ソース)。本ファイルは Claude Code 用の薄いラッパーで、`@AGENTS.md` 構文で本体規約をセッション開始時にコンテキストへ展開する。\n\nClaude Code 固有の補助 (skills / agents / slash commands / docs) は `.claude/` 配下にコミット済。個人ローカル設定は `.claude/settings.local.json` に、MCP 認証情報は `.claude/.credentials.json` に置く (いずれも `.gitignore` 済)。\n\n@AGENTS.md\n"},"files":{"AGENTS.md":"# Misskey – AI Agent Guide\n\nこのファイルは Misskey リポジトリで動く AI コーディングエージェント (Claude Code / OpenAI Codex / GitHub Copilot 等) が共通で参照する **絶対禁止事項と最低限のチェック** を集めた索引。次の 3 経路から参照・読み込みされる:\n\n- **Claude Code**: ルート `CLAUDE.md` から `@AGENTS.md` で取り込まれる。詳細手順・規約は `.claude/skills/` (description で自動索引)\n- **OpenAI Codex**: ルート `AGENTS.md` を直接読み込む (skill エントリは `.agents/skills/`、実体は `.claude/skills/` を指す)\n- **GitHub Copilot**: `.github/copilot-instructions.md` (本ファイルの規約を Copilot code review 向けに再掲) 経由で参照する\n\n人間 contributor 向けの一般規約 (Issue / PR の出し方、ActivityPub 拡張など) は [CONTRIBUTING.md](CONTRIBUTING.md) を参照。本ファイルは AI が **コードを書く・直す・出す** 際に踏み外してはいけない事項に絞る。\n\n---\n\n## 絶対にやってはいけない事\n\n違反すると CI 失敗 / 本番事故 / 共有環境破壊 になる。順守すること。\n\n### コード・データ関連\n\n1. **SPDX ヘッダー欠落のまま AGPL 管轄ディレクトリへ新規ファイルを追加しない**\n   - 対象: 新規 `.ts` / `.js` / `.cjs` / `.mjs` / `.vue` / `.scss` / `.html` ファイル\n   - 対象と判定は [scripts/check-spdx.mjs](scripts/check-spdx.mjs) が一元管理する\n   - `node scripts/check-spdx.mjs` を 1 回実行し、欠落は `--fix` で補う。\n     `SPDX: OK` なら追加の目視確認はしない\n   - `packages/misskey-js` は MIT ライセンスのサブパッケージなので、この AGPL ヘッダーを一律に付けない (サブパッケージ固有の `package.json` / `LICENSE` / 既存ファイルのヘッダーに従う)\n\n2. **`locales/ja-JP.yml` 以外の locale YAML を手動編集しない**\n   - 他言語ファイル (`en-US.yml` など `ja-JP.yml` 以外すべて) は Crowdin の自動配信先。手動編集すると次の同期で上書き喪失する\n   - 根拠: [locales/README.md](locales/README.md) と [crowdin.yml](crowdin.yml) (`ja-JP.yml` → `locales/%locale%.yml` の同期設定)\n\n3. **マージ済 migration ファイルを編集しない**\n   - 対象: `packages/backend/migration/{unixMs}-{name}.js` のうち、既に `develop` / `master` にマージされたもの\n   - 本番環境で履歴改変が起きると深刻なデータ不整合を引き起こす\n   - スキーマ変更が必要な場合は **新しいタイムスタンプで新規ファイル** を作成する (`node -e \"console.log(Date.now())\"` でタイムスタンプ取得)\n   - 新規 migration は `up()` と `down()` の両方を実装し、`pnpm --filter backend check-migrations` を通すこと (TypeORM schema builder で pending DDL を検出)\n\n### Git / リポジトリ操作\n\n4. **`git push --force` / `--force-with-lease` を `main` / `develop` / `master` にしない** (他人の作業を消す可能性)\n5. **`git commit --no-verify` で hook をスキップしない**\n6. **マージ済 / プッシュ済コミットを `git commit --amend` で書き換えない** (履歴の整合性が壊れる)\n7. **他人のブランチを `git reset --hard` / `git branch -D` で破壊しない**\n8. **`git config` をユーザーに無断で書き換えない** (特に `user.name` / `user.email` / `commit.gpgsign`)\n\n### Issue / PR / 外部送信\n\n9. **ユーザーの明示指示なしに PR を merge / close / force-push しない**\n10. **ユーザーの明示指示なしに external service (GitHub comments / Slack / メール 等) へ送信しない**\n11. **secrets / 認証情報をリポジトリにコミットしない** (`.config/*.yml` の本番値、`.env` ファイル、API token、private key 等)\n12. **脆弱性報告を通常の Issue / PR 経由で行わない** (脆弱性報告を行う場合のルールは `creating-issues-and-prs` スキルを参照すること)\n\n### スキル呼び出し\n\n上流スキルの実行・事前知識・memory の内容に関わらず免除されない。\n\n13. **`working-on-backend` スキルを参照せずに `packages/backend/` 配下のファイルを編集・追加しない**\n14. **`working-on-frontend` スキルを参照せずに `packages/frontend/` 配下のファイルを編集・追加しない**\n15. **`shipping-misskey-change` スキルを参照せずに commit / PR 作成 / 作業をユーザーに返さない**\n16. **`creating-issues-and-prs` スキルを参照せずに Issue / PR を起票しない** (脆弱性報告のルールも含む)\n\n---\n\n## 変更を出す前の最低チェック\n\n各エージェントは [shipping-misskey-change スキル](.claude/skills/shipping-misskey-change/SKILL.md) を参照すること。スキルが利用できない環境でも、以下のチェックは必ず実施すること:\n\n1. **lint / test**: ESLint 対象の変更ファイルへ package root から `eslint --quiet` を最後に 1 回実行し、実装変更には最も近い test を選んで実行する。\n   package / repo 全体 lint と広域 test は任意\n2. **backend API 変更時**: `pnpm build-misskey-js-with-types` を実行し `packages/misskey-js/src/autogen/` の差分も commit に含めた\n3. **entity / migration 変更時**: `pnpm --filter backend check-migrations` が pending DDL 0 件で通る / 新規 migration は `up()` と `down()` 両方実装済\n4. **SPDX**: `node scripts/check-spdx.mjs` が `SPDX: OK` を返すことを確認する\n5. **locale safety**: commit 済み・未commit・untracked の変更集合に `locales/ja-JP.yml` 以外の locale YAML が無いことを確認する\n6. **[CHANGELOG](.claude/skills/shipping-misskey-change/references/tasks/changelog-update.md)**: ユーザーが明示しない限り編集しない。\n   ユーザー影響がある変更では引き継ぎに候補を 1 行だけ示す\n\n### Validation commands\n\n各チェックで使う pnpm コマンド一覧。状況に応じて最も近いコマンドから検証する。\n\n| 用途 | コマンド |\n| --- | --- |\n| 全体 lint (任意) | `pnpm lint` |\n| Backend unit test | `pnpm --filter backend test` |\n| Backend e2e test | `pnpm --filter backend test:e2e` |\n| Backend federation test | `pnpm --filter backend test:fed` |\n| Frontend unit test | `pnpm --filter frontend test` |\n| Migration 差分検査 (pending DDL) | `pnpm --filter backend check-migrations` |\n| `misskey-js` 再生成 (API 変更後必須) | `pnpm build-misskey-js-with-types` |\n| 全体ビルド | `pnpm build` |\n| 開発サーバー (backend + frontend watch) | `pnpm dev` |\n\n**注意:** backend テスト (`test` / `test:e2e` / `test:fed`) 実行前に `.config/test.yml` が必要 (`ncp .github/misskey/test.yml .config/test.yml` または `cp .github/misskey/test.yml .config/test.yml` で作成)。\n","CLAUDE.md":"# Misskey – Claude Code Guide\n\nルール本体は [AGENTS.md](AGENTS.md) (Codex / Copilot と共有する単一ソース)。本ファイルは Claude Code 用の薄いラッパーで、`@AGENTS.md` 構文で本体規約をセッション開始時にコンテキストへ展開する。\n\nClaude Code 固有の補助 (skills / agents / slash commands / docs) は `.claude/` 配下にコミット済。個人ローカル設定は `.claude/settings.local.json` に、MCP 認証情報は `.claude/.credentials.json` に置く (いずれも `.gitignore` 済)。\n\n@AGENTS.md\n"},"items":[{"name":"AGENTS.md","path":"AGENTS.md","title":"AGENTS.md","content":"# Misskey – AI Agent Guide\n\nこのファイルは Misskey リポジトリで動く AI コーディングエージェント (Claude Code / OpenAI Codex / GitHub Copilot 等) が共通で参照する **絶対禁止事項と最低限のチェック** を集めた索引。次の 3 経路から参照・読み込みされる:\n\n- **Claude Code**: ルート `CLAUDE.md` から `@AGENTS.md` で取り込まれる。詳細手順・規約は `.claude/skills/` (description で自動索引)\n- **OpenAI Codex**: ルート `AGENTS.md` を直接読み込む (skill エントリは `.agents/skills/`、実体は `.claude/skills/` を指す)\n- **GitHub Copilot**: `.github/copilot-instructions.md` (本ファイルの規約を Copilot code review 向けに再掲) 経由で参照する\n\n人間 contributor 向けの一般規約 (Issue / PR の出し方、ActivityPub 拡張など) は [CONTRIBUTING.md](CONTRIBUTING.md) を参照。本ファイルは AI が **コードを書く・直す・出す** 際に踏み外してはいけない事項に絞る。\n\n---\n\n## 絶対にやってはいけない事\n\n違反すると CI 失敗 / 本番事故 / 共有環境破壊 になる。順守すること。\n\n### コード・データ関連\n\n1. **SPDX ヘッダー欠落のまま AGPL 管轄ディレクトリへ新規ファイルを追加しない**\n   - 対象: 新規 `.ts` / `.js` / `.cjs` / `.mjs` / `.vue` / `.scss` / `.html` ファイル\n   - 対象と判定は [scripts/check-spdx.mjs](scripts/check-spdx.mjs) が一元管理する\n   - `node scripts/check-spdx.mjs` を 1 回実行し、欠落は `--fix` で補う。\n     `SPDX: OK` なら追加の目視確認はしない\n   - `packages/misskey-js` は MIT ライセンスのサブパッケージなので、この AGPL ヘッダーを一律に付けない (サブパッケージ固有の `package.json` / `LICENSE` / 既存ファイルのヘッダーに従う)\n\n2. **`locales/ja-JP.yml` 以外の locale YAML を手動編集しない**\n   - 他言語ファイル (`en-US.yml` など `ja-JP.yml` 以外すべて) は Crowdin の自動配信先。手動編集すると次の同期で上書き喪失する\n   - 根拠: [locales/README.md](locales/README.md) と [crowdin.yml](crowdin.yml) (`ja-JP.yml` → `locales/%locale%.yml` の同期設定)\n\n3. **マージ済 migration ファイルを編集しない**\n   - 対象: `packages/backend/migration/{unixMs}-{name}.js` のうち、既に `develop` / `master` にマージされたもの\n   - 本番環境で履歴改変が起きると深刻なデータ不整合を引き起こす\n   - スキーマ変更が必要な場合は **新しいタイムスタンプで新規ファイル** を作成する (`node -e \"console.log(Date.now())\"` でタイムスタンプ取得)\n   - 新規 migration は `up()` と `down()` の両方を実装し、`pnpm --filter backend check-migrations` を通すこと (TypeORM schema builder で pending DDL を検出)\n\n### Git / リポジトリ操作\n\n4. **`git push --force` / `--force-with-lease` を `main` / `develop` / `master` にしない** (他人の作業を消す可能性)\n5. **`git commit --no-verify` で hook をスキップしない**\n6. **マージ済 / プッシュ済コミットを `git commit --amend` で書き換えない** (履歴の整合性が壊れる)\n7. **他人のブランチを `git reset --hard` / `git branch -D` で破壊しない**\n8. **`git config` をユーザーに無断で書き換えない** (特に `user.name` / `user.email` / `commit.gpgsign`)\n\n### Issue / PR / 外部送信\n\n9. **ユーザーの明示指示なしに PR を merge / close / force-push しない**\n10. **ユーザーの明示指示なしに external service (GitHub comments / Slack / メール 等) へ送信しない**\n11. **secrets / 認証情報をリポジトリにコミットしない** (`.config/*.yml` の本番値、`.env` ファイル、API token、private key 等)\n12. **脆弱性報告を通常の Issue / PR 経由で行わない** (脆弱性報告を行う場合のルールは `creating-issues-and-prs` スキルを参照すること)\n\n### スキル呼び出し\n\n上流スキルの実行・事前知識・memory の内容に関わらず免除されない。\n\n13. **`working-on-backend` スキルを参照せずに `packages/backend/` 配下のファイルを編集・追加しない**\n14. **`working-on-frontend` スキルを参照せずに `packages/frontend/` 配下のファイルを編集・追加しない**\n15. **`shipping-misskey-change` スキルを参照せずに commit / PR 作成 / 作業をユーザーに返さない**\n16. **`creating-issues-and-prs` スキルを参照せずに Issue / PR を起票しない** (脆弱性報告のルールも含む)\n\n---\n\n## 変更を出す前の最低チェック\n\n各エージェントは [shipping-misskey-change スキル](.claude/skills/shipping-misskey-change/SKILL.md) を参照すること。スキルが利用できない環境でも、以下のチェックは必ず実施すること:\n\n1. **lint / test**: ESLint 対象の変更ファイルへ package root から `eslint --quiet` を最後に 1 回実行し、実装変更には最も近い test を選んで実行する。\n   package / repo 全体 lint と広域 test は任意\n2. **backend API 変更時**: `pnpm build-misskey-js-with-types` を実行し `packages/misskey-js/src/autogen/` の差分も commit に含めた\n3. **entity / migration 変更時**: `pnpm --filter backend check-migrations` が pending DDL 0 件で通る / 新規 migration は `up()` と `down()` 両方実装済\n4. **SPDX**: `node scripts/check-spdx.mjs` が `SPDX: OK` を返すことを確認する\n5. **locale safety**: commit 済み・未commit・untracked の変更集合に `locales/ja-JP.yml` 以外の locale YAML が無いことを確認する\n6. **[CHANGELOG](.claude/skills/shipping-misskey-change/references/tasks/changelog-update.md)**: ユーザーが明示しない限り編集しない。\n   ユーザー影響がある変更では引き継ぎに候補を 1 行だけ示す\n\n### Validation commands\n\n各チェックで使う pnpm コマンド一覧。状況に応じて最も近いコマンドから検証する。\n\n| 用途 | コマンド |\n| --- | --- |\n| 全体 lint (任意) | `pnpm lint` |\n| Backend unit test | `pnpm --filter backend test` |\n| Backend e2e test | `pnpm --filter backend test:e2e` |\n| Backend federation test | `pnpm --filter backend test:fed` |\n| Frontend unit test | `pnpm --filter frontend test` |\n| Migration 差分検査 (pending DDL) | `pnpm --filter backend check-migrations` |\n| `misskey-js` 再生成 (API 変更後必須) | `pnpm build-misskey-js-with-types` |\n| 全体ビルド | `pnpm build` |\n| 開発サーバー (backend + frontend watch) | `pnpm dev` |\n\n**注意:** backend テスト (`test` / `test:e2e` / `test:fed`) 実行前に `.config/test.yml` が必要 (`ncp .github/misskey/test.yml .config/test.yml` または `cp .github/misskey/test.yml .config/test.yml` で作成)。\n","category":"root","tokens":1128},{"name":"CLAUDE.md","path":"CLAUDE.md","title":"CLAUDE.md","content":"# Misskey – Claude Code Guide\n\nルール本体は [AGENTS.md](AGENTS.md) (Codex / Copilot と共有する単一ソース)。本ファイルは Claude Code 用の薄いラッパーで、`@AGENTS.md` 構文で本体規約をセッション開始時にコンテキストへ展開する。\n\nClaude Code 固有の補助 (skills / agents / slash commands / docs) は `.claude/` 配下にコミット済。個人ローカル設定は `.claude/settings.local.json` に、MCP 認証情報は `.claude/.credentials.json` に置く (いずれも `.gitignore` 済)。\n\n@AGENTS.md\n","category":"root","tokens":91}]}