Skip to content

basic/src

Defined in: basic/src/agent-skill-generator.ts:9

format: "cursor" | "frontmatter" | "kiro" | "plain"

Defined in: basic/src/agent-skill-generator.ts:12

Format variant used when generating content

label: string

Defined in: basic/src/agent-skill-generator.ts:15

Human-readable label for logging

markerFolder: string

Defined in: basic/src/agent-skill-generator.ts:18

Folder that must exist in cwd to be considered “present”

skillFile: string

Defined in: basic/src/agent-skill-generator.ts:21

File name for the generated skill

skillSubdir: string

Defined in: basic/src/agent-skill-generator.ts:24

Subdirectory inside the agent folder where the skill file is placed


Defined in: basic/src/agent-skill-generator.ts:31

Features extracted from the project’s actual eslint.config.js. All arrays hold display-friendly labels (e.g. 'TypeScript', 'React').

configFile: string | null

Defined in: basic/src/agent-skill-generator.ts:34

Path to the config file that was loaded, or null when falling back to detection

extensions: string[]

Defined in: basic/src/agent-skill-generator.ts:35

formats: string[]

Defined in: basic/src/agent-skill-generator.ts:36

frameworks: string[]

Defined in: basic/src/agent-skill-generator.ts:37

libraries: string[]

Defined in: basic/src/agent-skill-generator.ts:38

lintCommand: string

Defined in: basic/src/agent-skill-generator.ts:41

The lint command found in the project’s package.json scripts, or a sensible default

source: "config-file" | "detection-fallback"

Defined in: basic/src/agent-skill-generator.ts:44

Whether features came from the real config file or from package.json detection

testing: string[]

Defined in: basic/src/agent-skill-generator.ts:46

tools: string[]

Defined in: basic/src/agent-skill-generator.ts:48

typescript: boolean

Defined in: basic/src/agent-skill-generator.ts:50


Defined in: basic/src/agent-skill-generator.ts:53

optional check?: boolean

Defined in: basic/src/agent-skill-generator.ts:61

Check mode — compare existing skill files against freshly generated content without writing anything. Stale or missing files are reported in GenerateSkillResult.stale.

false

optional createAgentsMd?: boolean

Defined in: basic/src/agent-skill-generator.ts:68

Create a root AGENTS.md when it does not exist yet, instead of only updating an existing one.

false

optional cwd?: string

Defined in: basic/src/agent-skill-generator.ts:71

Working directory — defaults to process.cwd()

optional force?: boolean

Defined in: basic/src/agent-skill-generator.ts:77

Overwrite files that already exist.

false

Defined in: basic/src/agent-skill-generator.ts:80

skipped: string[]

Defined in: basic/src/agent-skill-generator.ts:81

stale: string[]

Defined in: basic/src/agent-skill-generator.ts:84

Files that are out of date (or missing) — only populated in check mode

written: string[]

Defined in: basic/src/agent-skill-generator.ts:86

const AGENT_TARGETS: AgentTarget[]

Defined in: basic/src/agent-skill-generator.ts:96

All AI coding-assistant agent folders that are probed for. Add new entries here as new agents emerge — the generator picks them up automatically on the next run.


const angular: (options?) => Promise<ConfigArray>

Defined in: basic/src/frameworks.ts:109

FrameworkOptions

Promise<ConfigArray>


const angularConfig: (options?) => Promise<ConfigArray> = angular

Defined in: basic/src/frameworks.ts:136

FrameworkOptions

Promise<ConfigArray>

Use angular instead.


const astro: (options?) => Promise<ConfigArray>

Defined in: basic/src/frameworks.ts:110

FrameworkOptions

Promise<ConfigArray>


const defineConfig: (options?, …extraConfigs) => Promise<ConfigArray> = eslintConfig

Defined in: basic/src/index.ts:859

Alias for eslintConfig() that reads naturally in eslint.config.* files.

Generates the ESLint configuration array, applying configurations and integration settings based on the input configuration.

EslintConfigOptions

Configuration and integration settings

…ConfigInput[]

Local flat-config overrides appended after generated config

Promise<ConfigArray>

The final ESLint configuration array


const expo: (options?) => Promise<ConfigArray>

Defined in: basic/src/frameworks.ts:111

FrameworkOptions

Promise<ConfigArray>


const expoConfig: (options?) => Promise<ConfigArray> = expo

Defined in: basic/src/frameworks.ts:139

