Goal of this project is to keep consistent and concise codebase spread across many repositories.
Philosophy:
- Define required files (such as dependency locks, test runner configs, etc)
- Define shape of source code by convenient yaml notation
- Ignore directories that hold no value for consistency (docs, assets, misc)
- Run in CI/CD to make sure your changes comply with expected standard
When binary is executed it should produce output similar to the following
srclint .
Each directory needs to have config file in working directory for the program. Basic config looks like this:
version: 1
required:
- "srclint.yml"
structure:
- "src/**"
ignore:
- ".idea"
- Missing required file
- Source code structure failed validation
- Detect errors and suggest change based on string similarity between allowed and failing paths.
- Add --fix command to handle case from #1