Utilities
This page documents the top-level commands currently exposed by acs2md tree, plus the utility commands used for diagnostics and discovery.
These commands frame the safe operator workflow for bulk export: validate the workstation, inspect the command surface, and confirm the target before you run a consequential job.
Top-level commands
config— manage application configuration. See Config Commands.completion— generate shell completion scripts for supported shells. Documented below.doctor— verify configuration, credentials, and connectivity. Documented below.license— manage your license. See License.page— work with individual Confluence pages. These page-level commands behave like the acp2md equivalents. See Convert Pages, Get Pages, Count & Analyze, and Page Properties.space— work with Confluence spaces. See Convert Spaces, Get Space Info, List Spaces, List Pages, Space Properties, and Space Permissions.support— generate a diagnostic bundle for sharing with support. Documented below.tree— display the full command tree with descriptions. Documented below.
Doctor
acs2md doctor [flags]Runs a series of diagnostic checks and reports the results. Use this to verify your setup before running a conversion.
Checks performed
| Check | Description |
|---|---|
| Config | Verifies that a configuration file exists and is valid |
| Credentials | Confirms that Confluence domain, username, and API token are set |
| API connectivity | Tests a live connection to the Confluence REST API |
| License file | Verifies that a machine-bound license file is present |
| License validation | Confirms that the current license is active and usable |
| Machine ID | Verifies that a stable machine identifier can be generated |
| Version | Displays the current acs2md version, build date, and commit |
Examples
# Run all diagnostic checks
acs2md doctor
# Aliases work the same way
acs2md check
acs2md diagSample output from a live macOS run, with tenant and machine identifiers redacted:
🩺 Running diagnostics for acs2md v1.0.0...
✅ Configuration file /Users/<user>/Library/Application Support/acs2md/config.yaml
✅ Confluence credentials <tenant>.atlassian.net (user: <redacted>)
✅ Confluence API connected (310ms)
✅ License file loaded (<redacted>)
✅ License validation active (<redacted>)
✅ Machine ID <redacted>
✅ Version acs2md v1.0.0 (darwin/arm64, built 2026-03-29T08:23:49Z)
📊 Result: all 7 checks passed
🎉 acs2md is ready to use!Recommended moments to run doctor:
- immediately after license activation
- after changing credentials or proxy configuration
- before the first bulk export on a new machine
- before a scheduled or customer-facing export run
As of v1.0.0, doctor has no command-specific flags. Use the global --no-progress flag when you need a clean terminal recording or CI-friendly output.
When you need the full build metadata outside diagnostics, run acs2md --version-extended.
completion
acs2md completion [bash|zsh|fish|powershell]Generates shell completion scripts so operators can move through the large command surface faster.
powershell here refers to shell completion generation only. It does not imply that a Windows build is currently available.
Examples
acs2md completion zsh
acs2md completion bash
acs2md completion fishCompletion is especially useful for teams that rely on space and page subcommands regularly and want faster discovery from the shell.
support
acs2md support [flags]Generates a diagnostic bundle for sharing with the support team.
The support command collects system information, configuration, diagnostic checks, environment variables, and recent log output into a single file. Credentials in configuration and environment variables are automatically masked. Log file contents are included as-is, so review them briefly before sharing if you have custom logging that may capture sensitive data.
Flags
| Flag | Short | Default | Description |
|---|---|---|---|
--output | -o | stdout | Write bundle to a file instead of stdout |
--log-file | -l | from config | Path to log file to include in the bundle |
--log-lines | 50 | Number of recent log lines to include |
Bundle contents
- System info: app version, Go version, OS/arch, git commit, build date
- Configuration: config file path, Confluence domain and type, HTTP and log settings, with API token masked
- Diagnostics: the same checks as
doctor - Environment: only
ACS2MD_*variables, with secret values redacted - Recent log: the last N lines from the selected log file
Examples
# Print the support bundle to stdout
acs2md support
# Save the bundle to a file
acs2md support --output bundle.txt
# Include more log context
acs2md support --log-file app.log --log-lines 200Tip: reproduce the issue with debug logging first, then generate the bundle:
# 1. Reproduce the issue with debug logging
acs2md space convert by-key MYSPACE --output-dir output --debug --log-file app.log
# 2. Generate the support bundle
acs2md support --log-file app.log --output bundle.txtUse support when you need one shareable artifact for support that already includes the most relevant environment, configuration, and diagnostic context.
Tree
acs2md tree [flags]Prints the full command tree with descriptions. Useful for discovering available commands and their hierarchy.
Flags
| Flag | Short | Default | Description |
|---|---|---|---|
--short | -s | false | Hide flags and show only commands with descriptions |
Examples
# Show the full command tree
acs2md tree
# Hide flags and show only commands
acs2md tree --shorttree --short output
The short form shows commands and descriptions without flags — useful for operator runbooks and onboarding:
acs2md → Convert Atlassian Confluence spaces to Markdown
├── config → Manage application configuration
│ ├── create → Create the default configuration file
│ ├── get → Get a configuration value by key
│ ├── list → List all configuration values
│ ├── set → Set a configuration value
│ └── where → Show the location of the configuration file
├── doctor → Verify configuration, credentials, and connectivity
├── license → Manage your license
│ ├── activate → Activate a license for the application
│ ├── deactivate → Deactivate the license for this instance
│ ├── export → Export the license file to a backup location
│ ├── import → Import a license file from a backup
│ ├── list → Display license information
│ ├── terms → Display the software license agreement
│ ├── validate → Validate the application license
│ └── where → Show the location of the license file
├── page → Work with individual Confluence pages
│ ├── convert → Convert pages to Markdown
│ │ ├── by-id → Convert a page to Markdown by its ID
│ │ ├── by-title → Convert a page to Markdown by its title
│ │ └── by-url → Convert a page to Markdown by its URL
│ ├── count → Analyze page structure and complexity
│ │ ├── marks → Count ADF formatting marks
│ │ │ ├── by-id → Count formatting marks by page ID
│ │ │ ├── by-title → Count formatting marks by page title
│ │ │ └── by-url → Count formatting marks by URL
│ │ └── nodes → Count ADF content nodes
│ │ ├── by-id → Count content nodes by page ID
│ │ ├── by-title → Count content nodes by page title
│ │ └── by-url → Count content nodes by URL
│ ├── get → Retrieve pages in native Confluence formats
│ │ ├── by-id → Retrieve a page in native format by its ID
│ │ ├── by-title → Retrieve a page in native format by its title
│ │ └── by-url → Retrieve a page in native format by its URL
│ └── properties → List custom properties of a page
│ ├── by-id → List page properties by page ID
│ ├── by-title → List page properties by page title
│ └── by-url → List page properties by URL
├── space → Work with Confluence spaces
│ ├── convert → Convert all pages in a space to Markdown
│ │ ├── by-id → Convert a space to Markdown by its ID
│ │ └── by-key → Convert a space to Markdown by its key
│ ├── get → Download space pages in native format
│ │ ├── by-id → Download space pages in native format by ID
│ │ └── by-key → Download space pages in native format by key
│ ├── list → List all accessible Confluence spaces
│ ├── pages → List pages in a space
│ │ ├── by-id → List pages by space ID
│ │ └── by-key → List pages by space key
│ ├── permissions → List access permissions for a space
│ │ ├── by-id → List space permissions by space ID
│ │ └── by-key → List space permissions by space key
│ └── properties → List custom properties of a space
│ ├── by-id → List space properties by space ID
│ └── by-key → List space properties by space key
├── support → Generate a diagnostic bundle for support
└── tree → Display the full command tree with descriptionstree output (full)
Without --short, the full tree also shows every flag for every command, including short forms, descriptions, and defaults. This is useful for quickly looking up flags without running --help on individual commands.
Use tree --short when you need a compact release inventory for runbooks, onboarding, or internal operator documentation. Use tree (full) when you need a complete reference of every flag available.