@zapier/connectors-dev-config
v0.3.1
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.repository-url(fixable) —package.jsonrepositorymust be{ type: "git", url: "https://github.com/zapier/connectors.git", directory: "apps/<slug>" }.--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.
Each rule is also exported by name (licenseRule, licenseValueRule, bugsUrlRule, repositoryUrlRule, noticeRule, legalRule, folderNameRule, sourceUrlRule, contentHygieneRule) for direct reuse or testing.
