Skip to content

Latest commit

 

History

History
85 lines (53 loc) · 2.95 KB

CONTRIBUTING.md

File metadata and controls

85 lines (53 loc) · 2.95 KB

CONTRIBUTING.md

(このドキュメントの日本語バージョン: CONTRIBUTING.ja.md)

How can I contribute to this project?

Currently, you can help us with the following ways:

  • Please find tasks of competitive programming which are seems to be automatically solved, and reporting them in comments of an issue.
    • If possible, please send to us pull requests which add Python codes with stupid algorithms and test cases for the tasks to examples/wip/ directory.
    • The problems which you found and Python codes which you sent are used for testing.

Development process and conventions

Tests

Use the following commands to run tests. Hspec and Doctest are enabled. Also contents of examples/ directory are verified.

$ stack test
$ bash examples/test.sh

The GitHub Actions for tests is defined at .github/workflows/test.yml.

Formatting

There is a script at scripte/pre-commit which checkes formatting of all files. We recommend to configure this as the pre-commit hook with running $ ln -s $(pwd)/scripts/pre-commit .git/hooks/pre-commit.

Haskell

Ormolu and HLint are enabled. Use the following commands to check formatting.

$ stack exec ormolu -- --mode=check $(find src app test -name \*.hs)
$ stack exec hlint -- src app test

Use the following command to fix formatting automatically as possible.

$ stack exec ormolu -- --mode=check $(find src app test -name \*.hs)

The GitHub Actions for formatting if defined at .github/workflows/format.yml.

C++

clang-format is enabled.

Python

yapf and isort are enabled. You can install these with $ pip3 install -r scripts/requirements.txt.

Markdown

Prettier is enabled. you can install this with installing Yarn and running $ yarn install.

YAML

Prettier is enabled. you can install this with installing Yarn and running $ yarn install.

Documents

Haddock is used for internal documents of internal implementation. Run the following command to generate documents locally.

$ stack haddock

Commit messages

Use Conventional Commits.

Versioning

Conforming to Haskell Package Versioning Policy.