@zapier/connectors-dev-config
v0.2.3
Published
Zapier connector policy for @zapier/connectors-dev: the @zapier/{name}-connector naming plus the license, notice, legal, folder-name, and source-url rules, shipped as an extends: preset.
Readme
@zapier/connectors-dev-config
Zapier's connector policy for @zapier/connectors-dev, shipped as an extends: preset. @zapier/connectors-dev is brand-neutral; this package layers on the Zapier-specific rules and naming the monorepo (and connector-factory) enforce.
Usage
In a repo's connectors-dev.config.ts:
import { defineConnectorsDevConfig } from "@zapier/connectors-dev";
export default defineConnectorsDevConfig({
extends: ["@zapier/connectors-dev-config"],
});connectors-dev validate / --fix and scaffold-connector then apply the preset below on top of the builtin rules.
What the preset enforces
packageNamePattern: "@zapier/{name}-connector"— every connector'spackage.jsonnameis scoped ({name}is the slug / directory basename). The builtin default is the unscoped{name}-connector.license— byte-identical sync of the connectorLICENSE(Elastic-2.0) from this package'sassets/LICENSE.license-value(fixable) — thelicensevalue must beElastic-2.0in bothpackage.jsonand theSKILL.mdfrontmatter.--fixwrites both. The brand-neutral builtinskill-licenserule only checks the two agree; this pins the value.bugs-url(fixable) —package.jsonbugsmust behttps://github.com/zapier/connectors/issues, so npm's "Report a bug" link sends users to the connectors catalog's issue tracker.--fixwrites the value.notice— generates each connector'sNOTICEfromSKILL.mdmetadata.title.legal— splices the post-H1 disclaimer (SKILL.md+README.md) and the trailing## Legalsection (README.md) frommetadata.title.folder-name— the connector's directory basename must equal the slug (the{name}segment of its package name): theapps/<slug>/convention.source-url(fixable) —metadata.sourcemust be the connector's canonical GitHub permalink (https://github.com/zapier/connectors/blob/main/apps/<slug>/SKILL.md).--fixrewrites the frontmatter line. The preset drops the brand-neutral builtinsourcerule (ignoreRules: ["source"]) since this is a strict superset.content-hygiene— agent-visible files (SKILL.md,scripts/*.ts,lib/*.ts,references/*.md,evals/evals.json) must not leak absolute filesystem paths (/Users/,C:\Users\), reference theopenapi-polished.yamlbuild artifact, or carry aCODEGEN: polish neededmarker. Reports one finding per offending line (withfile+line); non-fixable. Zapier-factory-specific, so it lives here rather than in the brand-neutral@zapier/connectors-dev.todo-marker—SKILL.md,README.md, and every file underreferences/may not carry an unresolved<!-- TODO: ... -->marker — the fill-in-the-blank placeholdersscaffold-connector's templates seed for the author. Scoped to those targets rather than every.mdin the connector directory so aCHANGELOG.mdentry that merely mentions the marker in prose doesn't false-positive. Reports one finding per offending line (withfile+line); non-fixable, since a TODO needs a human to resolve.
Each rule is also exported by name (licenseRule, licenseValueRule, bugsUrlRule, noticeRule, legalRule, folderNameRule, sourceUrlRule, contentHygieneRule, todoMarkerRule) for direct reuse or testing.
