Problem: we use REUSE headers, but casual contributor may not know
anything about them, it makes it harder to contribute.
Solution: describe legal stuff in `CONTRIBUTING.md`.
Problem: nowadays we want all files to store licensing information in
machine-readable format and to use reuse tool to check that. But the
repo is not REUSE compliant.
Solution: add `LICENSES` folder and licensing information for each
file.
Problem: it was agreed with Kostya Ivanov that the copyright owner
is Serokell, so it should be updated in package.yaml.
Also it mentions incorrect license (the one in the repo is MPL-2.0)
and does not have license-file.
Solution: update `copyright` field and `license` field. Also add
`license-file`. Update maintainer as well, because now many people
from Serokell are involved.
I also took the liberty to fix the `github` field.
To support more different way to keep templates for issues and pull
requests.
Also I removed `docs/pull_request_template.md` because `docs` does not
seem to be the canonical choice for such files; if user needs to place
his files in such location, then he can adjust config correspondingly.
Problem: it looks like structure of GitHub repositories has changes, and
now issues page can be located under `../../../issues`, not
`../../issues`.
Solution: adjust config.
Also made some fixes in naming and fit all comments into 80 chars.
Problem: by default, when creating an issue, user has to fill everything
from scratch and this is not good.
Solution: add issue templates for `task` and `bug`, refer people to
page for openning new issue in `CONTRIBUTING.md`.
Problem: after recent fix the user has to specify configuration file
even if it is present in the working directory of crossref-verify run.
That's not convenient.
Solutiion: if custom config path is not specified, first try to find
it under common filenames. When configuration file is not found anyway
we now print a warning before falling back to default config.
Problem: latest available LTS resolver is 14.16 and `crossref-verifier`
doesn't compile with it.
Solution: update resolver to 14.16. Newer versions of some packages
are used from now on. I assume that it shouldn't break anything as
long as tests pass.
`req` stopped using `Default` class, that's the only change in the code
I had to make.
Initially the primary use case for this tool in my point of view was
repeated runs for a repository until documentation is valid, thus I've
set checking only local refs as default behaviour (checking external
refs takes way longer).
Another motivation was that I expected CI to have one mandatory job for
local scan and one optional for remote refs scan.
Now I think that there are more reasons to perform full scan by default.
* It occured that in CI we usually want to have all checks optional, so
that someone could temporarily break links on purpose (e.g. in case
of mutually-dependent pull requests).
* First impression is important, and we want to demostrate all the
features of the tool in default run.
* If use case mentioned in the very top actually takes place, one can
add the necessary option, that's fine.