CLI Commands
CLI Commands
Section titled “CLI Commands”Quick reference for all atlcli commands.
Global Options
Section titled “Global Options”| Flag | Description |
|---|---|
--profile <name> | Auth profile to use |
--json | Output as JSON |
--no-log | Disable logging for this command |
--help | Show help |
--version | Show version |
Authentication
Section titled “Authentication”# Interactive setupatlcli auth init # Initialize default profileatlcli auth init --profile work # Initialize named profile
# Non-interactive login (Cloud)atlcli auth login --site <url> --email <email> --token <token>atlcli auth login --profile work --site <url>
# Non-interactive login (Server/Data Center with PAT)atlcli auth login --bearer --site <url> --token <token>atlcli auth login --bearer --site <url> --username <user> # Uses keychain
# Profile managementatlcli auth status # Show current profile statusatlcli auth list # List all profilesatlcli auth switch <name> # Switch active profileatlcli auth rename <old> <new> # Rename profile
# Cleanupatlcli auth logout # Clear active profile credentialsatlcli auth logout <name> # Clear specific profile credentialsatlcli auth delete <name> # Delete profile entirelyatlcli auth delete <name> --delete-keychain # Also delete keychain creds (macOS)Configuration
Section titled “Configuration”# View configurationatlcli config list # Show all config (redacted)atlcli config get defaults.project # Get a specific value
# Set defaults (avoids repetitive flags)atlcli config set defaults.project PROJ # Default Jira projectatlcli config set defaults.space DOCS # Default Confluence spaceatlcli config set defaults.board 123 # Default Jira board ID
# Logging settingsatlcli config set logging.level debug # Set log levelatlcli config set logging.global true # Enable global logs
# Remove settingsatlcli config unset defaults.project # Remove a valueAvailable keys:
| Key | Type | Description |
|---|---|---|
defaults.project | string | Default Jira project key |
defaults.space | string | Default Confluence space key |
defaults.board | number | Default Jira board ID |
logging.level | string | off, error, warn, info, debug |
logging.global | boolean | Enable global logs |
logging.project | boolean | Enable project logs |
Diagnostics
Section titled “Diagnostics”atlcli doctor # Run all health checksatlcli doctor --fix # Auto-fix safe issues (create dirs, etc.)atlcli doctor --json # JSON output for scriptingChecks performed:
- Config file exists and is valid JSON
- At least one profile configured
- Active profile has credentials
- Confluence API reachable and authenticated
- Jira API reachable and authenticated
- Log directory writable
Exit codes: 0 = all passed, 1 = failures detected
Confluence
Section titled “Confluence”atlcli wiki docs init <dir> --space <key> # Initialize sync directoryatlcli wiki docs pull <dir> # Pull from Confluenceatlcli wiki docs pull <dir> --page-id <id> # Pull specific pageatlcli wiki docs pull <dir> --version <n> # Pull specific versionatlcli wiki docs pull <dir> --label <name> # Pull pages with labelatlcli wiki docs push <dir> # Push to Confluenceatlcli wiki docs push <dir> --dry-run # Preview changesatlcli wiki docs push <dir> --force # Force overwriteatlcli wiki docs push <dir> --legacy-editor # Use legacy editor (v1)atlcli wiki docs sync <dir> --watch # Watch and syncatlcli wiki docs status <dir> # Show sync statusatlcli wiki docs add <dir> --template <name> # Add page from templateatlcli wiki docs diff <dir> # Show local vs remote diff (title only for folders)atlcli wiki docs resolve <dir> # Resolve sync conflictsatlcli wiki docs check <dir> # Validate docs (includes folder checks)atlcli wiki docs preview <dir> # Preview markdown renderingatlcli wiki docs convert <file> --to-new-editor # Convert to v2 editoratlcli wiki docs convert <file> --to-legacy-editor # Convert to v1 editoratlcli wiki docs convert <dir> --to-new-editor --dry-run # Preview bulk conversionatlcli wiki docs convert <dir> --to-new-editor --confirm # Bulk convert directory# Basic auditatlcli audit wiki --all # Run all checksatlcli audit wiki --all --stale-high 12 # With 12-month stale threshold
# Check typesatlcli audit wiki --stale-high 12 --stale-medium 6 --stale-low 3 # Stale contentatlcli audit wiki --orphans # Orphaned pages (no incoming links)atlcli audit wiki --broken-links # Broken internal linksatlcli audit wiki --single-contributor # Bus factor riskatlcli audit wiki --inactive-contributors # Pages with inactive authorsatlcli audit wiki --external-links # List external URLsatlcli audit wiki --check-external # Verify external URLs via HTTPatlcli audit wiki --missing-label <label> # Pages missing required labelatlcli audit wiki --restricted # Pages with restrictionsatlcli audit wiki --drafts # Unpublished draftsatlcli audit wiki --archived # Archived pagesatlcli audit wiki --high-churn <n> # Pages with N+ versionsatlcli audit wiki --folders # Check folder structure
# Scope filteringatlcli audit wiki --label <label> # Only audit pages with labelatlcli audit wiki --under-page <id> # Only pages under ancestoratlcli audit wiki --exclude-label <label> # Exclude pages with labelatlcli audit wiki --dir <path> # Audit specific directory
# Output formatsatlcli audit wiki --all --json # JSON outputatlcli audit wiki --all --markdown # Markdown report
# Fix modeatlcli audit wiki --all --fix --dry-run # Preview fixesatlcli audit wiki --all --fix # Apply fixesatlcli audit wiki --all --fix --fix-label <label> # Custom stale label
# Advancedatlcli audit wiki --include-remote # Include unsynced remote pagesatlcli audit wiki --refresh-users # Refresh user status from APIatlcli audit wiki --rebuild-graph # Rebuild link graph from markdownatlcli audit wiki --export-graph # Export link graph as JSONatlcli wiki page list --space <key> # List pages in spaceatlcli wiki page list --cql <query> # Filter with CQLatlcli wiki page list --label <name> # Filter by labelatlcli wiki page get --id <id> # Get page contentatlcli wiki page get --id <id> --version <n> # Get specific versionatlcli wiki page create --space <key> --title <title> --body <file>atlcli wiki page create --space <key> --title <title> --body <file> --parent <id>atlcli wiki page update --id <id> --body <file>atlcli wiki page update --id <id> --body <file> --title <title>atlcli wiki page delete --id <id> --confirmatlcli wiki page delete --cql <query> --dry-run # Bulk delete previewatlcli wiki page delete --cql <query> --confirm # Bulk deleteatlcli wiki page move --id <id> --parent <id>atlcli wiki page move <file> --before <target> # Position before siblingatlcli wiki page move <file> --after <target> # Position after siblingatlcli wiki page move <file> --first # First child positionatlcli wiki page move <file> --last # Last child positionatlcli wiki page move --id <id> --position <n> # Specific positionatlcli wiki page copy --id <id> --title <title>atlcli wiki page copy --id <id> --title <title> --space <key>atlcli wiki page children --id <id> # List child pagesatlcli wiki page children --id <id> --limit <n> --jsonatlcli wiki page sort <file> --alphabeticalatlcli wiki page sort <file> --natural # Natural sort (Chapter 2 < Chapter 10)atlcli wiki page sort <file> --by createdatlcli wiki page sort --id <id> --by modified --reverseatlcli wiki page archive --id <id> --confirmatlcli wiki page archive --cql <query> --dry-runatlcli wiki page open <id> # Open page in browseratlcli wiki page convert --id <id> --to-new-editor # Convert to v2 editoratlcli wiki page convert --id <id> --to-legacy-editor # Convert to v1 editor
# Cross-product linking (Confluence ↔ Jira)atlcli wiki page link-issue --id <id> --issue <key> # Link Jira issue to pageatlcli wiki page link-issue --id <id> --issue <key> --comment # With commentatlcli wiki page issues --id <id> # List linked Jira issuesatlcli wiki page issues --id <id> --project <key> # Filter by projectatlcli wiki page unlink-issue --id <id> --issue <key> # Remove linkPage History
Section titled “Page History”atlcli wiki page history --id <id> # List versionsatlcli wiki page history --id <id> --limit <n>atlcli wiki page diff --id <id> --version <n> # Compare with currentatlcli wiki page diff --id <id> --from <n> --to <n>atlcli wiki page restore --id <id> --version <n>atlcli wiki page restore --id <id> --version <n> --message <text> --confirmComments
Section titled “Comments”# Footer commentsatlcli wiki page comments list --id <id>atlcli wiki page comments add --id <id> "Comment text"atlcli wiki page comments reply --id <id> --parent <comment-id> "Reply text"atlcli wiki page comments update --id <id> --comment <comment-id> "Updated text"atlcli wiki page comments delete --id <id> --comment <comment-id> --confirmatlcli wiki page comments resolve --id <id> --comment <comment-id>atlcli wiki page comments reopen --id <id> --comment <comment-id>
# Inline commentsatlcli wiki page comments list --id <id> --inlineatlcli wiki page comments add-inline --id <id> --selection <text> "Comment"Labels
Section titled “Labels”atlcli wiki page label list --id <id> # List labels on pageatlcli wiki page label add <label> [<label>...] --id <id> # Add labelsatlcli wiki page label add <label> --cql <query> --dry-run # Bulk add previewatlcli wiki page label add <label> --cql <query> --confirm # Bulk addatlcli wiki page label remove <label> --id <id>atlcli wiki page label remove <label> --cql <query> --confirm # Bulk removeSearch
Section titled “Search”atlcli wiki search <query> # Full-text searchatlcli wiki search <query> --space <key> # Search in spaceatlcli wiki search --cql <query> # CQL searchatlcli wiki search --label <label> # Search by labelatlcli wiki search --creator <email> # Search by creatoratlcli wiki search --type page # Filter by typeatlcli wiki search --ancestor <id> # Search in page treeatlcli wiki search --modified-since <duration>atlcli wiki search --created-since <duration>atlcli wiki search --title <text> # Search titles onlyatlcli wiki search --limit <n> --start <n> # Paginationatlcli wiki search --format compact # Compact outputatlcli wiki search --verbose # Detailed outputMy Pages
Section titled “My Pages”atlcli wiki my # Pages I created (default)atlcli wiki my --contributed # Pages I contributed toatlcli wiki my --space <key> # Filter by spaceatlcli wiki my --label <name> # Filter by labelatlcli wiki my --limit <n> # Limit results (default 25)Recent Pages
Section titled “Recent Pages”atlcli wiki recent # Last 7 days (default)atlcli wiki recent --days 30 # Last 30 daysatlcli wiki recent --space <key> # Filter by spaceatlcli wiki recent --label <name> # Filter by labelatlcli wiki recent --limit <n> # Limit results (default 25)Spaces
Section titled “Spaces”atlcli wiki space list # List all spacesatlcli wiki space list --limit <n>atlcli wiki space get --key <key> # Get space detailsatlcli wiki space create --key <key> --name <name>atlcli wiki space create --key <key> --name <name> --description <text>Templates
Section titled “Templates”atlcli wiki docs template list # List saved templatesatlcli wiki docs template get <name> # Show templateatlcli wiki docs template save --page <id> --name <name>atlcli wiki docs template apply <name> --space <key> --title <title>atlcli wiki docs template delete <name>atlcli wiki docs template export <name> -o <file>atlcli wiki docs template import --file <path>Issues
Section titled “Issues”atlcli jira issue get --key <key> # Get issue detailsatlcli jira issue get --key <key> --expand allatlcli jira issue create --project <key> --type <type> --summary <text>atlcli jira issue create --project <key> --type <type> --summary <text> \ --description <text> --assignee <email> --labels <labels>atlcli jira issue create --project <key> --type <type> --summary <text> \ --field customfield_10028=5 --field customfield_10077='{"value":"Feature"}'atlcli jira issue update --key <key> --summary <text>atlcli jira issue update --key <key> --field customfield_10028=8atlcli jira issue update --key <key> --priority <name>atlcli jira issue update --key <key> --add-labels <labels>atlcli jira issue update --key <key> --remove-labels <labels>atlcli jira issue update --key <key> --assignee <account-id>atlcli jira issue delete --key <key> --confirmatlcli jira issue transition --key <key> --to <status>atlcli jira issue transitions --key <key> # List available transitionsatlcli jira issue assign --key <key> --assignee <email>atlcli jira issue assign --key <key> --assignee none # Unassignatlcli jira issue link --from <key> --to <key> --type <type>atlcli jira issue attach --key <key> <file> # Attach fileatlcli jira issue open <key> # Open issue in browser
# Cross-product linking (Jira ↔ Confluence)atlcli jira issue link-page --key <key> --page <id> # Link to Confluence pageatlcli jira issue link-page --key <key> --page <id> --comment # With commentatlcli jira issue pages --key <key> # List linked Confluence pagesatlcli jira issue unlink-page --key <key> --link <id> # Remove link
atlcli jira watch <key> # Watch issueatlcli jira unwatch <key> # Stop watchingatlcli jira watchers <key> # List watchersSearch
Section titled “Search”atlcli jira search --jql <query> # JQL searchatlcli jira search --assignee me # My issuesatlcli jira search --assignee <email>atlcli jira search --status "In Progress"atlcli jira search --project <key>atlcli jira search --type Bugatlcli jira search --type Bug,Task # Multiple typesatlcli jira search --label <label> # Filter by labelatlcli jira search --sprint <id> # Filter by sprintatlcli jira search --limit <n>Current User
Section titled “Current User”atlcli jira me # Get current user infoMy Issues
Section titled “My Issues”atlcli jira my # My open/unresolved issuesatlcli jira my --all # All my issues (including resolved)atlcli jira my --project <key> # Filter by projectatlcli jira my --status "In Progress" # Filter by statusatlcli jira my --type Bug # Filter by issue typeatlcli jira my --limit <n> # Limit results (default 25)Comments
Section titled “Comments”atlcli jira issue comment --key <key> "Comment text"Worklogs
Section titled “Worklogs”atlcli jira worklog list --issue <key>atlcli jira worklog add <key> <duration>atlcli jira worklog add <key> 2h --comment <text>atlcli jira worklog add <key> 1h30m --started <datetime>atlcli jira worklog add <key> 1h --round 15matlcli jira worklog update --issue <key> --id <id> --time <duration>atlcli jira worklog delete --issue <key> --id <id> --confirm
# Timer modeatlcli jira worklog timer start <key>atlcli jira worklog timer start <key> --comment <text>atlcli jira worklog timer stop # Stop and log timeatlcli jira worklog timer stop --round 15matlcli jira worklog timer status # Show running timeratlcli jira worklog timer cancel # Cancel without logging
# Reportatlcli jira worklog report # Current user, last 30 daysatlcli jira worklog report --user <user> --since <date> --until <date>atlcli jira worklog report --group-by issueatlcli jira worklog report --group-by dateBoards
Section titled “Boards”atlcli jira board list # List all boardsatlcli jira board list --project <key>atlcli jira board list --type scrum # Filter by typeatlcli jira board list --name <pattern>atlcli jira board get --id <id> # Get board detailsatlcli jira board backlog --id <id> # Get backlog issuesatlcli jira board issues --id <id> # Get board issuesSprints
Section titled “Sprints”atlcli jira sprint list --board <id>atlcli jira sprint get --id <id>atlcli jira sprint create --board <id> --name <name>atlcli jira sprint create --board <id> --name <name> \ --start <date> --end <date> --goal <text>atlcli jira sprint start --id <id>atlcli jira sprint close --id <id>atlcli jira sprint delete --id <id> --confirmatlcli jira sprint add <issues...> --sprint <id>atlcli jira sprint remove <issues...> # Move to backlogatlcli jira sprint report <id> # Sprint metrics reportatlcli jira epic list --project <key>atlcli jira epic list --board <id>atlcli jira epic list --project <key> --done # Include done epicsatlcli jira epic get <key>atlcli jira epic create --project <key> --summary <text>atlcli jira epic issues <key> # List child issuesatlcli jira epic add <issues...> --epic <key> # Add issues to epicatlcli jira epic remove <issues...> # Remove issues from epicatlcli jira epic progress <key> # Show completion progressSubtasks
Section titled “Subtasks”atlcli jira subtask list --parent <key>atlcli jira subtask create --parent <key> --summary <text>atlcli jira subtask create --parent <key> --summary <text> \ --assignee <email> --description <text>Components
Section titled “Components”atlcli jira component list --project <key>atlcli jira component create --project <key> --name <name>atlcli jira component create --project <key> --name <name> \ --lead <email> --description <text>atlcli jira component update --id <id> --name <name>atlcli jira component delete --id <id> --confirmVersions
Section titled “Versions”atlcli jira version list --project <key>atlcli jira version create --project <key> --name <name>atlcli jira version create --project <key> --name <name> \ --start-date <date> --release-date <date>atlcli jira version release --id <id>atlcli jira version delete --id <id> --confirmTemplates
Section titled “Templates”# List with filteringatlcli jira template listatlcli jira template list --level global # Global templates onlyatlcli jira template list --level profile # Profile templates onlyatlcli jira template list --level project # Project templates onlyatlcli jira template list --type Bug # Filter by issue typeatlcli jira template list --tag <tag> # Filter by tagatlcli jira template list --search <text> # Search name/descriptionatlcli jira template list --all # Include overridden templatesatlcli jira template list --expand # Show full field details
atlcli jira template get <name>
# Save to different levelsatlcli jira template save <name> --issue <key> # Global (default)atlcli jira template save <name> --issue <key> --level profile # Profile levelatlcli jira template save <name> --issue <key> --project <key> # Project levelatlcli jira template save <name> --issue <key> --tags bug,urgent # With tagsatlcli jira template save <name> --issue <key> --force # Overwrite
atlcli jira template apply <name> --project <key> --summary <text>atlcli jira template delete <name> --confirmatlcli jira template export <name> -o <file>atlcli jira template import --file <path>atlcli jira template import --file <path> --project <key> # To project levelStorage hierarchy (precedence: project > profile > global):
- Global:
~/.atlcli/templates/jira/global/ - Profile:
~/.atlcli/templates/jira/profiles/{name}/ - Project:
~/.atlcli/templates/jira/projects/{key}/
Bulk Operations
Section titled “Bulk Operations”atlcli jira bulk edit --jql <query> --set "field=value"atlcli jira bulk edit --jql <query> --set "priority=High"atlcli jira bulk edit --jql <query> --dry-run --limit <n>atlcli jira bulk transition --jql <query> --to <status>atlcli jira bulk transition --jql <query> --to <status> --dry-runatlcli jira bulk label add <label> --jql <query>atlcli jira bulk label remove <label> --jql <query>atlcli jira bulk delete --jql <query> --confirmFilters
Section titled “Filters”atlcli jira filter listatlcli jira filter get --id <id>atlcli jira filter create --name <name> --jql <query>atlcli jira filter update --id <id> --jql <query>atlcli jira filter delete --id <id> --confirmatlcli jira filter run --id <id> # Execute filteratlcli jira filter share --id <id> --user <email>atlcli jira filter share --id <id> --group <name>Analytics
Section titled “Analytics”atlcli jira analyze velocity --board <id>atlcli jira analyze velocity --board <id> --sprints <n>atlcli jira analyze burndown --sprint <id>atlcli jira analyze burndown --sprint <id> --idealatlcli jira analyze predictability --board <id>Fields
Section titled “Fields”atlcli jira field list # List all fieldsatlcli jira field list --custom # Custom fields onlyatlcli jira field list --system # System fields onlyatlcli jira field get --id <id>atlcli jira field search <query> # Search fields by nameatlcli jira field options --id <id> # List field optionsImport/Export
Section titled “Import/Export”atlcli jira export --jql <query> -o <file>.csvatlcli jira export --jql <query> -o <file>.jsonatlcli jira export --jql <query> --fields key,summary,statusatlcli jira import --file <path>.csv --project <key>atlcli jira import --file <path>.json --project <key>atlcli jira import --file <path> --dry-runWebhooks
Section titled “Webhooks”# Start local webhook server (use with ngrok/cloudflare tunnel)atlcli jira webhook serve --port 3000atlcli jira webhook serve --port 3000 --projects PROJ,TEAMatlcli jira webhook serve --port 3000 --events jira:issue_updatedatlcli jira webhook serve --secret <secret> # HMAC validation
# Manage registered webhooksatlcli jira webhook list # List registered webhooksatlcli jira webhook register --url <url> --events <events>atlcli jira webhook register --url <url> --events jira:issue_created --jql <filter>atlcli jira webhook delete <id> # Delete webhookatlcli jira webhook refresh <id> # Refresh expiration (30 day limit)Event types: jira:issue_created, jira:issue_updated, jira:issue_deleted, comment_created, comment_updated, comment_deleted, sprint_created, sprint_started, sprint_closed, worklog_created, worklog_updated, worklog_deleted
Logging
Section titled “Logging”atlcli log list # List recent entriesatlcli log list --limit <n>atlcli log list --since <duration>atlcli log list --since <date> --until <date>atlcli log list --level erroratlcli log list --level warnatlcli log list --type apiatlcli log list --type cli.commandatlcli log list --type sync
atlcli log tail -f # Follow logsatlcli log tail -f --level erroratlcli log tail --project # Project logs only
atlcli log show <id> # Show entry details
atlcli log clear --before <duration> --confirmatlcli log clear --before <duration> --global --confirmatlcli log clear --before <duration> --project --confirmPlugins
Section titled “Plugins”atlcli plugin list # List all pluginsatlcli plugin list --enabledatlcli plugin enable <name>atlcli plugin disable <name>atlcli plugin install <path> # Install from local pathatlcli plugin remove <name>Feature Flags
Section titled “Feature Flags”Feature flags control experimental or optional functionality. Flags can be set at three levels with decreasing precedence: environment variables, project config, global config.
atlcli flag list # List all flags with sourcesatlcli flag ls # Alias for list
atlcli flag get <name> # Get a flag valueatlcli flag get helloworld
atlcli flag set <name> <value> # Set flag (project-level)atlcli flag set helloworld trueatlcli flag set export.backend libreoffice --global # Set globally
atlcli flag unset <name> # Remove flag (project-level)atlcli flag rm <name> # Alias for unsetatlcli flag unset helloworld --global # Remove from global configFlag value types: boolean (true/false), string, number
Precedence (highest to lowest):
| Level | Location | Environment Variable |
|---|---|---|
| 1. Environment | FLAG_* | FLAG_HELLOWORLD=true |
| 2. Project | .atlcli/config.json | - |
| 3. Global | ~/.atlcli/config.json | - |
Environment variable format: FLAG_ prefix + uppercase name with dots replaced by underscores.
Example: helloworld → FLAG_HELLOWORLD, export.backend → FLAG_EXPORT_BACKEND
Utility Commands
Section titled “Utility Commands”Helloworld
Section titled “Helloworld”Test command to verify the feature flag system works. Only available when flag.helloworld is true.
# Enable the commandatlcli flag set helloworld true
# Run itatlcli helloworld# Output: Hello dear user, thank you that you use me! Star me at https://github.com/BjoernSchotte/atlcli
# Disable (command will no longer be available)atlcli flag set helloworld falsePurpose: Simple test to verify feature flags work correctly. When the flag is not set or false, the command behaves as if it doesn’t exist.
Update
Section titled “Update”atlcli update # Check for and install updatesatlcli update --check # Check only, don't installVersion
Section titled “Version”atlcli version # Show versionatlcli --version # Same as aboveatlcli -v # Short formRelated Topics
Section titled “Related Topics”- Shell Completions - Tab completion setup
- Environment Variables - Environment configuration
- Troubleshooting - Common issues