Shareable Secretlint Config
📄 About
Shareable configuration for Secretlint — a tool for linting and fixing secrets in your codebase.
The configuration provides a set of rules and settings that can be easily shared and reused across different projects, reducing the amount of boilerplate code needed to set up Secretlint in each project.
→ Purpose
Simplify the process of setting up Secretlint in a project by providing a pre-configured set of rules and settings. This package can be useful for developers who want to:
- Use Secretlint in their project but don't want to spend time configuring it from scratch
- Share Secretlint configuration across multiple projects
- Avoid maintaining and updating Secretlint configuration in every project manually
The configuration includes a set of preconfigured rules, such as @secretlint/secretlint-rule-preset-recommend
, that check for common mistakes and prevent secrets from being accidentally committed to the repository.
💿 Installation
To use Secretlint with @hybrbase/secretlint-config
in a mono-repository, you can install them at the root level and configure it to lint only the packages that require it. Follow these steps:
-
Install
secretlint
and@hybrbase/secretlint-config
as development dependencies at the root of your mono-repository using the package manager of your choice (npm
,yarn
,pnpm
, etc.). For example, usingpnpm
:pnpm add -Dw secretlint @hybrbase/secretlint-config
-
Create a
.secretlintrc.json
configuration file in the root of your mono-repository with the following content:{ "rules": {}, "rulesConfig": {}, "plugins": [], "processor": "", "noDefaultConfig": true, "configs": { "@hybrbase/secretlint-config": true }, "ignore": [], "include": [ "packages/*/**", "apps/*/**" ] }
In this example, Secretlint is configured to use the
@hybrbase/secretlint-config
package as its configuration, and to lint only the directories in thepackages
andapps
folders of the mono-repository.You can adjust the
include
andexclude
patterns to match your specific mono-repository structure and exclude files or directories that don't need to be linted. -
Add a linting script to the
scripts
section of thepackage.json
file at the root of your mono-repository:pnpm pkg set scripts.lint:secrets="secretlint"
This will add the
lint:secrets
script to thescripts
section of yourpackage.json
.
That's it! You can now run the lint:secrets
script to lint the relevant packages in your mono-repository.