Skip to content

Configuration

atlcli can be configured through config files, environment variables, and command-line flags.

Global configuration is stored at ~/.atlcli/config.json:

{
"defaultProfile": "work",
"logging": {
"level": "info",
"file": "~/.atlcli/atlcli.log"
},
"plugins": {
"enabled": ["git"],
"path": "~/.atlcli/plugins"
}
}

Set the default authentication profile:

{
"defaultProfile": "work"
}

Override with --profile flag or ATLCLI_PROFILE environment variable.

Configure logging behavior:

{
"logging": {
"level": "debug",
"file": "/var/log/atlcli.log"
}
}
OptionValuesDefault
leveldebug, info, warn, errorinfo
filePath to log fileNone (stdout only)

Configure the plugin system:

{
"plugins": {
"enabled": ["git", "custom-workflow"],
"path": "~/.atlcli/plugins"
}
}

See Using Plugins for details.

Configure the sync database backend:

{
"storage": {
"adapter": "sqlite",
"sqlite": {
"enableVectors": false
}
}
}
OptionValuesDefault
adaptersqlite, jsonsqlite
sqlite.enableVectorsEnable vector searchfalse

See Storage for details.

Configure sync behavior:

{
"sync": {
"userStatusTtlDays": 7,
"skipUserStatusCheck": false,
"postPullAuditSummary": false
}
}
OptionDescriptionDefault
userStatusTtlDaysDays before re-checking user status7
skipUserStatusCheckSkip user status updates during pullfalse
postPullAuditSummaryShow audit summary after pullfalse

Configure content audit defaults:

{
"audit": {
"staleThresholds": {
"high": 12,
"medium": 6,
"low": 3
},
"defaultChecks": [
"stale",
"orphans",
"broken-links"
]
}
}
OptionDescriptionDefault
staleThresholds.highMonths for high-risk stale-
staleThresholds.mediumMonths for medium-risk stale-
staleThresholds.lowMonths for low-risk stale-
defaultChecksChecks to run by default[]

Valid defaultChecks values: stale, orphans, broken-links, single-contributor, inactive-contributors, external-links

See Audit for details.

Register projects for cross-project operations:

{
"projects": [
{
"path": "/home/user/docs/.atlcli",
"space": "DOCS",
"label": "Documentation"
},
{
"path": "/home/user/wiki/.atlcli",
"space": "TEAM",
"label": "Team Wiki"
}
]
}
OptionDescription
pathPath to project’s .atlcli directory
spaceConfluence space key
projectJira project key (optional)
labelDisplay label (optional)
VariableDescription
ATLCLI_BASE_URLAtlassian instance URL
ATLCLI_EMAILAccount email
ATLCLI_API_TOKENAPI token
ATLCLI_PROFILEDefault profile
ATLCLI_LOG_LEVELLogging level
ATLCLI_CONFIGPath to config file

Environment variables override config file settings.

For Confluence sync, project-specific config is stored in .atlcli.json within the synced directory:

{
"space": "TEAM",
"rootPageId": "12345",
"ignorePaths": ["drafts/**", "*.tmp"],
"syncOptions": {
"deleteOrphans": false,
"preserveLocalChanges": true
}
}

Settings are applied in this order (later overrides earlier):

  1. Built-in defaults
  2. Global config file (~/.atlcli/config.json)
  3. Project config file (.atlcli.json)
  4. Environment variables
  5. Command-line flags
{
"logging": {
"level": "warn"
}
}
{
"logging": {
"level": "debug",
"file": "~/.atlcli/debug.log"
},
"defaultProfile": "dev"
}
Jira and Confluence are trademarks of Atlassian Corporation Plc. atlcli is not affiliated with, endorsed by, or sponsored by Atlassian.