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 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 coding agents (Claude Code, Cursor, Codex, Gemini)
  • Worker System: Automated task execution using declarative YAML workflows
  • AI-Powered Commands: Task suggestions, smart decomposition, 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" --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 DEV-1

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)
  --agents <list>                 # Install agent integrations (claude,cursor,codex,gemini)
  --dev                           # Use development API

anyt login                        # Login with API key

Health Check

anyt health check                 # Check backend server status

Task Synchronization

anyt pull <identifier>            # Pull task from server to local filesystem
anyt push <identifier>            # Push local task changes to server
anyt open <identifier>            # Open task folder in editor/file manager

Task Management

Create and update tasks:

anyt task add <title>             # Create new task
  --status <status>               # backlog, todo, active, blocked, done, canceled, archived
  --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
  --estimate <hours>              # Time estimate in hours
  --project <id>                  # Project ID (uses current project if not specified)

anyt task edit [identifier]       # Update task fields (uses active task if not specified)
  --title <title>                 # New title
  --description <text>            # New description
  --status <status>               # New status
  --priority <priority>           # New priority (-2 to 2)
  --labels <labels>               # Replace all labels (comma-separated)
  --owner <user-id>               # New owner ID
  --estimate <hours>              # New time estimate in hours
  --ids <ids>                     # Multiple task IDs to edit (comma-separated)
  --dry-run                       # Preview changes without applying

anyt task done [identifier...]    # Mark task(s) as done (uses active task if not specified)
  --note <message>                # Add completion note

anyt task rm [identifier...]      # Delete task(s) (uses active task if not specified)
  --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 (comma-separated)
  --mine                          # Show only tasks assigned to you
  --assignee <user-id>            # Filter by assignee (user ID or agent ID)
  --labels <labels>               # Filter by labels (comma-separated)
  --phase <phase>                 # Filter by phase/milestone
  --project <id>                  # Filter by project ID
  --all                           # Show tasks from all projects
  --sort <field>                  # Sort by: priority, updated_at, created_at, status
  --order <asc|desc>              # Sort order (default: desc)
  --limit <n>                     # Max tasks to show (default: 50)

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

anyt board                        # View Kanban board
  --mine                          # Show only tasks assigned to you
  --assignee <user-id>            # Filter by assignee
  --labels <labels>               # Filter by labels (comma-separated)
  --status <status>               # Filter by status (comma-separated)
  --phase <phase>                 # Filter by phase/milestone
  --project <id>                  # Filter by project ID
  --all                           # Show tasks from all projects
  --group-by <field>              # Group by: status, priority, owner, labels
  --sort <field>                  # Sort within groups: priority, updated_at
  --compact                       # Compact display mode
  --limit <n>                     # Max tasks per lane (default: 20)

anyt task suggest                 # Suggest next tasks based on priority and dependencies
  --limit <n>                     # Number of suggestions (default: 10)
  --status <status>               # Filter by status (comma-separated, default: todo,backlog)
  --include-assigned              # Include already-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

Worker System

Automated task execution for AI agents:

anyt worker start                 # Start worker (interactive workflow selection)
  --workspace <path>              # Workspace directory (default: current)
  --workflow <name>               # Specific workflow (remote_dev, local_dev, dry_run)
  --workflows <dir>               # Custom workflows directory
  --poll-interval <seconds>       # Polling interval (default: 5)
  --project-id <id>               # Project scope
  --skip-checks                   # Skip workflow requirement validation
  --clone-repos                   # Force clone project repos
  --no-cleanup                    # Keep task workspaces after execution

anyt worker list-workflows        # List available workflows
  --show-requirements             # Show detailed requirements for each workflow

anyt worker validate-workflow <file>  # Validate workflow definition

anyt worker check                 # Check workflow requirements and validate environment

Built-in workflows:

  • local_dev: Direct implementation on current repository
  • dry_run: Testing workflow without external dependencies
  • remote_dev: Remote development workflow with GitHub integration
  • pr_monitor: Pull request monitoring workflow

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 workflow selection
export ANYT_API_KEY=anyt_agent_xxx
anyt worker start

# Or start worker with specific workflow
anyt worker start --workflow remote_dev
anyt worker start --workflow local_dev

# 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

Agent Integration

AnyTask integrates with popular coding agents including Claude Code, Cursor, Codex, and Gemini through custom slash commands.

Installing Agent Commands

# List available agents and installation status
anyt agent list

# Install slash commands for an agent
anyt agent install claude     # For Claude Code
anyt agent install cursor     # For Cursor
anyt agent install codex      # For Codex
anyt agent install gemini     # For Gemini

# Uninstall agent commands
anyt agent uninstall claude

You can also install agent integrations during workspace initialization:

# Interactive agent selection during init
anyt init

# Or specify agents explicitly
anyt init --agents claude,cursor

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.9.0-py3-none-any.whl (468.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: anyt-0.9.0-py3-none-any.whl
  • Upload date:
  • Size: 468.9 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.9.0-py3-none-any.whl
Algorithm Hash digest
SHA256 fe2d25c9eaf2b36899a76d2cf34a28dad8131bc195bbfa16b9aaa5290684b78f
MD5 f94f898087eb35cb8e263ed294212c5f
BLAKE2b-256 0fb3d6bb75bd26f6342ff638c10fe5cb852d05826abc2896032cfad232ec3136

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