import featureMustHaveManifest from "./rules/feature-must-have-manifest.js"; import usecaseMustHaveTestFile from "./rules/usecase-must-have-test-file.js"; import requiredCoresInstalled from "./rules/required-cores-installed.js"; import noUndeclaredEventPublish from "./rules/no-undeclared-event-publish.js"; import noUndeclaredAudit from "./rules/no-undeclared-audit.js"; import componentMustHaveStory from "./rules/component-must-have-story.js"; import componentMustHaveTest from "./rules/component-must-have-test.js"; import atomicTierImportDirection from "./rules/atomic-tier-import-direction.js"; /** * The `@repo/core-eslint` conformance plugin. Aggregates custom rules that * enforce feature-conformance contracts (manifest presence, sibling tests, * required-cores ↔ workspace consistency). * * Registered as the `conformance` plugin in flat config: * * import conformancePlugin from "@repo/core-eslint/plugin"; * export default [ * { plugins: { conformance: conformancePlugin } }, * { rules: { "conformance/feature-must-have-manifest": ["warn", { repoRoot: import.meta.dirname }] } }, * ]; */ const plugin = { meta: { name: "conformance", version: "0.3.0" }, rules: { "feature-must-have-manifest": featureMustHaveManifest, "usecase-must-have-test-file": usecaseMustHaveTestFile, "required-cores-installed": requiredCoresInstalled, "no-undeclared-event-publish": noUndeclaredEventPublish, "no-undeclared-audit": noUndeclaredAudit, "component-must-have-story": componentMustHaveStory, "component-must-have-test": componentMustHaveTest, "atomic-tier-import-direction": atomicTierImportDirection, }, }; export default plugin;