@cef-ai/eslint-plugin
v0.1.0
Published
Editor-time lint rules for CEF agents. Each rule mirrors a check that `cef build` performs, so warnings in your editor agree with build failures in CI.
Readme
@cef-ai/eslint-plugin
Editor-time lint rules for CEF agents. Each rule mirrors a check that
cef build performs, so warnings in your editor agree with build
failures in CI.
Install
pnpm add -D @cef-ai/eslint-pluginConfigure
The plugin ships a recommended config that turns every rule on. The
three "declared alias / type" rules accept options carrying the declared
sets so the rule can flag undeclared usage without a type-checker.
// .eslintrc.cjs
module.exports = {
plugins: ["@cef-ai"],
extends: ["plugin:@cef-ai/recommended"],
rules: {
"@cef-ai/cubby-declared-alias": ["error", { aliases: ["history"] }],
"@cef-ai/model-declared-alias": ["error", { aliases: ["llm"] }],
"@cef-ai/publish-declared-type": [
"error",
{ knownEventTypes: ["assistant_message"] },
],
},
};cef typegen is expected to emit a snippet wiring these option arrays
from cef.config.ts (cubbies[].alias, models keys) and from the
project's KnownEventTypes declarations / declared publishes. Until
typegen drives this end-to-end, hand-write the arrays to match your
config.
Rules
| Rule | What it flags |
| --- | --- |
| @cef-ai/on-event-literal | @OnEvent(...) must take a string literal, never a variable or expression. |
| @cef-ai/publish-declared-type | ctx.publish(t, ...) first argument must be a string literal AND a known event type. |
| @cef-ai/cubby-declared-alias | ctx.cubby("alias") must use a string literal AND a declared cubby alias. |
| @cef-ai/model-declared-alias | ctx.models.X must reference a declared model alias. |
| @cef-ai/no-banned-imports | Imports must not target Node built-ins (fs, net, http, child_process, ...) or unsafe sync DB / network npm packages. |
cef build enforces the same rules and aborts the build on the first
violation; this plugin gives you the same feedback at edit time without
waiting for a build cycle.
Companion packages
@cef-ai/agent-sdk— the decorators andContextshape these rules check against.@cef-ai/cli—cef build, where the same checks run as part of the bundle pipeline; full banned-import list lives in the agent-sdk spec.
References
- Agent SDK spec:
../../../company-memory-bank/specs/platform/03-components/agent-sdk.md§7 (lints + banned imports).
The ../company-memory-bank/... path points at an internal sibling repo
and is not browsable from a fresh clone.
