steiger
v0.4.0
Published
Universal file structure and project architecture linter
Downloads
4,697
Readme
Steiger
Universal file structure and project architecture linter.
[!NOTE] The project is in beta and in active development. Some APIs may change.
Features
- Built-in set of rules to validate adherence to Feature-Sliced Design
- Watch mode
- Rule configurability
Installation
npm i -D steiger
Usage
steiger ./src
To run in watch mode, add -w
/--watch
to the command:
steiger ./src --watch
Configuration
Steiger is configurable via cosmiconfig
. That means that you can create a steiger.config.ts
or steiger.config.js
file in the root of your project to configure the rules. Import { defineConfig } from "steiger"
to get autocompletion.
import { defineConfig } from 'steiger'
export default defineConfig({
rules: {
'no-public-api': 'off',
},
})
Rules
Currently, Steiger is not extendable with more rules, though that will change in the near future. The built-in rules check for the project's adherence to Feature-Sliced Design.
Contribution
Feel free to report an issue or open a discussion. Ensure you read our Code of Conduct first though :)
To get started with the codebase, see our Contributing guide.
Legal info
Project licensed under MIT License. Here's what it means