Skip to main content

AI-native task management CLI for coding agents and human developers

Project description

AnyTask CLI

AI-native task management CLI for coding agents and human developers

AnyTask CLI is a command-line interface for managing tasks and projects, designed specifically for AI agents and developers working together. It provides Linear-style task management with agent-aware features, MCP (Model Context Protocol) integration, and powerful AI-assisted commands.

Features

  • Linear-style Task Management: Human-readable task IDs (DEV-123), status workflows, priorities, and dependencies
  • Secure API Key Authentication: Simple API key-based authentication with optional keyring storage
  • Workspace & Project Organization: Isolated workspaces with role-based access
  • Rich Terminal UI: Beautiful, color-coded task boards and visualizations
  • Agent Integration: Native support for AI agents via API keys and MCP server
  • Worker System: Automated task execution using declarative YAML workflows
  • AI-Powered Commands: Task decomposition, smart suggestions, and context-aware assistance

Installation

Recommended: Install with uvx or pipx

For the best experience, install using uvx (recommended) or pipx:

# Install uv first (if not already installed)
curl -LsSf https://astral.sh/uv/install.sh | sh

# Using uvx (recommended - no installation needed)
uvx anyt --help

# Or using pipx (install once, use everywhere)
pipx install anyt
anyt --help

Alternative: Install with pip

pip install anyt

Quick Start

1. Get an API Key

Visit https://anyt.dev/home/settings/api-keys to create an API key.

2. Set Up Authentication

Add to your shell profile for persistence:

# For zsh users (macOS default)
echo 'export ANYT_API_KEY=anyt_agent_xxxxxxxxxxxxx' >> ~/.zshrc
source ~/.zshrc

# For bash users
echo 'export ANYT_API_KEY=anyt_agent_xxxxxxxxxxxxx' >> ~/.bashrc
source ~/.bashrc

Or set temporarily for current session:

export ANYT_API_KEY=anyt_agent_xxxxxxxxxxxxx

3. Initialize Your Workspace

Run the interactive setup:

anyt init

The CLI will guide you through:

  • Verifying your authentication
  • Interactively selecting a workspace from your available workspaces
  • Interactively choosing a project to work in with rich display
  • Saving configuration to .anyt/anyt.json
  • Viewing completion summary and next steps

For automation/CI/CD:

# Auto-select first workspace and project
anyt init --non-interactive

# Or specify explicitly
anyt init --workspace-id 123 --project-id 5

4. Start Using AnyTask

# Create a task
anyt task add "Implement user authentication" --status todo --priority 1

# View your board
anyt board

# Pick a task to work on
anyt task pick DEV-1

# Show active task
anyt active

# Mark as done
anyt task done

Core Commands

Initialization & Configuration

anyt init                         # Interactive workspace setup (recommended)
  --non-interactive, -y           # Auto-select first workspace/project
  --workspace-id <id>             # Specify workspace ID
  --project-id <id>               # Specify project ID
  --identifier <prefix>           # Workspace identifier (e.g., DEV)
  --dev                           # Use development API

Health Check

anyt health check                 # Check backend server status

Task Management

Create and update tasks:

anyt task add <title>             # Create new task
  --status <status>               # backlog, todo, active, done, cancelled
  --priority <-2 to 2>            # Priority level (default: 0)
  --owner <user-id>               # Assign to user or agent
  --labels <labels>               # Comma-separated labels
  --phase <phase>                 # Phase/milestone identifier

anyt task create <title>          # Create from template
  --template <name>               # Template to use
  --no-edit                       # Skip editor

anyt task edit <identifier>       # Update task fields
  --title <title>                 # New title
  --status <status>               # New status
  --priority <priority>           # New priority (-2 to 2)
  --labels <labels>               # Replace all labels

anyt task done <identifier>       # Mark task(s) as done
  --note <message>                # Add completion note

anyt task rm <identifier>         # Delete task
  --force                         # Skip confirmation

anyt task bulk-update <ids>       # Update multiple tasks
  --status <status>               # New status for all
  --priority <priority>           # New priority for all
  --yes                           # Skip confirmation

View tasks:

anyt task list                    # List all tasks
  --status <status>               # Filter by status
  --mine                          # Show only my tasks
  --assignee <user-id>            # Filter by assignee
  --labels <labels>               # Filter by labels
  --phase <phase>                 # Filter by phase
  --sort <field>                  # Sort by field
  --limit <n>                     # Max tasks to show

anyt task show <identifier>       # Show task details
  --show-metadata                 # Include workflow metadata

anyt board                        # View Kanban board
  --mine                          # Show only my tasks
  --group-by <field>              # Group by status, priority, owner, labels
  --compact                       # Compact display

anyt task suggest                 # Suggest next tasks
  --limit <n>                     # Number of suggestions
  --include-assigned              # Include assigned tasks

Task dependencies:

anyt task dep add <identifier>    # Add dependencies
  --on <task-ids>                 # Tasks this depends on

anyt task dep rm <identifier>     # Remove dependencies
  --on <task-ids>                 # Tasks to remove dependency on

anyt task dep list <identifier>   # List dependencies

anyt graph <identifier>           # Visualize dependencies
  --format <ascii|dot|json>       # Output format
  --depth <n>                     # Max dependency depth

Active task tracking:

anyt task pick <identifier>       # Pick task to work on
anyt active                       # Show current task

Comments:

anyt comment add <identifier>     # Add comment
  --message <text>                # Comment content

anyt comment list <identifier>    # List all comments

Sharing:

anyt task share <identifier>      # Generate shareable link
  --copy                          # Copy to clipboard

Visualization & Reporting

