Loading...
Loading...
Add a new linter to vigiles's cross-referencing engine as one cohesive, type-enforced unit — a LinterAdapter in the LINTERS registry, with the conformance test enforcing docs + site parity so no site is forgotten
npx skill4agent add zernie/vigiles add-a-linterenforce("eslint/...")LINTERSRecord<BuiltinLinter, LinterAdapter>tscsrc/core/linter-contract.test.tsresearch/linter-adapter-architecture.mdLinterAdapterBUILTIN_LINTERSsrc/core/spec.tsBuiltinLintertscLINTERSlinters.ts<name>LinterCapabilities.existenceChecksrc/core/linter-adapter.tsnode-apinodeApiAdapter(name, resolver, configEnabled, discover)clicliAdapter(name, cliTool, checkExists, configEnabled, discover, enumerate?)filesystemlinters.tsformat-onlyclienumeratediscover<Name>Rules(basePath): DiscoveredRules | nulllinters.tsgenerate-typesnullcli<name>CheckExists<name>ConfigEnabledLINTERSparse-structured-input-with-a-real-parserparseDetektConfigLINTERSlinters.tstscdocs/linter-support.md## Supported Linters## <Linter>Wedge.tsxBUILTIN_LINTERSLINTER_LABELSWedge.tsxESLintRuboCopclidescribe.skipIf(!hasBinary("<tool>"))src/core/linters.test.tsno-silent-skipstest.github/workflows/ci.ymlenvcommand -vdescribe.skipIf(!hasBinary)it.skipIf(hasBinary)src/core/linter-contract.test.tslinters.test.tsformat-onlyalwaysEnablednpm testnpx vitest run src/core/linter-contract.test.ts src/core/linters.test.tstsc --noEmittsclinter-contract.test.tsnameexistenceCheck === "cli"cliToolBUILTIN_LINTERSdocs/linter-support.md