You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- Before starting a Task do a thorough planning and break down the task in small sub-tasks
5
+
- Use conventional commits. The allowed scopes and types are listed in `./CONTRIBUTING.md#scope` and `./CONTRIBUTING.md#type`
6
+
- Write atomic commits
7
+
- Before finishing a task make sure that `yarn lint:all`, `yarn test` and `yarn build:all` pass as well as the integration tests when running `run-integration-tests.sh`. To run a single test file use `yarn vitest run -t "<test name>"`
8
+
- Sheriff follows a zero-dependencies policy which means that adding a third-party package should be avoided at all costs.
9
+
10
+
# Project Overview
11
+
Sheriff is a TypeScript tool which enforces module boundaries and dependency rules. For more information you can read the documentation in `./docs`.
12
+
13
+
## Important Packages
14
+
-`packages/core`: This is the most important package where all the logic as well as the CLI tool lives
15
+
-`packages/eslint-plugin`: ESLint Plugin using the core packages
16
+
-`test-projects`: Test projects with different setups to make sure that Sheriff works as expected. Some of the setups are covered automatically with integration tests (`integration-test.sh`)
17
+
18
+
# Implementing new features
19
+
- Actual Implementation
20
+
- Check if documentation needs to be updated/added
21
+
- JSDoc for public members
22
+
- Unit Tests (100%)
23
+
- Integration Tests
24
+
25
+
# Bug Fixes
26
+
27
+
First reproduce the bug via a unit test. Once that is done, fix it in the code itself.
0 commit comments