Skip to main content

Overview

CodeAnt AI allows you to configure analysis settings at multiple levels. You can control which analyses are enabled, set file include/exclude patterns, and tune thresholds like the maintainability index — all through a clear precedence hierarchy.

Configuration Precedence

When multiple configuration sources exist, CodeAnt AI resolves them in the following order (highest priority first):
PrioritySourceDescription
1 (Highest)Inline (CI/CD parameters)Parameters passed directly when triggering an analysis (e.g., include_files, exclude_files in API calls or CI/CD pipeline configuration)
2Repository file.codeant/configuration.json checked into your repository
3 (Lowest)UI settingsConfiguration set through the CodeAnt AI dashboard under Settings > Analysis Configuration
Each level only overrides the specific fields it defines. If a field is not set at a higher-priority level, the value from the next level down is used. Example: If your UI settings enable all analyses, but your .codeant/configuration.json disables secrets_analysis, secrets scanning will be skipped. If you then pass include_files=src/** inline via CI/CD, only the src/ directory will be scanned — but the disabled secrets analysis from the repo config still applies.

Repository Configuration File

Create a configuration.json file in the .codeant folder at your repository root:
your-repo/
├── .git/
├── .codeant/
│   └── configuration.json
├── src/
└── package.json

Configuration Format

{
  "code_analysis": {
    "enabled": true,
    "features": {
      "sast_analysis": "enabled",
      "secrets_analysis": "enabled",
      "sca_analysis": "enabled",
      "iac_analysis": "enabled",
      "deadcode_analysis": "enabled",
      "duplicatecode_analysis": "enabled",
      "antipatterns_analysis": "enabled",
      "docstring_analysis": "enabled",
      "complex_function_analysis": "enabled"
    },
    "config": {
      "complexity": {
        "maintainability_index": 15
      }
    }
  },
  "file_filters": {
    "config": {
      "include_files": "",
      "exclude_files": ""
    }
  }
}

Configuration Options

Code Analysis

  • enabled (boolean): Master toggle for all code analysis. Set to false to skip all analyses for this repository.
  • features (object): Toggle individual analyses. Each key accepts "enabled" or "disabled".
FeatureDescription
sast_analysisStatic Application Security Testing — detects security vulnerabilities
secrets_analysisScans for exposed secrets like API keys and credentials
sca_analysisSoftware Composition Analysis — checks dependencies for known vulnerabilities
iac_analysisInfrastructure as Code scanning for misconfigurations
deadcode_analysisIdentifies unused code that can be safely removed
duplicatecode_analysisDetects code duplication
antipatterns_analysisDetects common code antipatterns
docstring_analysisAnalyzes code documentation quality
complex_function_analysisFlags functions exceeding the maintainability index threshold
  • config.complexity.maintainability_index (number, 0-100): Threshold for complex function detection. Functions with a maintainability index below this value are flagged. Default: 15.

File Filters

  • config.include_files (string): Comma-separated glob patterns. Only files matching these patterns will be analyzed. Example: "src/**,lib/**".
  • config.exclude_files (string): Comma-separated glob patterns. Files matching these patterns will be excluded from analysis. Example: "node_modules/**,dist/**,**/*.test.js".
If both include_files and exclude_files are specified, include_files takes precedence — only included files are considered, and exclude patterns are ignored.

Sample Configurations

Security-focused scan only

{
  "code_analysis": {
    "enabled": true,
    "features": {
      "sast_analysis": "enabled",
      "secrets_analysis": "enabled",
      "sca_analysis": "enabled",
      "iac_analysis": "enabled",
      "deadcode_analysis": "disabled",
      "duplicatecode_analysis": "disabled",
      "antipatterns_analysis": "disabled",
      "docstring_analysis": "disabled",
      "complex_function_analysis": "disabled"
    }
  }
}

Scan only the src/ directory

{
  "file_filters": {
    "config": {
      "include_files": "src/**",
      "exclude_files": ""
    }
  }
}

Disable all analysis for a repository

{
  "code_analysis": {
    "enabled": false
  }
}

Best Practices

  • Version control your config: Checking .codeant/configuration.json into the repository ensures the whole team shares the same analysis settings and changes are reviewed via pull requests.
  • Start with defaults: Only override what you need. Omitted fields inherit from UI settings or defaults.
  • Use inline parameters for one-off overrides: If you need a different scope for a specific CI run, pass include_files or exclude_files inline rather than modifying the repo config.
  • Keep file filters focused: Prefer narrow include_files patterns over broad exclude_files to make intent clear.