diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index e503ce7..0a6a00c 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -33,6 +33,9 @@ Acecore プロジェクトへの改善提案ありがとうございます。 ## レビュー +変更内容のレビューと必要なCIは実施しますが、別の1人によるGitHub承認は一律の必須条件にしません。 +AI作業・CMS更新・定期更新と保護設定の関係は、[共通運用方針](REPOSITORY_POLICY.md)を参照してください。 + メンテナーは、変更依頼、大きな作業の分割、スコープ外の作業のクローズを行う ことがあります。レビューコメントは、具体的で実行可能な内容にし、プロジェクトの 目的に結びつけてください。 diff --git a/PUBLIC_REPOSITORIES.md b/PUBLIC_REPOSITORIES.md new file mode 100644 index 0000000..e88a28c --- /dev/null +++ b/PUBLIC_REPOSITORIES.md @@ -0,0 +1,39 @@ +# 公開リポジトリ一覧 + +2026-09-13時点の `acecore-systems` の公開中・非アーカイブの14リポジトリです。 +導入方法や貢献手順は各repoの文書を参照してください。利用・再配布の条件は、各repoのLICENSEや素材ごとの案内を確認してください。 + +## Webサイト・コミュニティ + +| リポジトリ | 内容 | 利用・閲覧 | +| ----------------------------------------------------------------------- | ------------------------------------------------- | --------------------------------------- | +| [acecore-net](https://github.com/acecore-systems/acecore-net) | Acecoreのコーポレートサイトと技術ブログ。 | [公式サイト](https://acecore.net/) | +| [acecore-systems](https://github.com/acecore-systems/acecore-systems) | Acecore Systemsの公式サイト。 | [Systems](https://systems.acecore.net/) | +| [acecore-schools](https://github.com/acecore-systems/acecore-schools) | Acecore Schoolsの公式サイトと予約・会員ポータル。 | [Schools](https://schools.acecore.net/) | +| [homepage-hatt](https://github.com/acecore-systems/homepage-hatt) | Hattの公式サイト。 | [Hatt](https://hatt.acecore.net/) | +| [aceserver-portal](https://github.com/acecore-systems/aceserver-portal) | エースサーバーの公式ポータルサイト。 | [Aceserver](https://asv.acecore.net/) | +| [aceserver-wiki](https://github.com/acecore-systems/aceserver-wiki) | エースサーバーWikiのサイトと記事。 | [Wiki](https://asv-wiki.acecore.net/) | + +## 共通基盤・設計資料 + +| リポジトリ | 内容 | 利用・閲覧 | +| --------------------------------------------------------------------------------- | ----------------------------------------------------------- | ---------------------------------------------------------- | +| [.github](https://github.com/acecore-systems/.github) | Organizationプロフィール、共通テンプレート、運用方針。 | [README](README.md) | +| [cms-ai](https://github.com/acecore-systems/cms-ai) | Sveltia CMS向けのAI会話・権限・PR実装を支える共通基盤。 | [README](https://github.com/acecore-systems/cms-ai#readme) | +| [world-foundation](https://github.com/acecore-systems/world-foundation) | 自由参加・離脱・フォークができる協力基盤の設計資料。 | [資料を読む](https://world-foundation.acecore.net/) | +| [world-foundation-site](https://github.com/acecore-systems/world-foundation-site) | `world-foundation`の資料をWebで閲覧・検索するサイトの実装。 | [閲覧サイト](https://world-foundation.acecore.net/) | + +## Minecraft関連 + +| リポジトリ | 内容 | +| ------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | +| [Aceguessr](https://github.com/acecore-systems/Aceguessr) | Minecraft向けのAceguessrプラグイン。 | +| [CommonModal](https://github.com/acecore-systems/CommonModal) | サーバーからクライアントへフォームUIを表示するプラグイン・Mod。 | +| [aceserver-minecraft-assets](https://github.com/acecore-systems/aceserver-minecraft-assets) | エースサーバーで自動配布するMinecraft素材。利用条件はrepoの案内を参照してください。 | +| [dynmap](https://github.com/acecore-systems/dynmap) | MinecraftのWeb地図システムDynmapのfork。 | + +## 一覧を更新するとき + +repoの公開状態やアーカイブ状態を変更した際は、この一覧と[Organizationプロフィール](profile/README.md)の導線を確認し、確認日を更新します。 +GitHubの[Organizationリポジトリ一覧](https://github.com/orgs/acecore-systems/repositories)と照合して、追加・削除・リンク変更を反映してください。 +公開状態を変更する際の調査・確認手順は[共通運用方針](REPOSITORY_POLICY.md)を参照してください。 diff --git a/README.md b/README.md index 32ea104..fa86354 100644 --- a/README.md +++ b/README.md @@ -10,6 +10,8 @@ - `CONTRIBUTING.md`: 共通のコントリビューションガイド - `SECURITY.md`: 共通のセキュリティポリシー - `SUPPORT.md`: 共通のサポート案内 +- [PUBLIC_REPOSITORIES.md](PUBLIC_REPOSITORIES.md): 公開中のリポジトリ一覧と利用先 +- [REPOSITORY_POLICY.md](REPOSITORY_POLICY.md): レビュー・CMS更新・リポジトリ公開の共通運用方針 - `.github/ISSUE_TEMPLATE/`: 共通の Issue フォーム - `.github/PULL_REQUEST_TEMPLATE.md`: 共通の Pull Request テンプレート @@ -73,5 +75,6 @@ CIはPRと `main` へのpushで `community-check` を実行します。必須チ 維持されていることを確認してください。テンプレートの確認だけでIssueを投稿する必要はありません。 初回導入ではPRの `community-check` 成功後に、既存の `main` 保護へ同名チェックを必須として追加します。 -レビュー人数や管理者への適用など、他の保護項目は維持します。 +無関係な保護項目は変更しません。承認人数やPR必須設定の見直しは、 +[共通運用方針](REPOSITORY_POLICY.md)に沿って、CMS・AI作業の更新経路と両立することを確認します。 チェックを改名する場合は、旧名の必須設定がマージを止めないよう、workflowと保護設定を一緒に見直します。 diff --git a/REPOSITORY_POLICY.md b/REPOSITORY_POLICY.md new file mode 100644 index 0000000..e1e4e79 --- /dev/null +++ b/REPOSITORY_POLICY.md @@ -0,0 +1,51 @@ +# リポジトリの保護・更新・公開方針 + +この文書は `acecore-systems` の共通運用方針です。GitHubの保護設定を自動適用するものではありません。 +各repoの実効設定と更新経路を確認し、設定変更は対象を明示して行います。 + +## レビューとGitHubの承認人数 + +- 変更内容のレビューと必要なCIは実施します。GitHub上の「別の1人による承認」は一律の必須条件にしません。 +- AI作業では、依頼された範囲、重要な差分、検証結果、影響を確認してからマージします。AIによる内容確認とGitHubのApprove状態は別物です。 +- ソースコード、schema、workflow、認証や権限の変更は、原則として専用branchとPRを使います。小さな変更でも、必要なCIや未検証事項を省略しません。 +- 承認人数を必須にするのは、そのrepoで目的と担当者が明確な場合に限ります。担当者不在でAI作業や定期更新が恒常的に止まる設定を共通の既定にしません。 +- マージや公開、本番設定変更はユーザーの承認範囲に従います。承認人数を必須にしないことは、未承認の操作を許す意味ではありません。 + +## CMSと自動更新 + +`main`を本番ソースとし、CMS用の恒久branchを別の本番ソースにはしません。 +CMSは各repoで設計された経路から、許可されたコンテンツとメディアだけを更新します。 + +- CMSの書込は、利用者の編集権限、対象repo・branch、許可パス、入力内容、最新HEADをサーバー側で検証します。repoを閲覧できるだけでは編集を許可しません。 +- GitHub Appやworkflowの権限は必要な範囲に限定します。CMS例外をソースコードやworkflowの任意変更に使える設定にはしません。 +- 直接保存を使うCMSにPR必須ルールを適用する場合は、その書込actorが利用できる例外経路を検証します。検証できない例外を前提にルールを追加しません。 +- **承認人数0でも、PR必須のルールが残っていれば直接保存は止まります。** legacy branch protectionとrulesetの両方を確認します。 +- 定期更新やAIのPRも、実際に使うtoken・actorで必要なチェックとマージ条件を満たせることを確認します。人手のApproveだけを理由に処理が待ち続けない設計にします。 + +保護の変更では、承認人数、PR必須、status check、force push・branch削除、管理者・Appの例外を +別々の項目として扱います。問題のある項目だけを見直し、保護全体やCIをまとめて解除しません。 +既存設定がCMS経路と両立しない場合は、必要な例外とその権限制約を確認してから調整します。 + +## 公開状態を変更するとき + +公開候補の棚卸しではアーカイブ済みrepoを対象外にします。公開・非公開の変更は、対象repoを示して承認を得た範囲で行います。 + +1. 現在の公開状態、default branch、HEAD、取得できたbranch・tagを記録します。既存の未コミット変更は保持します。 +2. ソースと取得できた履歴を検査し、秘密情報、非公開の顧客・個人データ、下書き・移行エクスポートの内容を確認します。検出文字列は実値、サンプル、公開識別子を区別します。 +3. 公開対象になるIssue・PR、Actionsのログ・成果物も確認します。代表サンプルと全件検査を区別し、失効して取得できないものは未確認として記録します。 +4. 画像・音声などは、秘密情報のスキャンだけで内容や公開意図を確認済みにしません。未公開の人物情報や第三者素材など、具体的な確認事項がある場合は解消してから判断します。 +5. 公開前後の保護設定を比較します。可視性や契約プランによって、設定済みのルールが有効・無効になることがあります。CMS保存、AI作業、定期更新のactorに対する影響を確認します。 +6. 変更後は認証なしのrepo閲覧、本番サイト、管理経路の認証を確認し、コード変更やデプロイの有無を分けて報告します。 + +管理画面・OAuth・DB連携のコードがあることだけで非公開とは判断しません。 +公開読取用の識別子やデータと、秘密にすべき認証値を区別します。 +検査で見つからなかったことは完全な安全証明ではなく、調べたrevision・範囲・方法と未確認事項を残します。 + +## この方針を変更するとき + +このrepoでは `npm run check` と `community-check` を使います。方針を文書に書くだけでは、 +各repoのGitHub設定は変わりません。対象repo、変更項目、CMS・AI作業への影響、検証結果をPRに記載します。 +個別repoの例外は理由と適用範囲をそのrepoの文書に残し、共通方針との違いを明確にします。 + +参考: [GitHubの保護されたbranch](https://docs.github.com/en/repositories/configuring-branches-and-merges-in-your-repository/managing-protected-branches/about-protected-branches)、 +[可視性変更の影響](https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/managing-repository-settings/setting-repository-visibility)。 diff --git a/profile/README.md b/profile/README.md index 3de5547..027ab92 100644 --- a/profile/README.md +++ b/profile/README.md @@ -12,7 +12,10 @@ Web・業務システム開発、IT教育、コミュニティ運営に取り組 | [acecore-net](https://github.com/acecore-systems/acecore-net) | コーポレートサイト。サービスや技術ブログを公開しています。 | [公式サイト](https://acecore.net/) | | [acecore-schools](https://github.com/acecore-systems/acecore-schools) | Acecore Schoolsの公式サイトと予約・会員ポータル。 | [Schools](https://schools.acecore.net/) | | [cms-ai](https://github.com/acecore-systems/cms-ai) | Sveltia CMS向けのAI会話・権限・PR実装を支える共通基盤。 | [README](https://github.com/acecore-systems/cms-ai#readme) | -| [world-foundation](https://github.com/acecore-systems/world-foundation) | 自由参加・離脱・フォークができる協力基盤の公開設計文書。 | [閲覧サイト](https://world-foundation-site.pages.dev/) | +| [world-foundation](https://github.com/acecore-systems/world-foundation) | 自由参加・離脱・フォークができる協力基盤の公開設計文書。 | [閲覧サイト](https://world-foundation.acecore.net/) | + +エースサーバーの [Portal](https://github.com/acecore-systems/aceserver-portal) と [Wiki](https://github.com/acecore-systems/aceserver-wiki) も公開しています。 +Webサイト、共通基盤、Minecraft関連を含む全体は [公開リポジトリ一覧](https://github.com/acecore-systems/.github/blob/main/PUBLIC_REPOSITORIES.md) をご覧ください。 ## 利用・参加する