Code-style and linting presets cli-tool to quickly scaffold project development.
All stacks use
lintstaged to run all linted stacks when code is commited to the git repository. We feel that this is a really nice approach to avoid un-linted code creeping into the codebase.
Because standard lint configuration files are used any related Code-editor plugins should pickup and follow the same ruleset, or when running individual linters directly.
stacklint all node and composer packages required to lint the selected stacks are added to your configuration files and individual config files for each stack are also included.
Stacklint is intended to be installed globally so that it can easily be run and there is no need to include the dependency in your project specific package.json.
npm install -g stacklint
stacklint [options] <stacks>
After installing your lint stacks you will need to run required installs.
Note: Because lintstaged installs some git hooks, you should initialise your git repository before running
npm install after setting up your stacks.
The following example will setup all required files and packages to lint
md Markdown files when they are committed to git.
stacklint php md json
Installs packages and configs for:
- PHP Codesniffer
stacklint js airbnb vue
Installs packages and config for:
- Airbnb extend
- Vue.js plugin
- Babel plugin
You can quickly check which stacks are available by running
stacklint -l or
- airbnb (Airbnb style guide)
- laravel (Use instead of
phpif using laravel)
- md (Markdown)
- php (PSR-2)
- vue (Requires
We welcome any contributions, especially new lint stacks.
If you have any question or problems please open an issue (or submit a PR). Alternatively you can contact me, m2de on Twitter.