Skip to Content

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


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

CheckDescription
ConfigVerifies that a configuration file exists and is valid
CredentialsConfirms that Confluence domain, username, and API token are set
API connectivityTests a live connection to the Confluence REST API
License fileVerifies that a machine-bound license file is present
License validationConfirms that the current license is active and usable
Machine IDVerifies that a stable machine identifier can be generated
VersionDisplays the current acs2md version, build date, and commit

Examples

# Run all diagnostic checks acs2md doctor # Aliases work the same way acs2md check acs2md diag

Sample 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 fish

Completion 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

FlagShortDefaultDescription
--output-ostdoutWrite bundle to a file instead of stdout
--log-file-lfrom configPath to log file to include in the bundle
--log-lines50Number 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 200

Tip: 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.txt

Use 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

FlagShortDefaultDescription
--short-sfalseHide flags and show only commands with descriptions

Examples

# Show the full command tree acs2md tree # Hide flags and show only commands acs2md tree --short

tree --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 descriptions

tree 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.

Last updated on