Офлайн-линтер прозы для командных правил стиля: работает в редакторах, CI и коде.
loeffel-io/ls-lint
Быстрый CLI-линтер для проверки имен каталогов и файлов по правилам, заданным в файлах .ls-lint.yml.
- Звёзды
- 2,430
- Форки
- 46
- Открытые issues
- 43
- Последний коммит
- вчера
Что это?
ls-lint проверяет имена каталогов и файлов в проекте по заданным правилам, например kebab-case, camelCase или PascalCase. Он также может проверять, что рядом с исходными файлами есть связанные файлы, например тесты. Правила задаются в одном или нескольких файлах .ls-lint.yml: шаблонам путей сопоставляются применимые к ним соглашения об именовании.
Линтер поддерживает любые расширения файлов и имена в Unicode, а также работает в Windows, macOS и Linux. Помимо отдельного бинарного файла, его можно установить через npm, Homebrew или Docker. Для запуска в CI доступен GitHub Action. С помощью шаблонов исключений можно пропустить проверки каталогов вроде node_modules.
Инструмент написан на Go и использует всего пару небольших библиотек для разбора YAML и сопоставления по glob-шаблонам.
Ключевые возможности
- 01Задание правил именования для шаблонов путей в файлах .ls-lint.yml
- 02Поддержка kebab-case, camelCase, PascalCase и шаблонов на основе регулярных выражений
- 03Проверка наличия связанных файлов, например тестов
- 04Поддержка любых расширений файлов и имён в полном диапазоне Unicode
- 05Шаблоны исключений для пропуска каталогов вроде node_modules
Сценарии использования
- Поддержание единообразных имён файлов в кодовой базе frontend-приложения или монорепозитория
- Проверка соглашений об именовании файлов в CI перед слиянием pull request
- Проверка наличия обязательных тестовых файлов в каждом каталоге компонентов
Быстрый старт
- 1
Установите npm-пакет @ls-lint/ls-lint, формулу Homebrew или образ Docker, как указано в README
- 2
Создайте файл .ls-lint.yml и задайте в нём правила именования каталогов и файлов
Темы
Частые вопросы
- Что такое ls-lint?
- Быстрый CLI-линтер для проверки имен каталогов и файлов по правилам, заданным в файлах .ls-lint.yml. ls-lint проверяет имена каталогов и файлов в проекте по заданным правилам, например kebab-case, camelCase или PascalCase. Он также может проверять, что рядом с исходными файлами есть связанные файлы, например тесты. Правила задаются в одном или нескольких файлах .ls-lint.yml: шаблонам путей сопоставляются применимые к ним соглашения об именовании.
- ls-lint можно использовать бесплатно? Какая у него лицензия?
- ls-lint распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- ls-lint всё ещё поддерживается?
- Активно поддерживается. Последний коммит в ls-lint — 21 окт. 2026 г..
- Для чего можно использовать ls-lint?
- Поддержание единообразных имён файлов в кодовой базе frontend-приложения или монорепозитория Проверка соглашений об именовании файлов в CI перед слиянием pull request Проверка наличия обязательных тестовых файлов в каждом каталоге компонентов
- Как установить ls-lint?
- Установите npm-пакет @ls-lint/ls-lint, формулу Homebrew или образ Docker, как указано в README Создайте файл .ls-lint.yml и задайте в нём правила именования каталогов и файлов
- Где скачать ls-lint?
- Исходный код и инструкции по установке — на GitHub: https://github.com/loeffel-io/ls-lint
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Black — форматтер Python-кода с заданным стилем и предсказуемым результатом, который перезаписывает файлы с минимальными diff.
Быстрый менеджер Git hooks на Go, который параллельно запускает pre-commit и другие команды хуков в проектах на Node.js, Ruby, Python и других языках.
Быстрый CLI-инструмент статического анализа с открытым исходным кодом: находит ошибки и проверяет соблюдение стандартов с помощью похожих на код шаблонов, а не regex или AST.
Быстрый линтер Dockerfile на Go: более 60 правил, оценка качества и проверки безопасности секретов и использования ARG.
Быстрая и удобная альтернатива Unix-команде find для поиска файлов и каталогов по имени.