- 🐺 What is this API ?
- 🃏 Roles available
- 🔨 Installation
- 💯 Tests
- ☑️ Code analysis and consistency
- 📈 Releases & Changelog
- ✨ Misc commands
- ©️ License
- ❤️ Contributors
Werewolves Assistant API provides over HTTP requests a way of manage Werewolves games to help the game master.
This is the next version of the current Werewolves Assistant API. It is still under development.
🤔 Want to know more about this awesome project ? Check out the dedicated about page.
27 different official roles are available to play :
To install this project, you will need to have on your machine :
Then, run the following commands :
# Install dependencies and Husky hooks
npm install
# Start dev Docker containers
npm run docker:dev:start
# Start test Docker containers (if you want to run the tests)
npm run docker:test:startUnit and E2E tests are orchestrated with :
Acceptance tests are managed by :
Mutant testing is also available with :
Before testing, you must follow the installation steps.
Then, run one of the following commands :
# Assure you started test Docker containers
npm run docker:test:start
# Run unit tests with coverage
npm run test:unit:cov
# Run e2e tests with coverage
npm run test:e2e:cov
# Run both unit and e2e tests with coverage
npm run test:cov
# Run both unit and e2e tests only on staged files (run on pre-commit)
npm run test:staged
# Run acceptance tests
npm run test:cucumber
# Run mutant tests with coverage
npm run test:stryker
# Run mutant tests with coverage from scratch (without using the incremental file)
npm run test:stryker:forceCode linting is managed by :
In order to keep the code clean, consistent and free of bad TS practises, more than 300 rules are activated !
Complete list of all enabled rules is available in the .eslintrc.js file.
Before linting, you must follow the installation steps.
Then, run one of the following commands :
# Lint
npm run lint
# Lint and fix
npm run lint:fix
# Lint and fix only on staged files (run on pre-commit)
npm run lint:stagedProject is scanned by :
Releases on main branch are generated and published automatically by :
It uses the conventional commit strategy.
Each change when a new release comes up is listed in the CHANGELOG.md file.
Also, you can keep up with changes by watching releases via the Watch GitHub button at the top of this page.
🌳 Animated tree visualisation of the project's evolution with Gource
# Please ensure that `gource` is installed on your system.
npm run gourcenpm run script:create-branchnpm run script:create-pull-requestThis project is licensed under the MIT License.
There is no contributor yet. Want to be the first ?
If you want to contribute to this project, please read the contribution guide.
