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-folderConfiguration 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 fetchIf 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
| Key | Description | Required |
|---|---|---|
git_provider | Git provider (for example github) | Yes |
github_token | GitHub personal access token | Yes for GitHub PR/pipeline |
gitlab_token | GitLab personal access token | Yes for GitLab MR/pipeline |
github_repository | Repository in owner/repo format (also used as project identifier) | Yes |
git_repository_location | Local clone path for git/code metrics | Yes for source-code metrics |
deployment_frequency_targets | Deployment frequency workflow/job targets as { "pipeline": "...", "job": "..." } objects | No |
main_branch | Main branch name | No |
dashboard_start_date | Default start date in dashboard | No |
dashboard_end_date | Default end date in dashboard | No |
dashboard_color | Dashboard color theme value | No |
log_level | Logging level (DEBUG, INFO, WARN, ERROR, CRITICAL) | No |
jira_url | Jira base URL | No |
jira_email | Jira account email | No |
jira_token | Jira API token | No |
jira_project | Jira project key | No |
sonar_url | SonarQube server URL | No |
sonar_token | SonarQube token | No |
sonar_project | SonarQube project key | No |
sonar_local_runner_token | SonarQube local analysis runner token (generated by local analysis) | No |
store_logs | Store log files to disk (true/false) | No |
timezone | IANA timezone identifier (for example Europe/Madrid, UTC) | No |