FrameworkOptions

Promise<ConfigArray>

Use expo instead.


const hono: (options?) => Promise<ConfigArray>

Defined in: basic/src/frameworks.ts:112

FrameworkOptions

Promise<ConfigArray>


const lit: (options?) => Promise<ConfigArray>

Defined in: basic/src/frameworks.ts:113

FrameworkOptions

Promise<ConfigArray>


const nest: (options?) => Promise<ConfigArray>

Defined in: basic/src/frameworks.ts:114

FrameworkOptions

Promise<ConfigArray>


const nestConfig: (options?) => Promise<ConfigArray> = nest

Defined in: basic/src/frameworks.ts:142

FrameworkOptions

Promise<ConfigArray>

Use nest instead.


const next: (options?) => Promise<ConfigArray>

Defined in: basic/src/frameworks.ts:115

FrameworkOptions

Promise<ConfigArray>


const nextConfig: (options?) => Promise<ConfigArray> = next

Defined in: basic/src/frameworks.ts:145

FrameworkOptions

Promise<ConfigArray>

Use next instead.


const nuxt: (options?) => Promise<ConfigArray>

Defined in: basic/src/frameworks.ts:116

FrameworkOptions

Promise<ConfigArray>


const preact: (options?) => Promise<ConfigArray>

Defined in: basic/src/frameworks.ts:117

FrameworkOptions

Promise<ConfigArray>


const preactConfig: (options?) => Promise<ConfigArray> = preact

Defined in: basic/src/frameworks.ts:148

FrameworkOptions

Promise<ConfigArray>

Use preact instead.


const qwik: (options?) => Promise<ConfigArray>

Defined in: basic/src/frameworks.ts:118

FrameworkOptions

Promise<ConfigArray>


const react: (options?) => Promise<ConfigArray>

Defined in: basic/src/frameworks.ts:119

FrameworkOptions

Promise<ConfigArray>


const reactConfig: (options?) => Promise<ConfigArray> = react

Defined in: basic/src/frameworks.ts:151

FrameworkOptions

Promise<ConfigArray>

Use react instead.


const reactRouter: (options?) => Promise<ConfigArray>

Defined in: basic/src/frameworks.ts:120

FrameworkOptions

Promise<ConfigArray>


const remix: (options?) => Promise<ConfigArray>

Defined in: basic/src/frameworks.ts:133

FrameworkOptions

Promise<ConfigArray>

Remix merged into React Router v7. Use reactRouter (the react-router framework key) instead. This alias loads the legacy Remix config and will be removed in the next major version.


const slidev: (options?) => Promise<ConfigArray>

Defined in: basic/src/frameworks.ts:121

FrameworkOptions

Promise<ConfigArray>


const solid: (options?) => Promise<ConfigArray>

Defined in: basic/src/frameworks.ts:122

FrameworkOptions

Promise<ConfigArray>


const solidConfig: (options?) => Promise<ConfigArray> = solid

Defined in: basic/src/frameworks.ts:154

FrameworkOptions

Promise<ConfigArray>

Use solid instead.


const svelte: (options?) => Promise<ConfigArray>

Defined in: basic/src/frameworks.ts:123

FrameworkOptions

Promise<ConfigArray>


const svelteConfig: (options?) => Promise<ConfigArray> = svelte

Defined in: basic/src/frameworks.ts:157

FrameworkOptions

Promise<ConfigArray>

Use svelte instead.


const tanstackStart: (options?) => Promise<ConfigArray>

Defined in: basic/src/frameworks.ts:124

FrameworkOptions

Promise<ConfigArray>


const vite: (options?) => Promise<ConfigArray>

Defined in: basic/src/frameworks.ts:125

FrameworkOptions

Promise<ConfigArray>


const vue: (options?) => Promise<ConfigArray>

Defined in: basic/src/frameworks.ts:126

FrameworkOptions

Promise<ConfigArray>


const vueConfig: (options?) => Promise<ConfigArray> = vue

Defined in: basic/src/frameworks.ts:160

FrameworkOptions

Promise<ConfigArray>

Use vue instead.

eslintConfig(options?, …extraConfigs): Promise<ConfigArray>

Defined in: basic/src/index.ts:731

Generates the ESLint configuration array, applying configurations and integration settings based on the input configuration.

EslintConfigOptions

Configuration and integration settings

…ConfigInput[]

Local flat-config overrides appended after generated config

Promise<ConfigArray>

