azooKeyの開発に参加したい方のため、Contributionの始め方を説明します。
README.mdに従ってプロジェクトをクローンして環境構築を行い、エミュレータや実機デバイスで実行してみてください。
うまくいかないことがあったら、遠慮なくIssueを立ててください。あなたがわからないことは他の人にもわからない可能性があります。
GitHub上で「feat: 〇〇する」というような形のIssueを立ててください。Assigneeを自分のアカウントに変更してください。
GitHub上で、azooKeyのプロジェクトをフォークしてください。あなたのユーザ名が「hoge」の場合は「https://github.com/hoge/azooKey」ができあがります。
「1」でクローンして動かしたazooKeyのディレクトリで、以下のコマンドを実行します。<alias>部分は好きな名前(例えばhoge)に置き換えてください。これにより、あなたのフォークにhogeと言うエイリアスが追加されます。
git remote add <alias> https://github.com/hoge/azooKeyazooKeyではソースコードを整形するため、SwiftLintを用いています。brewなどでインストールしてください。
brew install swiftlint
swiftlint --versionXcodeでは、swiftlintが有効になっていれば自動でソースコードの整形が行われるようになっています。それ以外の環境では手動でswiftlint --fixをazooKey/で実行してください。
azooKeyのディレクトリで、以下のコマンドを実行します。こうすることで、developをベースにブランチを新しく作成できます。
git switch -c feat/do_somethingドキュメントなどを参考に、変更を行ってください。
変更が正しく反映されていることを、XcodeでBuild・Runして確認してください。
まず、変更をcommitしてください。Xcode上でやるのが簡単だと思います。この際、余計なファイルがcommitされていないか注意してください。
ブランチをpushします。
git push <alias> feat/do_something「feat: 〇〇する」のようなPull Requestを立ててください。管理者が確認し、問題なければmergeします。mergeされた変更は、その後のリリースでazooKeyのユーザに提供されます。
これが一連のプロセスです。少しやることが多いように見えますが、ほとんどは一般的な開発のプロセスと変わりません。
わからないことがあれば、気軽にIssueを立ててください。Issueをきっかけにドキュメントを追加したり、よりわかりやすい表現に置き換えたりすることができます。
基本的に、開発は以上のプロセスと同じ方法で行います。開発への参加は大歓迎です。
何か新しいことを始める場合、まずはIssueを立てるか、すでに立っているIssueを引き受けてください。Good First IssueのラベルのついているIssueは取り組みやすいと思います。
開発作業中にわからないことがあった場合は気軽にIssueで質問してください。
不具合はIssueで管理しています。Bugなどのタグでフィルターすると見つけられるでしょう。新たに見つけた不具合を修正する場合は、Issueを立ててください。
新機能もIssueで管理しています。Enhancementなどのタグでフィルターすると見つけられるでしょう。新たな機能を提案する場合は、Issueを立ててください。
新機能の提案は受け入れられる場合と受け入れられない場合がありますが、Vision Document (docs/visions) の内容に則った提案は受け入れられる可能性が高いです。
テストを追加する、ドキュメントを整理・追加する、コードを高速化するなど、気軽に提案してください。