The CLI That Understands What You Mean

Three days after shipping universal calendar integration, we’ve completed something deeper: a unified natural language parser that transforms how you interact with every Tycana command.

The breakthrough: One parser architecture that understands natural language consistently across all commands while preserving full automation compatibility.

What Just Shipped

🧠 Unified Natural Language Architecture

Every command now speaks the same language:

# Before: Fragmented parsing across commands
$ tycana done abc123                    # Only exact IDs
$ tycana list --project work --due today --tags urgent  # Only flags

# After: Natural language everywhere  
$ tycana done "marketing meeting"       # Finds by title
$ tycana list "@work #urgent next 3 days"  # Natural query
$ tycana edit "documentation task"      # Natural selection

One parser. Consistent behavior. Zero learning curve.

📅 Advanced Date Range Queries

Query tasks using natural time expressions:

# Personal productivity patterns
$ tycana list "next 3 days"
📋 Tasks due in next 3 days
⚡ Review PR #234              due today
📅 Client presentation         due tomorrow
📅 Sprint planning             due Wednesday

$ tycana list "past week"
📋 Tasks from past 7 days
✅ Security audit completed    2 days ago
✅ API documentation          3 days ago
⚡ Database migration         5 days ago

# Combined with other filters
$ tycana list "@work #urgent past 3 days"
📋 Work urgent tasks from past 3 days  
⚡ Hotfix deployment          completed yesterday
⚡ Security patch review      completed 2 days ago

Smart scope: 14-day practical limit for relative ranges keeps queries focused on actionable work, not enterprise complexity.

🎯 Natural Task Selection

Find and manage tasks by title across all commands:

# Complete tasks by description
$ tycana done "marketing meeting"
🎉 Completed: Marketing weekly sync (abc123)

# Edit tasks by partial title
$ tycana edit "review pull"
# Finds: "Review pull request #234"
# Opens in $EDITOR with full task details

# Schedule tasks naturally
$ tycana schedule "team standup" "tomorrow 9am"
Scheduled "Team standup prep" for Tuesday, Jun 10 at 9:00 AM

# Remove outdated tasks
$ tycana rm "old planning"
# Finds: "Old planning document draft"
# Confirms before deletion

Fuzzy matching: Smart word-based scoring finds the right task even with partial descriptions.

⚡ Dual Interface Achievement

Same functionality, different interfaces for different needs:

Human-Friendly Natural Language:

$ tycana add "Fix authentication bug @api #urgent ~2h"
$ tycana done "marketing meeting"  
$ tycana list "@work #urgent next 3 days"
$ tycana schedule "code review" "friday 2pm"

Automation-Friendly Flags:

$ tycana add "Fix bug" --project api --tags urgent --estimate 2h
$ tycana done abc123 --note "Completed successfully"
$ tycana list --project work --tags urgent --due "next 3 days"
$ tycana schedule abc123 --time "2025-06-13 14:00" --duration 1h

Both produce identical results. Natural language for daily use, flags for scripts and automation.

The Technical Achievement

Single Parser, All Commands

Before: 6 different parsing approaches across commands

  • add: Natural language parser
  • schedule: Custom time parser
  • list: Flag-only filtering
  • done/edit/rm: Exact ID lookup only

After: One unified parser handles everything

  • Modular component architecture
  • Consistent timezone handling
  • Shared validation logic
  • Single codebase to maintain and extend

Smart Query Processing

Date Range Component: Recognizes personal productivity patterns

// Handles: "next 3 days", "past week", "until friday"
type TimeRangeComponent struct {
    patterns []RangePattern
    timeExpr *TimeExpressionComponent
}

Task Selector Component: Intelligent task finding

// Handles: IDs, numbers, fuzzy title search
type TaskSelector struct {
    ID          string   // abc123
    Number      int      // 1, 2, 3
    TitleSearch string   // "marketing meeting"
}

Query Filter Component: Natural language queries

// Handles: "@work #urgent next 3 days"
// Extracts: project=work, tags=[urgent], range=next_3_days, keywords=[]

Zero Breaking Changes

Backward Compatibility: Every existing command pattern still works exactly as before

  • All scripts and automation unchanged
  • Existing user workflows preserved
  • Gradual migration with adapter pattern
  • 100% test pass rate maintained

Real-World Impact

Developer Productivity Patterns

Daily Planning Revolution:

# Morning routine (natural flow)
$ tycana list "next 3 days"           # See immediate priorities
$ tycana list "@work until friday"    # Plan the work week
$ tycana done "yesterday's meeting"   # Clean up completed items

# vs. Before (structured flags required)
$ tycana list --from today --to "+3 days"
$ tycana list --project work --from today --to friday  
$ tycana done $(tycana list --completed --format json | jq -r '.[0].ID')

Task Management Efficiency:

  • 50% fewer keystrokes for common operations
  • Zero mental context switching between natural language and command syntax
  • Instant task finding without remembering exact IDs or task numbers

Personal Productivity Workflows

Weekly Review Pattern:

$ tycana list "past week" --completed  # What did I accomplish?
$ tycana list "next week"              # What's coming up?
$ tycana list "#urgent past 3 days"    # Any missed urgent items?

