Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/cremindes/whalelint
Dockerfile linter written in Go. It provides static analysis for Dockerfiles, identifying common mistakes and promotes best practices.
https://github.com/cremindes/whalelint
container docker docker-container docker-image dockerfile dockerfile-linter dockerhub jetbrains-plugin linter vscode-extension
Last synced: 12 days ago
JSON representation
Dockerfile linter written in Go. It provides static analysis for Dockerfiles, identifying common mistakes and promotes best practices.
- Host: GitHub
- URL: https://github.com/cremindes/whalelint
- Owner: CreMindES
- License: mit
- Created: 2020-12-16T13:13:03.000Z (about 4 years ago)
- Default Branch: main
- Last Pushed: 2023-11-14T18:24:57.000Z (over 1 year ago)
- Last Synced: 2025-01-30T20:29:40.174Z (21 days ago)
- Topics: container, docker, docker-container, docker-image, dockerfile, dockerfile-linter, dockerhub, jetbrains-plugin, linter, vscode-extension
- Language: Go
- Homepage:
- Size: 1010 KB
- Stars: 13
- Watchers: 1
- Forks: 2
- Open Issues: 29
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
#
WhaleLint
[](http://golang.org)
> *Disclaimer: this has started out as a pet-project while learning Golang.*
Dockerfile linter written in Go.
It provides static analysis for Dockerfiles, identifying common mistakes and promotes best practices.
![]()
## Sample output
![]()
## Rules
Each Dockerfile AST element has a corresponding set of rules. Click on the picture for details.
## Development
### Roadmap
| Feature | | Status |
|---|---|---|
| Extendable ruleset| |  |
| CLI | | | |
| Configurable Output | | 
| - JSON |  |
| - Colored Summary |  |
| Docker image | |  |
| Rule pass | |  |
| - Per line |  |
| - Config file |  |
| Config file | |  |
| - Rule profiles |  |
| IDE plugins/extensions | | 
| - VSCode | 
| - JetBrains | ### Design Decisions
A collection of documents describing the thought process behind selected design decisions. [Link >](docs/design/readme.md)
### Contribution Guide
[Link > TODO](docs/contribution/readme.md)
## Docker Image


```bash
docker pull cremindes/whalelint:[tag]
docker run --rm -v $(pwd)/Dockerfile:/Dockerfile cremindes/whalelint:[tag] Dockerfile
```## Plugins
### JetBrains


![]()
*Note: make sure, to also install the [Docker plugin](https://plugins.jetbrains.com/plugin/7724-docker) in case it's not bundled with the IDE.
### VSCode
[](https://marketplace.visualstudio.com/items?itemName=tamasgbarna.whalelint)
[](https://marketplace.visualstudio.com/items?itemName=tamasgbarna.whalelint)
![]()
## Alternatives
[Alternatives](docs/alternatives/readme.md)