ShareX Core Standards について
ShareX Core Standardsは、ShareXのAvalonia実装に携わるコントリビューター向けのリポジトリー規約です。コード、ビルド、テスト、ドキュメント、安全性の要件を定めています。
主な機能
- 01C#ライセンスヘッダー要件
- 02Windowsターゲットフレームワーク規定
- 03SkiaSharpの中央バージョン管理
- 04ビルドとテストの要件
- 05ドキュメントと安全性の規則
活用シーン
- 01C#ファイルの追加や編集
- 02Windows対象プロジェクトの設定
- 03完了前のコード変更チェック
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ sharex/ xerahs --skill sharex-core-standardsインストール後、Claude Code で/sharex-core-standardsを入力して読み込まれたか確認します。
詳細
ライセンスヘッダーの要件
このリポジトリで C# ファイル(.cs)を作成または編集する場合は、ファイルの先頭に次のライセンスヘッダーを含めてください(Avalonia の実装に合わせて調整してください)。
#region License Information (GPL v3)
/*
XerahS - The Avalonia UI implementation of ShareX
Copyright (c) 2007-2026 ShareX Team
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
Optionally you can also view the license at <http://www.gnu.org/licenses/>.
*/
#endregion License Information (GPL v3)
ビルド構成のルール
Windows ターゲットフレームワークモニカー(TFM)
重要:プロジェクトで Windows をターゲットに設定する場合は、プラットフォームバージョンを含む明示的な TFM 形式を使用してください。
net10.0-windows10.0.26100.0
次の形式は使用しないでください:
<TargetFramework>net10.0-windows</TargetFramework> と別個の <TargetPlatformVersion>... プロパティを使用する形式。
これは、CsWinRT を使用したソリューション全体のビルド時に「Windows Metadata not provided」エラーが発生するのを防ぐために必要です。
SkiaSharp のバージョンに関するガイダンス
重要: SkiaSharp はルートの Directory.Packages.props で一元管理されています。管理対象パッケージとネイティブパッケージには、同じ最新バージョンを使用してください。
- 新しいプロジェクトに SkiaSharp を追加する場合、プロジェクト内にバージョンを直接指定するのではなく、共有の中央パッケージバージョンを優先してください。
- バージョンの競合が発生した場合は、旧式の
2.88.9固定を再導入するのではなく、ルートの中央パッケージ管理エントリに合わせてください。 - このガイダンスは、
XerahS.*やShareX.ImageEditorを含むすべてのプロジェクトに適用されます。
一般的なコーディングルール
コードと構成の変更
- 各プロジェクト領域の既存のパターンに従ってください。
- 変更は最小限にとどめ、対象を絞ってください。
- 一見して分かりにくいロジックを説明する必要がある場合に限り、短いコメントを追加してください。
- 重要: コードを変更した後は、必ず
dotnet buildを実行し、完了前にすべてのビルドエラーを修正してください。 - Git のワークフロー、コミット形式、バージョン更新の動作については、
.ai/skills/git-workflow/SKILL.mdに従ってください。 - コンパイルできることを確認し、できない場合は問題を修正してください。 これは、コーディング作業を完了する前に必ず行う確認事項です。
変更の安全性
- 関連のない内容を削除したり、書き換えたりしないでください。
- バージョンの変更は、
.ai/skills/git-workflow/SKILL.mdで定義されたワークフローを通じてのみ適用してください。 - 要件が曖昧な場合は、前提を明確に示してください。
テスト
- 実行可能なコードを変更した場合は、関連するテストを提案してください。
- テストを追加する場合は、現在のテスト規約に合わせてください。
ドキュメント
- 動作や使い方を変更した場合は、ドキュメントを更新または追加してください。
- ファイル名と見出しは、内容が分かりやすく、安定したものにしてください。
- 技術ドキュメントの保存先:他の特定の
docs/サブフォルダーに適切に属さない技術.mdファイルは、すべて自動的にdocs/technicalに保存してください。ルートフォルダーには保存しないでください。 - ドキュメントのコミットに関する期待事項は、
.ai/skills/git-workflow/SKILL.mdに従ってください。
セキュリティ
- シークレットやトークンを含めないでください。
- 例では、機密データのログ出力を避けてください。
出力形式
- 変更を行った場合は、何をどこで変更したかを要約してください。
- 次のステップは、自然で実行可能な場合にのみ提示してください。
コメント
Markdown 対応