The final ESLint configuration array


generateAgentSkills(opts?): Promise<GenerateSkillResult>

Defined in: basic/src/agent-skill-generator.ts:922

Detects which AI agent folders exist in the project, reads the actual eslint.config.js to understand what is configured, and writes a tailored ESLint standards skill file into each found folder.

Falls back to package.json auto-detection when the config file cannot be dynamically imported (e.g. when running outside a built environment).

GenerateSkillOptions = {}

Promise<GenerateSkillResult>

import { generateAgentSkills } from '@santi020k/eslint-config-basic'
const result = await generateAgentSkills({ cwd: process.cwd() })
process.stdout.write(`Written to: ${result.written}\n`)

generateSkillContent(features, format): string

Defined in: basic/src/agent-skill-generator.ts:720

Builds the skill document body from the project’s EslintConfigFeatures. Four format variants are produced:

  • frontmatter — YAML front-matter + Markdown (.agent, .agents, .windsurf)
  • cursor — Cursor MDC front-matter + Markdown
  • kiro — Kiro steering front-matter (inclusion: always) + Markdown
  • plain — pure Markdown, no front-matter (Claude Code, Copilot, Aider, Gemini, Cline, Roo Code)

EslintConfigFeatures

"cursor" | "frontmatter" | "kiro" | "plain"

string

Re-exports a11y


Re-exports aiSdk


Re-exports astroDoctor


Re-exports autogen


Re-exports bestPractices


Re-exports biome


Re-exports boundaries


Re-exports command


Re-exports compat


Re-exports coreConfig


Re-exports createCoreConfig


Re-exports createImportGroups


Re-exports cspell


Re-exports css


Re-exports cypress


Re-exports deMorgan


Re-exports depend


Re-exports DetectedFrameworkName


Re-exports DetectionOptions


Re-exports detectProjectOptions


Re-exports docker


Re-exports drizzle


Re-exports EslintConfigOptions


Re-exports Extension


Re-exports ExtensionName


Re-exports ExtensionOption


Re-exports FlatConfigArray


Re-exports Format


Re-exports FormatName


Re-exports FormatOption


Re-exports getGlobalsForRuntime


Re-exports githubActions


Re-exports gitignore


Re-exports googleGenAi


Re-exports graphql


Re-exports groups


Re-exports hasReactConfig


Re-exports html


Re-exports i18next


Re-exports ImportedFramework


Re-exports ImportGroupOptions


Re-exports jest


Re-exports jestDom


Renames and re-exports coreConfig


Re-exports jsdoc


Re-exports jsonc


Re-exports langchain


Re-exports Library


Re-exports LibraryName


Re-exports LibraryOption


Re-exports llamaIndex


Re-exports markdown


Re-exports mastra


Re-exports mcp


Re-exports mdx


Re-exports mikroOrm


Re-exports NextMode


Re-exports NextModeName


Re-exports NextModeOption


Re-exports node


Re-exports noOnlyTests


Re-exports nx


Re-exports openAiAgents


Re-exports OptionalConfigMap


Re-exports OptionalConfigName


Re-exports oxlint


Re-exports packageJson


Re-exports perfectionist


Re-exports playwright


Re-exports pnpm


Re-exports Preset


Re-exports PresetName


Re-exports PresetOption


Re-exports prettier


Re-exports prisma


Re-exports ProjectConfigOptions


Re-exports ReactConfigKeys


Re-exports regexp


Re-exports Runtime


Re-exports RuntimeName


Re-exports RuntimeOption


Re-exports security


Re-exports sequelize


Re-exports Setting


Re-exports SettingName


Re-exports SettingOption


Re-exports sonarjs


Re-exports stencil


Re-exports storybook


Re-exports StrictMode


Re-exports swagger


Re-exports tailwind


Re-exports tanstackQuery


Re-exports tanstackRouter


Re-exports Testing


Re-exports testingLibrary


Re-exports TestingName


Re-exports TestingOption


Re-exports toml


Re-exports Tool


Re-exports ToolName


Re-exports ToolOption


Renames and re-exports typescriptConfig


Re-exports turbo


Re-exports typeorm


Re-exports typescriptConfig


Re-exports TypeScriptMode


Re-exports TypeScriptOptions


Re-exports unicorn


Re-exports vitest


Re-exports yaml


Re-exports zod

Did this page help?

Your answer stays in this browser. Share details on GitHub to help improve the docs.