{"repo":"feature-sliced/steiger","free":true,"listed":false,"github":"https://github.com/feature-sliced/steiger","clone":"git clone https://github.com/feature-sliced/steiger.git","description":"Universal file structure and project architecture linter","language":"TypeScript","stars":407,"topics":["architecture","folders","imports","linter","naming-conventions"],"license":"MIT","category":"dev-tools","readme_excerpt":"Steiger Universal file structure and project architecture linter. [!NOTE] The project is in beta and in active development. Some APIs may change. [!NOTE] Version 0.5.0 introduced a new config file format. We have a codemod to automatically update your config, see the migration guide. Features - Built-in set of rules to validate adherence to Feature-Sliced Design - Watch mode - Rule configurability Installation Usage To run in watch mode, add -w / --watch to the command: Configuration Steiger is zero-config! If you don't want to disable certain rules, you can safely skip this section. 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. The config file shape is highly inspired by ESLint's config file, so if you have configured ESLint before, you'll find it easy to configure Steiger. Example [!TIP] If you want Steiger to ignore certain files, add an object like this to the config array: Comprehensive showcase of the config file syntax You can see more examples here Migration from 0.4.0 Version 0.5.0 introduced a new config file format. Follow the instructions to migrate your config file. 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. Rule Description fsd/ambiguous-sli","default_branch":null,"files":null,"tree":[],"storefront":"/r/feature-sliced","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/feature-sliced/steiger/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}