(The English version of this document: CONTRIBUTING.md)
いまのところ、以下をしていただけると助かります:
- 自動的に解けそうな競技プログラミングの問題を探して issue のコメント欄で報告してください。
- 可能なら、その問題の愚直解の Python コードやテストケースを作って examples/wip/ ディレクトリに追加するプルリクを出してください。
- 見つけてもらった問題や送ってもらった Python コードはテストに利用されます。
テストには以下のコマンドを実行してください。 Hspec と Doctest が有効になっています。 また examples/ ディレクトリの中身が検査されます。
$ stack test
$ bash examples/test.sh
テストのための GitHub Actions は .github/workflows/test.yml で定義されています。
フォーマットの検査には以下のコマンドを実行してください。 Ormolu と HLint が有効になっています。
$ stack exec ormolu -- --mode=check $(find src app test -name \*.hs)
$ stack exec hlint -- src app test
フォーマットを可能な範囲で自動で修正するには以下のコマンドを実行してください。
$ stack exec ormolu -- --mode=inplace $(find src app test -name \*.hs)
フォーマットのための GitHub Actions は .github/workflows/format.yml で定義されています。
実装内部のドキュメントには Haddock が使われています。 ローカルでドキュメントを生成するには以下のコマンドを実行してください。
$ stack haddock
Conventional Commits を使ってください。
受け入れる Python 風言語の仕様を public API と見なしての Semantic Versioning が使われています。 ただし Haskell Package Versioning Policy に由来して MAJOR versions をふたつ持っています。