As contributors and maintainers, it is best practice to ensure that the packages we're packaging for the first time or updating are Lintian clean to help save other contributors and maintainers from unnecessary stress and to make sure that our packages pass the necessary standardization tests for them to be merged by the reviewers or the maintaining team. This wiki is targeted at newbies who are running the lintian command for the first time and are overwhelmed by what they see on their terminal.
As an initial summary before the whole process, most of the changes you'll be making to your project to satisfy lintian would be carried out in the debian/control directory, and there are about 4 commands you'll get to be repeating throughout the whole process, and they are:
debclean - read https://manpages.debian.org/stretch/devscripts/debclean.1.en.html to have a full grasp of what it does.
git commit <directory that requires commiting> (commits changes made to remote, avoid using git commit . as you may end up committing dangerous files).
gbp dch -a - makes a git commit and enters a changelog entry for the commit, I'd advice that this command be used only after gbp import-orig and after your last dpkg-buildpackage.
dpkg-buildpackage - builds the package, this command like all other ones must be run after any logical change to the concerning directory.
lintian - should be used as often as dpkg-buildpackage, checks lintian again to know if it's clean for upstream push or not.
PS: I worked on node-vue-hot-reload-api package so the first part of this wiki will be using that package as a case study, but the lintian errors could be reproduced while packaging any node module