Skip to content

Latest commit

 

History

History
64 lines (40 loc) · 2.79 KB

CONTRIBUTING.ja.md

File metadata and controls

64 lines (40 loc) · 2.79 KB

CONTRIBUTING.ja.md

(The English version of this document: CONTRIBUTING.md)

どのようにしてこのプロジェクトに貢献できますか?

いまのところ、以下をしていただけると助かります:

  • 自動的に解けそうな競技プログラミングの問題を探して issue のコメント欄で報告してください。
    • 可能なら、その問題の愚直解の Python コードやテストケースを作って examples/wip/ ディレクトリに追加するプルリクを出してください。
    • 見つけてもらった問題や送ってもらった Python コードはテストに利用されます。

Development process and conventions

Tests

テストには以下のコマンドを実行してください。 HspecDoctest が有効になっています。 また examples/ ディレクトリの中身が検査されます。

$ stack test
$ bash examples/test.sh

テストのための GitHub Actions は .github/workflows/test.yml で定義されています。

Formatting

フォーマットの検査には以下のコマンドを実行してください。 OrmoluHLint が有効になっています。

$ 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 で定義されています。

Documents

実装内部のドキュメントには Haddock が使われています。 ローカルでドキュメントを生成するには以下のコマンドを実行してください。

$ stack haddock

Commit messages

Conventional Commits を使ってください。

Versioning

受け入れる Python 風言語の仕様を public API と見なしての Semantic Versioning が使われています。 ただし Haskell Package Versioning Policy に由来して MAJOR versions をふたつ持っています。