貢献に興味を持っていただきありがとうございます!PokeTokenBar は小さな非商用の ファンプロジェクトで、大小を問わずあらゆる貢献を歓迎します — バグ報告、修正、 新しい使用量プロバイダー、翻訳、ドキュメント。
プルリクエストを開く前に、以下の短いセクションをお読みください。
- macOS 14 (Sonoma) 以降
- Swift 6 ツールチェーン (Xcode 16 以降) —
Package.swiftが要求 (swift-tools-version: 6.0)
本プロジェクトは Swift Package です。リポジトリのルートから:
swift build # アプリターゲットをコンパイル
swift test # 全テストスイートを実行CI はすべてのプルリクエストで swift build と swift test を実行します。まず
ローカルで両方が通ることを確認してください。
mainから feature ブランチを作成します(書き込み権限がなければリポジトリを fork)。- テストとともに変更します。変更は focused に保ってください。
mainに対してプルリクエストを開きます。- CI が通りレビューが完了したら、squash merge でマージされます。
本リポジトリでは、共同作業で残るもの(Issue・PR・公開コメント)は 英語を第一言語とします:
- プルリクエストのタイトルと本文は英語である必要があります。
- コミットメッセージは英語で書いてください。
リポジトリは squash-merge するため、PR タイトルが main のコミット件名になります —
英語の PR が公開履歴を一貫させます。
- Conventional Commits スタイルを使用:
feat:,fix:,docs:,chore:,refactor:,test:など。 - プルリクエストテンプレートを記入してください。
- UI の変更(
Sources/PokeTokenBar/UI/配下のすべて)は、PR で before/after を 説明してください。スクリーンショットや GIF は歓迎ですが任意です — 明確なテキスト説明で 十分です。正式なassets/スクリーンショットは PR ごとではなくリリース時に 再生成されます。
本アプリは設計上プロバイダー非依存(provider-agnostic)です。拡張する際は次のルールに 従ってください(テストでも強制されます):
- 使用量ソースの追加(新しい AI CLI)=
UsageProviderプロトコル (Sources/PokeTokenBar/Core/UsageProvider.swift) を新しい型ひとつで実装し、UsageStore.initのデフォルトproviders:配列 (Sources/PokeTokenBar/Core/UsageStore.swift) に登録します。触れる必要があるのは この2箇所だけです。 - 汎用的な動作はすべてのプロバイダーにわたって集計する必要があります(今日/週/月の
合計、消費ペースの段階、コンパニオンのリズム)。汎用的な計算を特定のプロバイダーに結び付けたり、
汎用パスに
providerID == "..."のリテラル分岐を追加したりしないでください。 プロバイダー固有の動作(例: 公式の上限)だけがproviderIDで分岐できます。 - バージョンマネージャー / インストールパスの追加 =
BinaryLocator.commonToolDirectories()に追加します — 探索と子プロセスのPATHが 共有する単一のソースです。 - 追記専用 SQLite 使用量ストアの追加(Cursor・Copilot のように rowid/
idウォーターマーク)=LocalAdditionalUsageReader.scanIncrementalStoresに URL /MAXSQL / row query / parse だけ渡す。ウォーターマーク・ループをコピーしない。
PokeTokenBar は非公式・非商用のファンプロジェクトであり、任天堂、ゲームフリーク、 クリーチャーズ、株式会社ポケモンとは提携していません (README の免責を参照)。プロジェクトを安全に維持・ 配布するため、貢献は必ず次のルールに従う必要があります:
- ポケモン(またはその他の第三者)の著作物をコミット・バンドルしないでください — スプライト、アートワーク、音声、フォント、名前/データの一括ファイル。ポケモンの種族 データおよびスプライトは、公開されている PokéAPI から 実行時に取得され、ユーザーの端末にローカルキャッシュされます。そのまま維持して ください。
- 商用利用を意図した機能や、著作物を再配布・エクスポートする機能を追加しないで ください。
- シークレット、認証情報、非公開/内部ツールへの参照をコミットしないでください。 リポジトリ内のものはすべて、特定の環境に依存せず公開しても安全な状態に保ってください。
- 貢献を提出することにより、それがあなた自身のオリジナルな成果物であることを確認し、 本プロジェクトの MIT License の下でライセンスされることに同意したものと します。MIT ライセンスは本プロジェクトのソースコードのみを対象とし — 第三者の商標・ アートワーク・データに関する権利は付与しません。
Issue テンプレートを使用してください。バグの場合は、macOS のバージョン、アプリの バージョン、使用している AI CLI、再現手順を含めてください。
権利者の方で本プロジェクトに懸念がある場合は、Issue を作成するかメンテナーまで ご連絡ください。速やかに対応いたします。