// Planu — Linting catalog: extended languages (PHP, Ruby, C#, Dart, Elixir, Scala, C/C++)
// SPEC-025 tech-debt: multi-language linting catalog expansion
export const LINTING_EXTENDED = {
    php: {
        language: 'PHP',
        recommended: [
            {
                name: 'PHPStan',
                purpose: 'Static analysis',
                installCmd: 'composer require --dev phpstan/phpstan',
                docsUrl: 'https://phpstan.org/',
            },
            {
                name: 'PHP-CS-Fixer',
                purpose: 'Code formatting',
                installCmd: 'composer require --dev friendsofphp/php-cs-fixer',
                docsUrl: 'https://cs.symfony.com/',
            },
            {
                name: 'PHPMD',
                purpose: 'Mess detector — complexity and code smells',
                installCmd: 'composer require --dev phpmd/phpmd',
                docsUrl: 'https://phpmd.org/',
            },
        ],
        transversal: [
            {
                name: 'commitlint',
                purpose: 'Enforce conventional commits',
                installCmd: 'npm install -D @commitlint/cli @commitlint/config-conventional',
                docsUrl: 'https://commitlint.js.org/',
            },
        ],
    },
    ruby: {
        language: 'Ruby',
        recommended: [
            {
                name: 'RuboCop',
                purpose: 'Linting + formatting based on the Ruby Style Guide',
                installCmd: 'gem install rubocop',
                docsUrl: 'https://rubocop.org/',
            },
            {
                name: 'Standard',
                purpose: 'RuboCop preset — zero-config opinionated style',
                installCmd: 'gem install standardrb',
                docsUrl: 'https://standardrb.com/',
            },
        ],
        transversal: [
            {
                name: 'commitlint',
                purpose: 'Enforce conventional commits',
                installCmd: 'npm install -D @commitlint/cli @commitlint/config-conventional',
                docsUrl: 'https://commitlint.js.org/',
            },
        ],
    },
    csharp: {
        language: 'C#/.NET',
        recommended: [
            {
                name: 'dotnet-format',
                purpose: 'Built-in .NET code formatter',
                installCmd: 'dotnet format',
                docsUrl: 'https://learn.microsoft.com/dotnet/core/tools/dotnet-format',
            },
            {
                name: 'Roslyn analyzers',
                purpose: 'Built-in static analysis in the .NET SDK',
                installCmd: 'Included in .NET SDK — enable via <AnalysisMode>All</AnalysisMode> in csproj',
                docsUrl: 'https://learn.microsoft.com/dotnet/fundamentals/code-analysis/overview',
            },
            {
                name: 'StyleCop.Analyzers',
                purpose: 'C# style and consistency enforcement',
                installCmd: 'dotnet add package StyleCop.Analyzers',
                docsUrl: 'https://github.com/DotNetAnalyzers/StyleCopAnalyzers',
            },
        ],
        transversal: [
            {
                name: 'commitlint',
                purpose: 'Enforce conventional commits',
                installCmd: 'npm install -D @commitlint/cli @commitlint/config-conventional',
                docsUrl: 'https://commitlint.js.org/',
            },
        ],
    },
    dart: {
        language: 'Dart/Flutter',
        recommended: [
            {
                name: 'dart analyze',
                purpose: 'Built-in Dart static analysis',
                installCmd: 'dart analyze',
                docsUrl: 'https://dart.dev/tools/dart-analyze',
            },
            {
                name: 'dart format',
                purpose: 'Built-in Dart code formatter',
                installCmd: 'dart format .',
                docsUrl: 'https://dart.dev/tools/dart-format',
            },
            {
                name: 'flutter_lints',
                purpose: 'Recommended linting rules for Flutter projects',
                installCmd: 'Add flutter_lints: ^3.0.0 to pubspec.yaml dev_dependencies',
                docsUrl: 'https://pub.dev/packages/flutter_lints',
            },
        ],
        transversal: [
            {
                name: 'commitlint',
                purpose: 'Enforce conventional commits',
                installCmd: 'npm install -D @commitlint/cli @commitlint/config-conventional',
                docsUrl: 'https://commitlint.js.org/',
            },
        ],
    },
    elixir: {
        language: 'Elixir',
        recommended: [
            {
                name: 'Credo',
                purpose: 'Static code analysis for code consistency and readability',
                installCmd: 'Add {:credo, "~> 1.7"} to mix.exs deps',
                docsUrl: 'https://hexdocs.pm/credo/',
            },
            {
                name: 'Dialyxir',
                purpose: 'Type checking via Dialyzer wrapper',
                installCmd: 'Add {:dialyxir, "~> 1.4"} to mix.exs deps',
                docsUrl: 'https://hexdocs.pm/dialyxir/',
            },
            {
                name: 'mix format',
                purpose: 'Built-in Elixir code formatter',
                installCmd: 'mix format',
                docsUrl: 'https://hexdocs.pm/mix/Mix.Tasks.Format.html',
            },
        ],
        transversal: [
            {
                name: 'commitlint',
                purpose: 'Enforce conventional commits',
                installCmd: 'npm install -D @commitlint/cli @commitlint/config-conventional',
                docsUrl: 'https://commitlint.js.org/',
            },
        ],
    },
    scala: {
        language: 'Scala',
        recommended: [
            {
                name: 'Scalafmt',
                purpose: 'Opinionated Scala code formatter',
                installCmd: 'Add sbt plugin: addSbtPlugin("org.scalameta" % "sbt-scalafmt" % "2.5.2")',
                docsUrl: 'https://scalameta.org/scalafmt/',
            },
            {
                name: 'Scalafix',
                purpose: 'Linting and automated refactoring for Scala',
                installCmd: 'Add sbt plugin: addSbtPlugin("ch.epfl.scala" % "sbt-scalafix" % "0.12.1")',
                docsUrl: 'https://scalacenter.github.io/scalafix/',
            },
            {
                name: 'WartRemover',
                purpose: 'Scala wart detection — catches unsafe patterns',
                installCmd: 'Add sbt plugin: addSbtPlugin("org.wartremover" % "sbt-wartremover" % "3.1.6")',
                docsUrl: 'https://www.wartremover.org/',
            },
        ],
        transversal: [
            {
                name: 'commitlint',
                purpose: 'Enforce conventional commits',
                installCmd: 'npm install -D @commitlint/cli @commitlint/config-conventional',
                docsUrl: 'https://commitlint.js.org/',
            },
        ],
    },
    c: {
        language: 'C/C++',
        recommended: [
            {
                name: 'clang-tidy',
                purpose: 'C/C++ static analysis and linting',
                installCmd: 'brew install llvm  # macOS\napt install clang-tidy  # Debian/Ubuntu',
                docsUrl: 'https://clang.llvm.org/extra/clang-tidy/',
            },
            {
                name: 'clang-format',
                purpose: 'C/C++ code formatter',
                installCmd: 'brew install clang-format  # macOS\napt install clang-format  # Debian/Ubuntu',
                docsUrl: 'https://clang.llvm.org/docs/ClangFormat.html',
            },
            {
                name: 'cppcheck',
                purpose: 'C/C++ static analysis — undefined behavior and bugs',
                installCmd: 'brew install cppcheck  # macOS\napt install cppcheck  # Debian/Ubuntu',
                docsUrl: 'https://cppcheck.sourceforge.io/',
            },
        ],
        transversal: [
            {
                name: 'commitlint',
                purpose: 'Enforce conventional commits',
                installCmd: 'npm install -D @commitlint/cli @commitlint/config-conventional',
                docsUrl: 'https://commitlint.js.org/',
            },
        ],
    },
};
//# sourceMappingURL=linting-catalog-extended.js.map