// Planu — Linting catalog: core languages (TS, JS, Python, Go, Rust, Java, Swift, Kotlin)
// SPEC-025 tech-debt: split from linting-catalog.ts to stay under 300-line limit
export const LINTING_CORE = {
    typescript: {
        language: 'TypeScript/JavaScript',
        recommended: [
            {
                name: 'ESLint',
                purpose: 'Linting with type-aware rules',
                installCmd: 'npm install -D eslint @eslint/js typescript-eslint',
                docsUrl: 'https://typescript-eslint.io/',
            },
            {
                name: 'Prettier',
                purpose: 'Code formatting',
                installCmd: 'npm install -D prettier eslint-config-prettier',
                docsUrl: 'https://prettier.io/',
            },
            {
                name: 'Stylelint',
                purpose: 'CSS/SCSS linting',
                installCmd: 'npm install -D stylelint stylelint-config-standard',
                docsUrl: 'https://stylelint.io/',
            },
        ],
        transversal: [
            {
                name: 'commitlint',
                purpose: 'Enforce conventional commits',
                installCmd: 'npm install -D @commitlint/cli @commitlint/config-conventional',
                docsUrl: 'https://commitlint.js.org/',
            },
            {
                name: 'markdownlint',
                purpose: 'Lint Markdown files',
                installCmd: 'npm install -D markdownlint-cli2',
                docsUrl: 'https://github.com/DavidAnson/markdownlint',
            },
            {
                name: 'hadolint',
                purpose: 'Dockerfile linting',
                installCmd: 'brew install hadolint',
                docsUrl: 'https://github.com/hadolint/hadolint',
            },
            {
                name: 'actionlint',
                purpose: 'GitHub Actions workflow linting',
                installCmd: 'brew install actionlint',
                docsUrl: 'https://github.com/rhysd/actionlint',
            },
        ],
    },
    javascript: {
        language: 'JavaScript',
        recommended: [
            {
                name: 'ESLint',
                purpose: 'Linting',
                installCmd: 'npm install -D eslint @eslint/js',
                docsUrl: 'https://eslint.org/',
            },
            {
                name: 'Prettier',
                purpose: 'Code formatting',
                installCmd: 'npm install -D prettier',
                docsUrl: 'https://prettier.io/',
            },
        ],
        transversal: [
            {
                name: 'commitlint',
                purpose: 'Enforce conventional commits',
                installCmd: 'npm install -D @commitlint/cli @commitlint/config-conventional',
                docsUrl: 'https://commitlint.js.org/',
            },
            {
                name: 'markdownlint',
                purpose: 'Lint Markdown files',
                installCmd: 'npm install -D markdownlint-cli2',
                docsUrl: 'https://github.com/DavidAnson/markdownlint',
            },
        ],
    },
    python: {
        language: 'Python',
        recommended: [
            {
                name: 'Ruff',
                purpose: 'Fast linting + formatting (replaces Black/isort/Flake8)',
                installCmd: 'pip install ruff',
                docsUrl: 'https://docs.astral.sh/ruff/',
            },
            {
                name: 'mypy',
                purpose: 'Static type checking',
                installCmd: 'pip install mypy',
                docsUrl: 'https://mypy.readthedocs.io/',
            },
        ],
        transversal: [
            {
                name: 'commitlint',
                purpose: 'Enforce conventional commits',
                installCmd: 'npm install -D @commitlint/cli @commitlint/config-conventional',
                docsUrl: 'https://commitlint.js.org/',
            },
            {
                name: 'markdownlint',
                purpose: 'Lint Markdown files',
                installCmd: 'pip install pymarkdownlnt',
                docsUrl: 'https://github.com/jackdewinter/pymarkdown',
            },
            {
                name: 'shellcheck',
                purpose: 'Shell script analysis',
                installCmd: 'brew install shellcheck',
                docsUrl: 'https://www.shellcheck.net/',
            },
        ],
    },
    go: {
        language: 'Go',
        recommended: [
            {
                name: 'golangci-lint',
                purpose: 'Comprehensive Go linting (includes gofmt, govet, staticcheck)',
                installCmd: 'go install github.com/golangci/golangci-lint/cmd/golangci-lint@latest',
                docsUrl: 'https://golangci-lint.run/',
            },
            {
                name: 'gofmt',
                purpose: 'Go code formatting (built-in)',
                installCmd: 'Included with Go',
                docsUrl: 'https://pkg.go.dev/cmd/gofmt',
            },
        ],
        transversal: [
            {
                name: 'commitlint',
                purpose: 'Enforce conventional commits',
                installCmd: 'npm install -D @commitlint/cli @commitlint/config-conventional',
                docsUrl: 'https://commitlint.js.org/',
            },
            {
                name: 'markdownlint',
                purpose: 'Lint Markdown files',
                installCmd: 'npm install -D markdownlint-cli2',
                docsUrl: 'https://github.com/DavidAnson/markdownlint',
            },
        ],
    },
    rust: {
        language: 'Rust',
        recommended: [
            {
                name: 'Clippy',
                purpose: 'Rust linting',
                installCmd: 'rustup component add clippy',
                docsUrl: 'https://doc.rust-lang.org/clippy/',
            },
            {
                name: 'rustfmt',
                purpose: 'Rust code formatting',
                installCmd: 'rustup component add rustfmt',
                docsUrl: 'https://rust-lang.github.io/rustfmt/',
            },
        ],
        transversal: [
            {
                name: 'commitlint',
                purpose: 'Enforce conventional commits',
                installCmd: 'npm install -D @commitlint/cli @commitlint/config-conventional',
                docsUrl: 'https://commitlint.js.org/',
            },
        ],
    },
    java: {
        language: 'Java',
        recommended: [
            {
                name: 'Checkstyle',
                purpose: 'Java code style enforcement',
                installCmd: 'Add to pom.xml: <groupId>org.apache.maven.plugins</groupId>',
                docsUrl: 'https://checkstyle.sourceforge.io/',
            },
            {
                name: 'Spotless',
                purpose: 'Java code formatting',
                installCmd: 'Add spotless-maven-plugin to pom.xml',
                docsUrl: 'https://github.com/diffplug/spotless',
            },
        ],
        transversal: [
            {
                name: 'commitlint',
                purpose: 'Enforce conventional commits',
                installCmd: 'npm install -D @commitlint/cli @commitlint/config-conventional',
                docsUrl: 'https://commitlint.js.org/',
            },
            {
                name: 'markdownlint',
                purpose: 'Lint Markdown files',
                installCmd: 'npm install -D markdownlint-cli2',
                docsUrl: 'https://github.com/DavidAnson/markdownlint',
            },
        ],
    },
    swift: {
        language: 'Swift',
        recommended: [
            {
                name: 'SwiftLint',
                purpose: 'Swift code linting',
                installCmd: 'brew install swiftlint',
                docsUrl: 'https://realm.github.io/SwiftLint/',
            },
            {
                name: 'SwiftFormat',
                purpose: 'Swift code formatting',
                installCmd: 'brew install swiftformat',
                docsUrl: 'https://github.com/nicklockwood/SwiftFormat',
            },
            {
                name: 'Periphery',
                purpose: 'Dead code detection',
                installCmd: 'brew install peripheryapp/periphery/periphery',
                docsUrl: 'https://github.com/peripheryapp/periphery',
            },
        ],
        transversal: [
            {
                name: 'commitlint',
                purpose: 'Enforce conventional commits',
                installCmd: 'npm install -D @commitlint/cli @commitlint/config-conventional',
                docsUrl: 'https://commitlint.js.org/',
            },
        ],
    },
    kotlin: {
        language: 'Kotlin',
        recommended: [
            {
                name: 'detekt',
                purpose: 'Kotlin static analysis',
                installCmd: 'Add detekt plugin to build.gradle.kts',
                docsUrl: 'https://detekt.dev/',
            },
            {
                name: 'ktlint',
                purpose: 'Kotlin code formatting',
                installCmd: 'brew install ktlint',
                docsUrl: 'https://pinterest.github.io/ktlint/',
            },
            {
                name: 'Android Lint',
                purpose: 'Android-specific static analysis',
                installCmd: 'Included in Android Gradle plugin',
                docsUrl: 'https://developer.android.com/studio/write/lint',
            },
        ],
        transversal: [
            {
                name: 'commitlint',
                purpose: 'Enforce conventional commits',
                installCmd: 'npm install -D @commitlint/cli @commitlint/config-conventional',
                docsUrl: 'https://commitlint.js.org/',
            },
        ],
    },
};
//# sourceMappingURL=linting-catalog-core.js.map