All Projects → bloom42 → Flint

bloom42 / Flint

Licence: apache-2.0
Fast and configurable filesystem (file and directory names) linter

Programming Languages

go
31211 projects - #10 most used programming language
golang
3204 projects

Projects that are alternatives of or similar to Flint

Rocket
Automated software delivery as fast and easy as possible 🚀
Stars: ✭ 217 (+88.7%)
Mutual labels:  devops, devops-tools, ci, continuous-integration, continuous-delivery, cd
Lastbackend
System for containerized apps management. From build to scaling.
Stars: ✭ 1,536 (+1235.65%)
Mutual labels:  devops, ci, continuous-integration, continuous-delivery, cd
Orkestra
Functional DevOps with Scala and Kubernetes
Stars: ✭ 102 (-11.3%)
Mutual labels:  devops, ci, continuous-integration, continuous-delivery, cd
Iceci
IceCI is a continuous integration system designed for Kubernetes from the ground up.
Stars: ✭ 29 (-74.78%)
Mutual labels:  devops, devops-tools, ci, continuous-integration
Gocd
Main repository for GoCD - Continuous Delivery server
Stars: ✭ 6,314 (+5390.43%)
Mutual labels:  ci, continuous-integration, continuous-delivery, cd
Abstruse
Abstruse is a free and open-source CI/CD platform that tests your models and code.
Stars: ✭ 704 (+512.17%)
Mutual labels:  ci, continuous-integration, continuous-delivery, cd
Escape
Release engineering, life-cycle management and Continuous Delivery of software platforms and artefacts
Stars: ✭ 199 (+73.04%)
Mutual labels:  devops, devops-tools, continuous-integration, continuous-delivery
Jenkins Rest
Java client, built on top of jclouds, for working with Jenkins REST API
Stars: ✭ 201 (+74.78%)
Mutual labels:  devops, ci, continuous-integration, cd
flagsmith-nodejs-client
Flagsmith Node JS Client. Flagsmith lets you manage features flags across web, mobile and server side applications. Get builds out faster. Control who has access to new features.
Stars: ✭ 13 (-88.7%)
Mutual labels:  continuous-integration, continuous-delivery, ci, cd
Android-CICD
This repo demonstrates how to work on CI/CD for Mobile Apps 📱 using Github Actions 💊 + Firebase Distribution 🎉
Stars: ✭ 37 (-67.83%)
Mutual labels:  continuous-integration, continuous-delivery, ci, linter
Pipelines
Build pipelines for automation, deployment, testing...
Stars: ✭ 105 (-8.7%)
Mutual labels:  ci, continuous-integration, continuous-delivery, cd
Rok8s Scripts
Opinionated scripts for managing application deployment lifecycle in Kubernetes
Stars: ✭ 248 (+115.65%)
Mutual labels:  ci, continuous-integration, continuous-delivery, cd
Nevergreen
🐤 A build monitor with attitude
Stars: ✭ 170 (+47.83%)
Mutual labels:  ci, continuous-integration, continuous-delivery, cd
Gaia
Build powerful pipelines in any programming language.
Stars: ✭ 4,534 (+3842.61%)
Mutual labels:  devops, devops-tools, continuous-integration, continuous-delivery
www.go.cd
Github pages repo
Stars: ✭ 39 (-66.09%)
Mutual labels:  continuous-integration, continuous-delivery, ci, cd
Gitlab Ci Pipeline Php
☕️ Docker images for test PHP applications with Gitlab CI (or any other CI platform!)
Stars: ✭ 451 (+292.17%)
Mutual labels:  ci, continuous-integration, continuous-delivery, cd
Lambdacd
a library to define a continuous delivery pipeline in code
Stars: ✭ 655 (+469.57%)
Mutual labels:  ci, continuous-integration, continuous-delivery, cd
Agola
Agola: CI/CD Redefined
Stars: ✭ 783 (+580.87%)
Mutual labels:  devops, continuous-integration, continuous-delivery
Dyn365 Ce Vsts Tasks
VSTS Extension for Dynamics 365 Customer Engagement
Stars: ✭ 94 (-18.26%)
Mutual labels:  devops, continuous-integration, continuous-delivery
Haiku
🚀 Instant Heroku deploys from GitHub branches
Stars: ✭ 17 (-85.22%)
Mutual labels:  ci, continuous-integration, continuous-delivery

Flint

GoDoc GitHub release Build Status

You think there is no place in code reviews to discuss about files naming conventions ? Impose consistent files and directories naming rules with flint: the filesystem linter.

  1. Installation
  2. Docker image
  3. Usage
  4. Configuration
  5. Available rules
  6. Available formatters
  7. License

Installation

Using go (nightly)

$ go get -u github.com/bloom42/flint

Binary releases

https://github.com/bloom42/flint/releases/latest

Docker image

bloom42/flint

Usage

Go to your project's root directory then

$ flint init # create a configuration file with default configuration
$ flint
# or cd my_directory && flint to lint only current directory and subfiles

Configuration

Configuration is stored in a .flint.sane file at the root of your project (repo).

When runned, flint will recursively search upward for a configuraiton file, starting in the current directory.

$ cat .flint.sane
description = "This is a configuration file for flint, the filesystem linter. More information here: https://github.com/z0mbie42/flint"
default_severity = "warning" # valid values are [off, warning, error]
error_exit_code = 1
warning_exit_code = 0
match_format = "blob" # match format for ignore_directories and ignore_files, valid values are [blob, regexp]


# you can ignore files and directories using glob or regexp syntax according to the configuration above
ignore_files = [".*", "vendor", "Gopkg.toml", "Gopkg.lock", "README.md", "LICENSE"]
ignore_directories = [".*", "vendor"]


# define used rules
rules = {
  "dir/no_dot" = {}
  "file/lower_case_ext" = {}
  "file/no_multi_ext" = {}
  no_empty_name = {}
  no_leading_underscores = {}
  no_trailing_underscores = {}
  no_whitespaces = {}
  snake_case = {
    severity = "error"
  }
}

Available rules

Name Description
dir/no_dot Disallows the usage of . in directory names.
file/lower_case_ext Files names should be lower cased.
file/no_multi_ext Disallows usage of multiple extensions in file names (eg. main.text.js).
no_empty_name Disallows usage of names which only contains whitespaces.
no_leading_underscores Disallows usage of leading underscores in names.
no_trailing_underscores Disallows usage of trailing underscores in names.
no_whitespaces Disallows usage of whitespaces in names.
snake_case Force names to respect the snake case convention (only lower cased alphanum and underscores).

Available formatters

Console

Console formatter

Basic

Basic formatter

Json

Json formatter

Ndjson

Ndson formatter

License

See LICENSE.txt and https://opensource.bloom.sh/licensing

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].