Sign inSign up

ahmetenesdemir/pre-commit-filename-linter

By ahmetenesdemir

•Updated over 1 year ago

Enforce consistent file and directory naming conventions in your projects with pre-commit

Image
1

2.0K

ahmetenesdemir/pre-commit-filename-linter repository overview

⁠Pre-commit Filename Linter

šŸš€ Enforce consistent file and directory naming conventions in your projects

Docker Pulls Docker Image Size Multi-Platform

ā šŸŽÆ What it does

  • āœ… Enforces kebab-case for files and directories
  • āœ… Allows snake_case for Python files
  • āœ… Detects empty files that shouldn't be committed
  • āœ… Finds duplicate files with identical content
  • āœ… Unicode support for international projects
  • āœ… Configurable rules via YAML files

ā šŸš€ Quick Start

repos:
  - repo: local
    hooks:
      - id: check-file-names-docker
        name: Check file names (Docker)
        entry: ahmetenesdemir/pre-commit-filename-linter:latest check-file-names
        language: docker_image
        files: .*
        pass_filenames: true
      - id: check-directory-names-docker
        name: Check directory names (Docker)
        entry: ahmetenesdemir/pre-commit-filename-linter:latest check-directory-names
        language: docker_image
        files: .*
        pass_filenames: false
        always_run: true
        args: ['--config', '.naming-convention.yaml']
⁠Manual Usage
# Check files in current directory
docker run --rm -v $(pwd):/app ahmetenesdemir/pre-commit-filename-linter:latest check-file-names *.md

# Check for directories name
docker run --rm -v $(pwd):/app ahmetenesdemir/pre-commit-filename-linter:latest check-directory-names

# Check for empty files
docker run --rm -v $(pwd):/app ahmetenesdemir/pre-commit-filename-linter:latest check-empty-files

# Check for duplicates
docker run --rm -v $(pwd):/app ahmetenesdemir/pre-commit-filename-linter:latest check-duplicate-files

ā šŸ› ļø Available Commands

CommandDescription
check-file-namesCheck file naming conventions
check-directory-namesCheck directory naming conventions
check-empty-filesDetect empty files
check-duplicate-filesFind duplicate files

ā šŸ“‹ Examples

ā āœ… Good Names
user-authentication.md
api-documentation.md  
user_service.py
docker-compose.yml
ā āŒ Bad Names
UserAuthentication.md    # Uppercase
user_authentication.md  # Underscores in non-Python
doc1.md                 # Not descriptive
system architecture.md  # Spaces

ā šŸ”§ Configuration

Create .naming-convention.yaml:

files:
  use-hyphen: true
  allow-unicode: false
  
directories:
  use-hyphen: true
  min-length: 3

ā šŸŒ Multi-Platform Support

Supports both Intel/AMD and Apple Silicon architectures:

  • linux/amd64
  • linux/arm64

ā šŸ“š Documentation

Full documentation: GitHub Repository⁠

ā šŸ·ļø Tags

  • latest - Latest stable version
  • v1.x.x - Specific version tags

Tag summary

Content type

Image

Digest

sha256:9d2f32357…

Size

21.4 MB

Last updated

over 1 year ago

docker pull ahmetenesdemir/pre-commit-filename-linter