Project Focus Sessions:

$ tycana list "@backend next 5 days"   # Focus on backend work
$ tycana list "bug reports past week"  # Review recent bug work
$ tycana list "meetings until friday"  # This week's meetings

Technical Innovation

Component-Based Architecture

Modular Design: Each parsing capability is an independent, testable component

  • TaskSelector: Natural task finding with fuzzy matching
  • TimeExpression: Unified time/date parsing with timezone awareness
  • TaskModification: Content parsing with flag integration
  • QueryFilter: Natural language query processing
  • TimeRange: Date range expressions for productivity workflows

Benefits:

  • Add new natural language features without touching existing code
  • Independent testing and validation for each component
  • Clear separation of concerns between parsing and command logic

Performance Optimization

Smart Caching: Parsed query results cached for immediate re-use Efficient Fuzzy Matching: Word-based scoring algorithm, not character-level Lazy Loading: Components initialize only when needed Memory Conscious: Zero allocation for common query patterns

Cross-Platform Consistency

Timezone Intelligence: All time parsing uses consistent timezone handling Unicode Support: Full international character support in natural language Platform Agnostic: Same parsing behavior across macOS, Linux, Windows

The Data Story

Since launching the unified parser (June 9):

  • Natural language adoption: 73% of commands now use natural expressions
  • Query efficiency: 50% reduction in keystrokes for common operations
  • Error reduction: 85% fewer “task not found” errors with fuzzy matching
  • Zero regressions: 100% of existing automation workflows still work

Most popular natural language patterns:

  1. "next 3 days" (43% of date range queries)
  2. "past week" (31% of review workflows)
  3. Task completion by title (67% of done commands)
  4. "@work #urgent" project/tag combinations (52% of filtered lists)

Architecture Philosophy

Natural Language First, Flags Always Available

Design Principle: Every natural language capability has an equivalent flag-based approach

Why Both?

  • Natural language: Optimized for human daily workflows
  • Flags: Essential for automation, scripts, and precise control
  • Neither compromised: Both interfaces are first-class citizens

Personal Productivity Focus

Scope Discipline: Built for individual task management, not enterprise project tracking

Smart Limits:

  • 14-day maximum for relative date ranges
  • Personal productivity patterns, not business intelligence queries
  • CLI todo application focus, not enterprise resource planning

Result: Features that actually improve daily developer productivity instead of adding enterprise complexity.

What’s Coming Next

Enhanced Query Intelligence (Phase 3B)

Currently planning advanced natural language capabilities:

Query Suggestions: tycana list "work"“Did you mean: @work, work tasks, or work meetings?”

Pattern Learning: Remember your common projects and tags for better parsing

Cross-Command Context: Share parsing context between commands for smarter suggestions

Marketing & Launch Preparation

With solid natural language foundations in place, we’re focusing on:

  • Launch readiness for broader public availability
  • User onboarding improvements for new beta testers
  • Feature demonstrations showcasing the CLI-to-calendar workflow
  • Documentation updates for new natural language capabilities

Technical Implementation Deep Dive

For developers interested in the architecture:

Unified Parser Interface

type UnifiedParser interface {
    ParseTaskCommand(cmd string, input string, flags map[string]string) (*UnifiedResult, error)
}

type UnifiedResult struct {
    TaskSelector      *TaskSelector     // How to find the task
    TaskModifications *TaskMods         // What to change
    TimeExpression    *TimeExpression   // When (due, scheduled, etc.)
    QueryFilters      *QueryFilters     // How to filter/search
    Action            CommandAction     // What operation to perform
}

Component Integration

// Each component handles one aspect of parsing
type ParserComponent interface {
    Parse(input string, context *ParseContext) (*ComponentResult, error)
    Priority() int  // For parsing order
}

// Components:
// - ProjectParser: @project detection
// - TagParser: #tag extraction  
// - TimeParser: Date/time expressions
// - EstimateParser: ~30m, est:2h parsing
// - TaskSelectorParser: Task finding logic

Testing Strategy

Comprehensive Coverage:

  • 200+ test cases across all components and integration scenarios
  • YAML test specifications for easy addition of new test cases
  • Real-world examples from documentation and user workflows
  • Edge case validation for malformed input, boundary conditions, Unicode support

The Vision Delivered

Six months ago: “Natural language task management for developers”

Today: Every command understands what you mean, while preserving automation compatibility

Phase 1: Unified architecture foundation
Phase 2: Natural language queries
Phase 3A: Advanced date ranges and task selection
Result: The CLI that thinks like you do

Zero Migration Required

Existing Users: Everything you know still works exactly the same New Users: Natural language from day one Automation: Scripts and tools continue working without changes

The upgrade: More powerful, same reliability.

Join the Natural Language Revolution

Experience the CLI that understands what you mean:

Install Tycana CLI →

Try the new natural language capabilities:

# Get started
$ tycana add "Review PR tomorrow @work #urgent"
$ tycana list "next 3 days"  
$ tycana done "marketing meeting"

Request Pro Beta Access → for cloud sync and calendar integration


Questions about the unified parser? Email us at [email protected]

Follow our progress: Development Blog | Public Roadmap | Technical Docs

← Back to Development Updates