Typical use cases
- CHANGELOG or release-note requirements
- Internal CODEOWNERS or review policy enforcement
- Compliance-only files such as audit manifests or architecture records
- Repo conventions that only make sense inside your company
Nerviq plugins let a team extend the built-in catalog with repo-specific or org-specific checks. That means internal rules, compliance controls, or delivery conventions can live inside the same scoring and recommendation system as the platform-native checks.
Nerviq looks for a root-level nerviq.config.js file, loads a plugins array, validates each plugin, and merges the resulting checks into the active technique set.
The config file exports a plugins array. Each plugin provides a name and a checks object.
// nerviq.config.js
module.exports = {
plugins: [
{
name: "my-org-standards",
checks: {
hasChangelog: {
id: "ORG-001",
name: "Project has a CHANGELOG",
check: (ctx) => ctx.files.includes("CHANGELOG.md"),
impact: "medium",
category: "hygiene",
fix: "Create a CHANGELOG.md to track project changes.",
sourceUrl: "https://keepachangelog.com",
confidence: 0.9,
}
}
}
]
};Plugin checks follow the same mental model as built-in Nerviq techniques, which makes them easy to score, rank, and explain.
| Field | Meaning |
|---|---|
id | Stable check identifier such as ORG-001 or TEAM-SEC-04. |
name | Human-readable check name shown in results and recommendation lists. |
check(ctx) | Function returning true, false, or null depending on whether the practice is present and applicable. |
impact | critical, high, medium, or low. This drives severity and recommendation rank. |
category | Any category label you want the custom check to live under. |
fix | Actionable remediation text shown when the check fails. |
A good plugin adds a small set of high-signal checks that reflect your organization’s actual standards instead of recreating the whole Nerviq catalog.
Invalid plugins are skipped. Missing required fields, bad impact values, or non-function check handlers are treated as plugin load errors instead of silent partial success.
Once loaded, plugin checks are merged into the active technique set and behave like first-class findings.
plugin:my-org-standards:hasChangelog
plugin:my-org-standards:hasCodeOwnersPlugin checks use the same impact-based weighting model as built-in checks.
Failed plugin checks appear in the results list, recommendation summaries, and quick-win style flows.
sourceUrl and confidence travel with the plugin check, so your custom logic remains explainable instead of opaque.