Skip to content

Configuration

Configuration is stored in smm_config.json inside the folder referenced by SMM_STORE_DATA_AT.

Required environment variable

bash
export SMM_STORE_DATA_AT=/absolute/path/to/data-folder

Configuration format

SMM uses a multi-project configuration format. Wrap your project configurations in a projects array:

json
{
  "projects": [
    {
      "git_provider": "github",
      "github_token": "your_github_token",
      "github_repository": "your-org/frontend-app",
      "git_repository_location": "/absolute/path/to/frontend-app",
      "deployment_frequency_targets": [
        { "pipeline": ".github/workflows/ci.yml", "job": "deploy" }
      ],
      "main_branch": "main",
      "dashboard_start_date": "2025-01-01",
      "dashboard_end_date": "2025-12-31",
      "dashboard_color": "#1976d2",
      "log_level": "INFO"
    },
    {
      "git_provider": "github",
      "github_token": "your_github_token",
      "github_repository": "your-org/backend-api",
      "git_repository_location": "/absolute/path/to/backend-api",
      "main_branch": "main",
      "jira_url": "https://your-domain.atlassian.net",
      "jira_email": "your-email@example.com",
      "jira_token": "your_jira_token",
      "jira_project": "API"
    }
  ]
}

Selecting a project

When you have multiple projects, select which one to use with the CLI global option:

bash
smm --project your-org/frontend-app prs fetch

If smm_config.json has more than one project and --project is not provided, SMM throws an error and asks you to specify a project.

Key reference

KeyDescriptionRequired
git_providerGit provider (for example github)Yes
github_tokenGitHub personal access tokenYes for GitHub PR/pipeline
gitlab_tokenGitLab personal access tokenYes for GitLab MR/pipeline
github_repositoryRepository in owner/repo format (also used as project identifier)Yes
git_repository_locationLocal clone path for git/code metricsYes for source-code metrics
deployment_frequency_targetsDeployment frequency workflow/job targets as { "pipeline": "...", "job": "..." } objectsNo
main_branchMain branch nameNo
dashboard_start_dateDefault start date in dashboardNo
dashboard_end_dateDefault end date in dashboardNo
dashboard_colorDashboard color theme valueNo
log_levelLogging level (DEBUG, INFO, WARN, ERROR, CRITICAL)No
jira_urlJira base URLNo
jira_emailJira account emailNo
jira_tokenJira API tokenNo
jira_projectJira project keyNo
sonar_urlSonarQube server URLNo
sonar_tokenSonarQube tokenNo
sonar_projectSonarQube project keyNo
sonar_local_runner_tokenSonarQube local analysis runner token (generated by local analysis)No
store_logsStore log files to disk (true/false)No
timezoneIANA timezone identifier (for example Europe/Madrid, UTC)No

Released under the MIT License.