A powerful command-line interface for Atlassian Confluence that allows you to read, search, and manage your Confluence content from the terminal.
- π Read pages - Get page content in text or HTML format
- π Search - Find pages using Confluence's powerful search
- βΉοΈ Page info - Get detailed information about pages
- π List spaces - View all available Confluence spaces
- βοΈ Create pages - Create new pages with support for Markdown, HTML, or Storage format
- π Update pages - Update existing page content and titles
- π οΈ Edit workflow - Export page content for editing and re-import
- π§ Easy setup - Simple configuration with environment variables or interactive setup
npm install -g confluence-cli
Or run directly with npx:
npx confluence-cli
-
Initialize configuration:
confluence init
-
Read a page:
confluence read 123456789
-
Search for pages:
confluence search "my search term"
-
Create a new page:
confluence create "My New Page" SPACEKEY --content "Hello World!"
-
Update a page:
confluence update 123456789 --content "Updated content"
confluence init
export CONFLUENCE_DOMAIN="your-domain.atlassian.net"
export CONFLUENCE_API_TOKEN="your-api-token"
- Go to Atlassian Account Settings
- Click "Create API token"
- Give it a label (e.g., "confluence-cli")
- Copy the generated token
# Read by page ID
confluence read 123456789
# Read in markdown format
confluence read 123456789 --format markdown
# Read by URL (must contain pageId parameter)
confluence read "https://your-domain.atlassian.net/wiki/viewpage.action?pageId=123456789"
confluence info 123456789
# Basic search
confluence search "search term"
# Limit results
confluence search "search term" --limit 5
confluence spaces
# Find page by title
confluence find "Project Documentation"
# Find page by title in a specific space
confluence find "Project Documentation" --space MYTEAM
# Create with inline content and markdown format
confluence create "My New Page" SPACEKEY --content "**Hello** World!" --format markdown
# Create from a file
confluence create "Documentation" SPACEKEY --file ./content.md --format markdown
# Create child page with inline content
confluence create-child "Meeting Notes" 123456789 --content "This is a child page"
# Create child page from a file
confluence create-child "Tech Specs" 123456789 --file ./specs.md --format markdown
# Update title only
confluence update 123456789 --title "A Newer Title for the Page"
# Update content only from a string
confluence update 123456789 --content "Updated page content."
# Update content from a file
confluence update 123456789 --file ./updated-content.md --format markdown
# Update both title and content
confluence update 123456789 --title "New Title" --content "And new content"
The edit
and update
commands work together to create a seamless editing workflow.
# 1. Export page content to a file (in Confluence storage format)
confluence edit 123456789 --output ./page-to-edit.xml
# 2. Edit the file with your preferred editor
vim ./page-to-edit.xml
# 3. Update the page with your changes
confluence update 123456789 --file ./page-to-edit.xml --format storage
confluence stats
Command | Description | Options |
---|---|---|
init |
Initialize CLI configuration | |
read <pageId_or_url> |
Read page content | --format <html|text|markdown> |
info <pageId_or_url> |
Get page information | |
search <query> |
Search for pages | --limit <number> |
spaces |
List all available spaces | |
find <title> |
Find a page by its title | --space <spaceKey> |
create <title> <spaceKey> |
Create a new page | --content <string> , --file <path> , --format <storage|html|markdown> |
create-child <title> <parentId> |
Create a child page | --content <string> , --file <path> , --format <storage|html|markdown> |
update <pageId> |
Update a page's title or content | --title <string> , --content <string> , --file <path> , --format <storage|html|markdown> |
edit <pageId> |
Export page content for editing | --output <file> |
stats |
View your usage statistics |
# Setup
confluence init
# Read a page as text
confluence read 123456789
# Read a page as HTML
confluence read 123456789 --format html
# Get page details
confluence info 123456789
# Search with limit
confluence search "API documentation" --limit 3
# List all spaces
confluence spaces
# View usage statistics
confluence stats
# Clone the repository
git clone https://github.com/pchuri/confluence-cli.git
cd confluence-cli
# Install dependencies
npm install
# Run locally
npm start -- --help
# Run tests
npm test
# Lint code
npm run lint
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add some amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Create and update pages β
- Page templates
- Bulk operations
- Export pages to different formats
- Integration with other Atlassian tools (Jira)
- Page attachments management
- Comments and reviews
Your feedback helps make confluence-cli better for everyone. Here's how you can share your thoughts:
- Check the Issues page
- Create a new bug report
- Create a feature request
- Join our Discussions to chat with the community
- Share your experience with a feedback issue
- Rate us on NPM
- Star the repo if you find it useful! β
Check out our Contributing Guide - all contributions are welcome!
To help us understand how confluence-cli is being used and improve it, we collect anonymous usage statistics. This includes:
- Command usage frequency (no personal data)
- Error patterns (to fix bugs faster)
- Feature adoption metrics
You can opt-out anytime by setting: export CONFLUENCE_CLI_ANALYTICS=false
Made with β€οΈ for the Confluence community