anyt summary                      # Workspace summary
  --period <today|weekly|monthly> # Summary period
  --phase <phase>                 # Filter by phase
  --format <text|markdown|json>   # Output format

anyt timeline <identifier>        # Task timeline
  --since <YYYY-MM-DD>            # Show events since date
  --last <24h|7d>                 # Show last N hours/days
  --compact                       # Compact format

Worker System

Automated task execution for AI agents:

anyt worker start                 # Start worker (interactive agent selection)
  --agent-id <id>                 # Agent identifier (or select interactively)
  --workspace <path>              # Workspace directory
  --workflow <name>               # Specific workflow to run
  --workflows <dir>               # Custom workflows directory
  --poll-interval <seconds>       # Polling interval
  --project-id <id>               # Project scope

anyt worker list-workflows        # List available workflows
anyt worker validate-workflow <file>  # Validate workflow definition

Built-in workflows:

  • local_dev: Direct implementation on current repository
  • dry_run: Testing workflow without external dependencies
  • feature_dev: Streamlined feature development workflow
  • feature_dev_with_check: Feature development with comprehensive validation

Secret management:

anyt worker secret set <name>     # Store secret
  --value <value>                 # Secret value (or prompt)

anyt worker secret get <name>     # Retrieve secret
  --show                          # Show value (default: masked)

anyt worker secret delete <name>  # Delete secret

anyt worker secret test <text>    # Test secret interpolation

Workflow artifacts & attempts:

anyt attempt list <task-id>       # List task attempts
anyt attempt show <attempt-id>    # Show attempt details

anyt artifact download <id>       # Download artifact
  --output <path>                 # Output file
  --stdout                        # Print to stdout

Usage Examples

Daily Workflow

# View your board
anyt board

# Pick a task
anyt task pick DEV-42

# Show active task
anyt active

# Update progress
anyt task edit DEV-42 --status active

# Add a comment
anyt comment add DEV-42 -m "Completed implementation"

# Complete the task
anyt task done DEV-42 --note "All tests passing"

Team Collaboration

# List all tasks
anyt task list

# Filter by status and phase
anyt task list --status active --phase T7

# View task details
anyt task show DEV-123

# Add dependencies
anyt task dep add DEV-124 --on DEV-123

# Visualize dependency graph
anyt graph DEV-124

# Share task link
anyt task share DEV-123 --copy

Workflow Automation

# Get task suggestions for agent
anyt task suggest --limit 5

# Start worker with interactive agent selection
export ANYT_API_KEY=anyt_agent_xxx
anyt worker start --workflow feature_dev

# Or start worker with specific agent and workflow
anyt worker start --agent-id agent-xxx --workflow feature_dev_with_check

# View workflow attempts
anyt attempt list DEV-42
anyt attempt show attempt-123

# Download artifacts
anyt artifact download artifact-456 --output result.json

Bulk Operations

# Update multiple tasks at once
anyt task bulk-update DEV-1,DEV-2,DEV-3 --status done --yes

# Mark multiple tasks as done
anyt task done DEV-4 DEV-5 DEV-6

MCP Server Integration

AnyTask includes a Model Context Protocol (MCP) server for seamless integration with Claude Code and other AI tools.

The MCP server is bundled with the CLI - no separate installation needed. Simply configure it in your Claude Code settings to access your tasks directly from AI conversations.

# Start the MCP server
anyt mcp start

Configure Claude Code by adding to your ~/.config/claude/claude_desktop_config.json:

{
  "mcpServers": {
    "anytask": {
      "command": "uvx",
      "args": ["anyt", "mcp", "start"],
      "env": {
        "ANYT_API_KEY": "anyt_agent_xxxxxxxxxxxxx"
      }
    }
  }
}

Configuration

Environment Variables

Authentication and API configuration via environment variables:

# Required: API key for authentication
export ANYT_API_KEY=anyt_agent_xxxxxxxxxxxxx

# Optional: Override API URL (defaults to https://api.anyt.dev)
export ANYT_API_URL=http://localhost:8000

# Optional: Override config directory (defaults to ~/.config/anyt)
export ANYT_CONFIG_DIR=/custom/path

Workspace Configuration

After running anyt init, workspace settings are stored in .anyt/anyt.json:

{
  "workspace_id": 123,
  "workspace_name": "Development",
  "workspace_identifier": "DEV",
  "api_url": "https://api.anyt.dev",
  "current_project_id": 456,
  "last_sync": "2025-11-14T10:30:00Z"
}

Note: The workspace config file does not store API keys. All authentication is handled via the ANYT_API_KEY environment variable.

Active Task Tracking

The currently picked task is stored in .anyt/active_task.json:

{
  "identifier": "DEV-42",
  "title": "Implement OAuth callback",
  "picked_at": "2025-11-06T10:30:00Z"
}

Documentation

User Guides

Developer Documentation

For contributors and internal development:

Support

For issues and questions, contact: contact@anytransformer.com

License

Proprietary - AnyTransformer Inc.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

anyt-0.7.1-py3-none-any.whl (427.5 kB view details)

Uploaded Python 3

File details

Details for the file anyt-0.7.1-py3-none-any.whl.

File metadata

  • Download URL: anyt-0.7.1-py3-none-any.whl
  • Upload date:
  • Size: 427.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.2

File hashes

Hashes for anyt-0.7.1-py3-none-any.whl
Algorithm Hash digest
SHA256 a03ea0adfee60bab3aa1046bcfc61ea58bf7fba3e585a218bd351f5ee396b476
MD5 c155628df558e742fcbfe2edc8837ccc
BLAKE2b-256 43d4cf9e70d7c413da5ea1785df49367f93415bc1db70472c9351d447e58bae1

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page