Task Management

Learn how to create, manage, and track tasks with Knowns CLI

3 min read

Task Management

Tasks are the core of Knowns. They help you track work items with acceptance criteria, time tracking, and status management.

Creating Tasks

Create a task with the task create command:

knowns task create "Add user authentication" \
  -d "Implement JWT-based auth system" \
  --ac "User can register" \
  --ac "User can login" \
  --ac "User can logout" \
  --priority high \
  -l "auth,feature"

Options

OptionShortDescription
--description-dTask description
--acAcceptance criterion (repeatable)
--priority-plow, medium, high
--labels-lComma-separated labels
--assignee-aAssign to user (@me or @username)

Viewing Tasks

List all tasks

knowns task list --plain

Filter by status

knowns task list --status in-progress --plain

View single task

knowns task view 42 --plain

Updating Tasks

Change status

knowns task edit 42 -s in-progress

Assign to yourself

knowns task edit 42 -a @me

Check acceptance criteria

knowns task edit 42 --check-ac 1 --check-ac 2

Add implementation plan

knowns task edit 42 --plan $'1. Design API\n2. Implement endpoints\n3. Add tests'

Add notes

knowns task edit 42 --notes "Completed implementation with 95% coverage"

Task Workflow

A typical task workflow:

  1. Create the task with clear acceptance criteria
  2. Assign to yourself and set status to in-progress
  3. Start time tracking: knowns time start 42
  4. Check acceptance criteria as you complete them
  5. Add implementation notes
  6. Stop timer: knowns time stop
  7. Complete the task: knowns task edit 42 -s done

Status Values

StatusDescription
todoNot started (default)
in-progressCurrently working on
in-reviewSubmitted for review
blockedWaiting on dependency
doneCompleted

Best Practices

Good Acceptance Criteria

Write outcome-oriented criteria, not implementation steps:

# Good
--ac "User can login and receive JWT token"
--ac "Invalid credentials show error message"
 
# Bad
--ac "Add handleLogin function"
--ac "Use bcrypt for hashing"

Clear Titles

Use action-oriented titles that describe what needs to be done:

# Good
"Add password reset flow"
"Fix timeout on slow networks"
 
# Bad
"Auth stuff"
"Bug fix"