misskey/.github/copilot-instructions.md
おさむのひと 2328ef3737
chore(llm/docs): .claude配下の再構成 (#17514)
* chore(docs): .claude配下の再構成

* fix AGENTS.md

* fix AGENTS.md

* fix review

* 行番号参照の除去

* docs: fix storybook note in vue reviewer agent

* Potential fix for pull request finding

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

* Potential fix for pull request finding

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

* Potential fix for pull request finding

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

* fix local review

* fix

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
2026-06-03 09:03:10 +09:00

5.5 KiB

Copilot Instructions for Misskey

このファイルは GitHub Copilot の repository-wide instructions として使われる。Copilot code review では AGENTS.md が読まれない環境があるため、レビューや軽微な実装判断に必要な規約はこのファイル単体で満たすこと。

リポジトリは Misskey の pnpm workspace モノレポ。主要な実装は packages/backend (NestJS / TypeORM) と packages/frontend (Vue 3) にある。より詳しいガイドはリポジトリルートの AGENTS.md を参照してよいが、このファイルの要件を省略してそちらへの参照だけで済ませないこと。

絶対にやってはいけない事

違反すると CI 失敗 / 本番事故 になる。

コード・データ関連

  • SPDX ヘッダー必須: AGPL-3.0-only 管轄かつ SPDX CI 対象ディレクトリに新規 .ts / .js / .cjs / .mjs / .scss / .vue / .html ファイルを追加する場合は冒頭に必ず付ける。詳細な対象判定は .github/workflows/check-spdx-license-id.yml を参照。

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

    新規 .vue / .html ファイルは HTML コメント形式で:

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

    packages/misskey-js は MIT ライセンスのサブパッケージなので、この AGPL ヘッダーを一律に付けない (サブパッケージ固有の package.json / LICENSE / 既存ファイルのヘッダーに従う)。

  • locales/ja-JP.yml 以外の locale YAML を編集しない。他言語ファイル (en-US.yml など ja-JP.yml 以外すべて) は Crowdin の自動配信先で、手動編集すると次の同期で上書き喪失する。

  • マージ済 migration を編集しないpackages/backend/migration/{timestamp}-*.js のうち既に develop / master に入ったものは絶対に変更しない。スキーマ変更が必要なら新しい timestamp で新規ファイルを追加し、up()down() の両方を実装する。

  • secrets / 認証情報をリポジトリにコミットしない (.config/*.yml の本番値、.env ファイル、API token、private key 等)。

Git / リポジトリ操作

  • git push --force / --force-with-leasemain / develop / master にしない
  • git commit --no-verify で hook をスキップしない
  • マージ済 / プッシュ済コミットを git commit --amend で書き換えない
  • 他人のブランチを git reset --hard / git branch -D で破壊しない
  • git config をユーザーに無断で書き換えない (特に user.name / user.email / commit.gpgsign)

Issue / PR / 外部送信

  • ユーザーの明示指示なしに PR を merge / close / force-push しない
  • ユーザーの明示指示なしに external service (GitHub comments / Slack / メール 等) へ送信しない

変更を出す前の最低チェック

  1. pnpm lint が通る (typecheck + eslint, 全パッケージ)
  2. backend で meta / paramDef / res を変更した → pnpm build-misskey-js-with-types を実行し packages/misskey-js/src/autogen/ の差分も commit に含めた
  3. entity / migration を変更した → pnpm --filter backend check-migrations が pending DDL 0 件で通る / 新規 migration は up()down() 両方実装済
  4. 新規 .ts / .js / .cjs / .mjs / .vue / .scss / .html ファイルを追加した → SPDX ヘッダーを付けた
  5. ユーザー影響のある変更 → CHANGELOG.md## Unreleased 配下の該当サブセクション (### General / ### Client / ### Server) に - <Feat|Enhance|Fix>: <概要> を 1 行追記
  6. locales/ を編集した場合、git diff --name-only develop -- 'locales/*.yml' | grep -v '^locales/ja-JP\.yml$' が空 (ja-JP.yml 以外に差分が無い) ことを確認

Validation コマンド

  • 全体ビルド: pnpm build
  • 全体 lint / typecheck: pnpm lint
  • Backend unit test: pnpm --filter backend test
  • Backend e2e test: pnpm --filter backend test:e2e
  • Backend federation test: pnpm --filter backend test:fed
  • Frontend test: pnpm --filter frontend test
  • Migration 差分検査: pnpm --filter backend check-migrations
  • misskey-js 再生成 (API 変更後必須): pnpm build-misskey-js-with-types

注意: 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) を実行してから走らせる。各テストスクリプトが内部で cross-env NODE_ENV=test pnpm compile-config を呼ぶため、コピー済みであれば追加の compile-config は不要。

変更範囲に応じて最も近いコマンドから優先して検証し、必要なら全体コマンドに広げること。

Editing hints

  • Backend の API / migration / TypeORM 変更は packages/backend を見る
  • Frontend の Vue コンポーネントやページ変更は packages/frontend を見る
  • AGENTS.md 内の相対リンクはリポジトリルート起点で解決する想定

補足: AGENTS.md はより詳細な正典 (Codex / Claude Code が読み込む)。Copilot code review ではこのファイルが主な入口になる。両方が読まれる環境では AGENTS.md を補助情報として使ってよい。