@digital-minion/cli
v1.5.3
Published
Task Management CLI for Teams and AI Agents - A modular CLI for managing tasks in Asana projects
Maintainers
Readme
🤖 Digital Minion CLI
Mechanize Your AI Assistants
Digital Minion is an agentic support system designed to give your AI assistants real-world capabilities. Our first feature brings powerful task and project management to AI agents - with much more coming soon!
🚀 What is Digital Minion?
Digital Minion transforms AI assistants from conversational tools into productive team members by providing them with structured interfaces to real-world systems.
Current Feature: Task & Project Management
- Enable AI agents to manage tasks without Asana accounts
- Full CRUD operations via clean CLI and JSON APIs
- Seamless integration with existing Asana workflows
- Built for both humans and AI agents
Coming Soon:
- 📅 Calendar management
- 📧 Email integration
- 📂 Document management
- 🔄 Workflow automation
- And much more...
✨ Features
- 🤖 Zero-Friction Agent Integration: Tag-based assignment means no Asana accounts needed for AI
- 🔍 Advanced Filtering: Multi-criteria search across tasks, tags, sections, agents, and more
- 📊 JSON-First Design: Every command outputs clean JSON for programmatic consumption
- ✅ Complete Task Lifecycle: Create, assign, update, complete, and organize work
- 🏷️ Rich Organization: Tags, sections, subtasks, comments, attachments, and dependencies
- 📦 Truly Standalone: Single 830KB bundle with zero external dependencies
- ⚡ Blazing Fast: Built with esbuild - optimized for performance
- 🎯 Batch Operations: Execute multiple operations atomically via JSON payloads
- 📤 Export Anywhere: CSV, JSON, and Markdown export for reporting and analysis
Installation
npm install -g @digital-minion/cliOr use with npx:
npx @digital-minion/cli⚡ Quick Start
1️⃣ Install
npm install -g @digital-minion/cli2️⃣ Initialize
Set up your environment with the interactive wizard:
dm initYou'll be guided through:
- 🔑 Entering your Asana Personal Access Token (create one)
- 🏢 Selecting your workspace
- 👥 Choosing your team
- 📋 Picking your project
3️⃣ Start Working!
For Humans:
# List all incomplete tasks
dm list -i
# Create a new task
dm task add "Build the future" --notes "One line of code at a time"
# Assign to an agent
dm assign <taskId> myagent
# Mark complete
dm task complete <taskId>For AI Agents:
Digital Minion uses tag-based assignment - no Asana accounts needed! AI agents can self-assign and manage their own work:
# 1. Find your assigned work (JSON output)
dm -o json list --agent myname -i | jq '.tasks[]'
# 2. Get task details
dm -o json task get <taskId> | jq '.task'
# 3. Self-assign available work
dm assign <taskId> myname
# 4. Complete your task
dm task complete <taskId>💡 Pro Tip: Use the
-o jsonflag on any command for clean JSON output - perfect for programmatic parsing!
Available Commands
Configuration & Setup
dm config init- Initialize CLI configurationdm config show- Display current configurationdm config workspace- Switch workspacedm config team- Switch teamdm config project- Switch project
Task Management
dm list [options]- Search and filter tasksdm task add <name>- Create a new taskdm task get <taskId>- Get task detailsdm task update <taskId>- Update a taskdm task complete <taskId>- Mark task as completedm task delete <taskId>- Delete a task
Agent Assignment
dm assign <taskId> <agentName>- Assign task to agentdm unassign <taskId>- Unassign task from agentdm reassign <taskId> <agentName>- Reassign to different agent
Organization
dm tag [options]- Manage tagsdm section [options]- Manage sectionsdm subtask [options]- Manage subtasks
Collaboration
dm comment [options]- Manage commentsdm attachment [options]- Manage attachmentsdm dependency [options]- Manage dependencies
Advanced
dm batch execute- Execute batch operations via JSONdm export <format> <file>- Export tasks (CSV, JSON, Markdown)dm workflow [options]- Manage custom field workflowsdm status [options]- Manage project status updates
Help & Examples
dm examples- Show usage examplesdm examples agents- Agent-specific examplesdm help [command]- Get help for any command
Filtering & Search
Combine multiple filters for precise results:
# High priority incomplete tasks
dm list --priority high -i
# Tasks due this week
dm list --due-to 2025-12-31 -i
# Search for specific keywords
dm list --search "bug" -i
# Tasks in a specific section
dm list --section "In Progress" -i
# Tasks with specific tag
dm list --tag "priority:high" -i
# Agent's incomplete tasks
dm list --agent becky -iJSON Output for Automation
Every command supports JSON output with the -o json flag:
# Get JSON output
dm -o json list -i
# Parse with jq
dm -o json list --agent myname -i | jq '.tasks[] | {id: .gid, name: .name}'
# Use in scripts
TASKS=$(dm -o json list -i)
echo $TASKS | jq -r '.tasks[].gid'Batch Operations
Execute multiple operations in a single command:
# From stdin
echo '{
"operations": [
{
"type": "assign",
"taskIds": ["123", "456"],
"params": {"agentName": "claude"}
},
{
"type": "complete",
"taskIds": ["123", "456"]
}
]
}' | dm batch execute
# From file
dm batch execute -f operations.jsonSupported operations:
assign- Assign tasks to agentunassign- Remove agent assignmentcomplete- Mark tasks completemove-section- Move to sectionadd-tag- Add tagremove-tag- Remove tagupdate-task- Update properties
Export Formats
Export tasks to various formats:
# CSV for spreadsheets
dm export csv tasks.csv -i
# JSON for processing
dm export json backup.json
# Markdown for documentation
dm export markdown report.md --agent becky -iConfiguration
Configuration is stored in .minion/asana.config.json:
{
"accessToken": "your-token",
"workspaceId": "workspace-gid",
"teamId": "team-gid",
"projectId": "project-gid"
}You can switch context at any time:
dm config workspace # Switch workspace (also updates team & project)
dm config team # Switch team (also updates project)
dm config project # Switch project onlyDevelopment
Building from Source
# Install dependencies
npm install
# Development build with watch
npm run dev
# Production build (minified)
npm run build:prod
# Build TypeScript types
npm run build:types
# Clean build artifacts
npm run cleanProject Structure
packages/cli/
├── src/
│ ├── modules/ # Command modules
│ ├── config/ # Configuration management
│ ├── output/ # Output formatting
│ ├── registry.ts # Module registry
│ └── index.ts # Entry point
├── dist/ # Built output (830KB standalone)
├── build.js # esbuild configuration
└── package.jsonArchitecture
Digital Minion CLI follows a clean separation of concerns:
- CLI Layer (
@digital-minion/cli): Presentation, command parsing, user interaction - Business Logic Layer (
@digital-minion/lib): Domain-specific backends, API communication - Standalone Bundle: All dependencies bundled for portability
Requirements
- Node.js >= 18.0.0
- npm >= 9.0.0
- Asana Personal Access Token (create one)
License
Apache-2.0 - see LICENSE file for details
Contributing
Contributions are welcome! Please visit the GitHub repository for:
Links
🆘 Support
For help and questions:
- Run
dm help [command]for command-specific help - Run
dm examplesfor usage examples - Check the GitHub issues
- Review Asana API documentation
🎯 The Vision
Digital Minion is building the infrastructure layer for agentic AI - enabling AI assistants to interact with the tools and systems that power modern work. Task management is just the beginning.
Join us in mechanizing the future of AI collaboration.
Built with ❤️ for humans and AI agents alike
