https://github.com/softarc-consulting/sheriff
  
  
    Lightweight Modularity for TypeScript Projects 
    https://github.com/softarc-consulting/sheriff
  
architecture modularization tooling typescript
        Last synced: 6 months ago 
        JSON representation
    
Lightweight Modularity for TypeScript Projects
- Host: GitHub
 - URL: https://github.com/softarc-consulting/sheriff
 - Owner: softarc-consulting
 - License: mit
 - Created: 2023-04-01T13:03:55.000Z (over 2 years ago)
 - Default Branch: main
 - Last Pushed: 2024-10-25T10:30:32.000Z (about 1 year ago)
 - Last Synced: 2024-10-25T12:19:59.246Z (about 1 year ago)
 - Topics: architecture, modularization, tooling, typescript
 - Language: TypeScript
 - Homepage: https://softarc-consulting.github.io/sheriff/
 - Size: 10.6 MB
 - Stars: 196
 - Watchers: 5
 - Forks: 14
 - Open Issues: 20
 - 
            Metadata Files:
            
- Readme: README.md
 - License: LICENSE
 
 
Awesome Lists containing this project
- awesome-angular - Sheriff - Lightweight Modularity for TypeScript Projects. (Underlying Technologies / TypeScript)
 - fucking-awesome-angular - Sheriff - Lightweight Modularity for TypeScript Projects. (Underlying Technologies / TypeScript)
 
README
          # Sheriff

[](https://www.npmjs.com/package/%40softarc%2Fsheriff-core)
Sheriff is a tool designed to enforce module boundaries and dependency rules in TypeScript projects, ensuring a clean and maintainable codebase.
It operates with zero dependencies, requiring only TypeScript as a peer dependency.
Sheriff can be integrated with ESLint for enhanced developer experience or used standalone through its CLI.
Key features include:
- Enforcing module boundaries by defining public APIs through `index.ts` files.
- Dependency rules to control access between different parts of your application.
- Support for automatic and manual tagging of modules to apply dependency rules effectively.
- A CLI for initializing configurations, verifying rules, listing modules, and exporting dependency graphs.
For a more detailed guide on installation, setup, and usage, head to the **[Documentation](https://softarc-consulting.github.io/sheriff/)**.
To install Sheriff with the ESLint plugin, run
```shell
npm i -D @softarc/sheriff-core @softarc/eslint-plugin-sheriff
npx sheriff init
```