Thanks to visit codestin.com
Credit goes to Github.com

Skip to content

pleaseai/asana

Repository files navigation

Asana CLI

CI codecov License: MIT

Manage your Asana tasks efficiently from the command line.

English | 한국어

Features

  • ✅ OAuth 2.0 and Personal Access Token authentication
  • ✅ Create, list, complete, and delete tasks
  • ✅ Automatic token refresh (OAuth)
  • ✅ Default workspace configuration
  • ✅ Fast execution powered by Bun
  • Multiple output formats (TOON, JSON, Plain) for different use cases

Quick Installation

Homebrew (macOS/Linux - Recommended)

brew install pleaseai/tap/asana-cli

Install Script (All Platforms)

curl -fsSL https://raw.githubusercontent.com/pleaseai/asana/main/scripts/install.sh | bash

Note: Add ~/.local/bin to your PATH if needed.

From Source

git clone https://github.com/pleaseai/asana.git
cd asana
bun install
bun run dev --help

Quick Start

Authenticate

# Using Personal Access Token (recommended)
asana auth login --token YOUR_TOKEN

# Using OAuth 2.0
asana auth login

Manage Tasks

# Create a task
asana task create -n "New task" -w WORKSPACE_ID

# List your tasks
asana task list -a me -w WORKSPACE_ID

# Complete a task
asana task complete TASK_ID

Output Formats

Choose output format based on your needs:

# TOON format (default) - 30-60% more token-efficient for LLMs
asana task list -a me

# JSON format - for scripts and automation
asana task list -a me --format json

# Plain format - traditional human-readable output
asana task list -a me --format plain

Format Comparison:

Format Use Case Token Efficiency Machine Readable
TOON LLM interactions, sharing outputs ⭐⭐⭐⭐⭐
JSON Scripts, automation, parsing ⭐⭐⭐
Plain Terminal viewing, traditional CLI ⭐⭐
📊 Example Outputs

TOON Format (default):

tasks[3]{gid,name,completed}:
  "1234567890",Setup authentication,true
  "1234567891",Add task commands,false
  "1234567892",Write documentation,false

JSON Format:

{
  "tasks": [
    { "gid": "1234567890", "name": "Setup authentication", "completed": true },
    { "gid": "1234567891", "name": "Add task commands", "completed": false },
    { "gid": "1234567892", "name": "Write documentation", "completed": false }
  ]
}

Plain Format:

Tasks (3):

✓ 1234567890 - Setup authentication
○ 1234567891 - Add task commands
○ 1234567892 - Write documentation

Documentation

📖 Full Documentation

Updating

Homebrew

brew upgrade asana-cli

Install Script

asana self-update

Development

# Clone and install
git clone https://github.com/pleaseai/asana.git
cd asana
bun install

# Run in development mode
bun run dev auth login --token YOUR_TOKEN

# Run tests
bun test

# Build executable
bun run build

For detailed development guides, see dev-docs/.

Tech Stack

License

MIT

Author

Minsu Lee (@amondnet)