This commit introduces a test coverage check to the CI pipeline,
which will fail the build if the total coverage is below 60%. A
number of new tests were added to the project to meet this new
threshold. This change helps to maintain code quality by requiring
tests for new code.
The `config` and `archive` packages were refactored to make them
more modular and testable. The paths for the config file and the
archive directory are now defined in the `main.go` file, making
them a concern of the user rather than the package.
Finally, the `golangci-lint` dependency was removed from the
`tools.go` file, as per the recommendation of the `golangci-lint`
authors.