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 parserschedule
: Custom time parserlist
: Flag-only filteringdone/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:
"next 3 days"
(43% of date range queries)"past week"
(31% of review workflows)- Task completion by title (67% of done commands)
"@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:
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