Configuration Examples¶
Configuration setups for different use cases and preferences.
Personal Task Management¶
Minimal Setup¶
Simple configuration for individual use:
# ~/.TaskRepo/config
parent_dir: ~/tasks
default_priority: M
default_status: pending
default_assignee: '@alice' # Auto-assign to yourself
sort_by:
- due
- priority
Use case: Single-user, straightforward task tracking
GTD (Getting Things Done)¶
Configuration optimized for GTD methodology:
parent_dir: ~/gtd
default_priority: M
default_status: pending
default_assignee: '@alice'
sort_by:
- priority
- due
- created
cluster_due_dates: true # Group by time buckets
Repositories: - tasks-inbox - Capture all new tasks here - tasks-work - Work-related tasks - tasks-personal - Personal tasks - tasks-someday - Future possibilities
Workflow:
# Capture
tsk add --repo inbox --title "Task idea"
# Clarify weekly
tsk list --repo inbox
tsk move 1 work
tsk move 2 personal
tsk move 3 someday
Priority-Focused¶
Emphasize priority over all else:
parent_dir: ~/tasks
default_priority: L # Default to low, explicitly set higher
default_status: pending
sort_by:
- priority
- -modified # Recently modified first within priority
Workflow:
Team Collaboration¶
Small Team (2-5 people)¶
Configuration for small collaborative team:
parent_dir: ~/team-tasks
default_priority: M
default_status: pending
default_github_org: 'YourTeam'
sort_by:
- assignee:@alice # Your tasks first
- priority
- due
cluster_due_dates: true
Repositories: - tasks-shared - Team-wide tasks - tasks-sprint - Current sprint work
Sync frequently:
Large Team (6+ people)¶
Configuration with team-specific repositories:
parent_dir: ~/work/tasks
default_priority: M
default_status: pending
default_github_org: 'YourOrg'
sort_by:
- assignee:@alice
- status
- priority
- due
Repositories: - tasks-team-frontend - Frontend team - tasks-team-backend - Backend team - tasks-team-devops - DevOps team - tasks-project-alpha - Cross-team project
Per-team workflows:
# Frontend team member
tsk list --repo team-frontend --assignee @alice
# Cross-team collaboration
tsk list --repo project-alpha --assignee @alice
Remote Team¶
Optimized for distributed team across timezones:
parent_dir: ~/remote-work/tasks
default_priority: M
default_status: pending
default_github_org: 'RemoteOrg'
sort_by:
- status # In-progress tasks first
- assignee:@alice
- priority
- due
cluster_due_dates: true
Best practices: - Sync multiple times daily - Use detailed task descriptions - Link to relevant documentation - Set realistic due dates accounting for timezone differences
# Start of work day (any timezone)
tsk sync
# Regular syncs
tsk sync --push # Every few hours
# Clear handoff notes in descriptions
tsk edit 5
# Add: "Completed X, next step is Y, blocker is Z"
Project Management¶
Single Project¶
Configuration for dedicated project:
parent_dir: ~/projects/project-alpha/tasks
default_priority: M
default_status: pending
default_github_org: 'ProjectAlpha'
sort_by:
- project # Group by subproject/phase
- priority
- due
Repositories: - tasks-project-alpha - Main repository
Project structure (using project field): - planning - Planning phase tasks - design - Design tasks - development - Implementation - testing - QA tasks - deployment - Release tasks
# View all planning tasks
tsk list --project planning
# Track development progress
tsk list --project development --status completed
Multiple Projects¶
Configuration managing several projects:
parent_dir: ~/all-projects/tasks
default_priority: M
default_status: pending
sort_by:
- due
- priority
cluster_due_dates: true
Repositories: - tasks-project-alpha - tasks-project-beta - tasks-project-gamma - tasks-consulting-client-x
Workflow:
# See all projects
tsk repos
# Focus on specific project
tsk list --repo project-alpha
# Cross-project view (all urgent tasks)
tsk list --priority H --sort due
Agile/Scrum¶
Configuration for Scrum methodology:
parent_dir: ~/scrum/tasks
default_priority: M
default_status: pending
default_github_org: 'ScrumTeam'
sort_by:
- project # Sprint/epic grouping
- assignee
- priority
Repositories: - tasks-backlog - Product backlog - tasks-sprint-current - Current sprint - tasks-technical-debt - Tech debt items
Project field usage: - sprint-12 - Sprint number - epic-auth - Epic/feature name
Sprint workflow:
# Sprint planning: move tasks from backlog
tsk list --repo backlog --priority H
tsk move 5,6,7,8 sprint-current
tsk edit 5,6,7,8 --project sprint-12
# Daily: view sprint tasks
tsk list --repo sprint-current --project sprint-12
# Sprint end: archive completed
tsk archive --repo sprint-current --project sprint-12
Academic Research¶
PhD Research¶
Configuration for doctoral research:
parent_dir: ~/research/phd/tasks
default_priority: M
default_status: pending
default_assignee: '@researcher'
sort_by:
- due
- priority
- project
Repositories: - tasks-experiments - Lab work and experiments - tasks-writing - Papers and thesis - tasks-courses - Teaching duties - tasks-reading - Literature review
Tags: experiment, writing, review, teaching, admin
Workflow:
# Track experiments
tsk add --repo experiments \
--title "Run protein analysis batch 5" \
--tags experiment \
--due tomorrow
# Writing tasks
tsk add --repo writing \
--title "Revise introduction section" \
--project paper-nature \
--tags writing \
--links https://docs.google.com/document/d/...
Lab Management¶
Configuration for research lab manager:
parent_dir: ~/lab/tasks
default_priority: M
default_status: pending
default_github_org: 'LabName'
sort_by:
- assignee # Group by researcher
- project # Then by project
- due
Repositories: - tasks-lab-shared - Lab-wide tasks - tasks-project-x - Research project X - tasks-equipment - Equipment maintenance - tasks-admin - Administrative tasks
Track student/postdoc work:
# Assign tasks to researchers
tsk add --repo project-x \
--title "Analyze dataset" \
--assignees @student1 \
--project experiment-5
# Review student progress
tsk list --assignee @student1 --status in-progress
Freelancing¶
Multiple Clients¶
Configuration for freelance work:
parent_dir: ~/freelance/tasks
default_priority: M
default_status: pending
sort_by:
- due # Deadline-driven
- priority
- project
cluster_due_dates: true
Repositories: - tasks-client-a - tasks-client-b - tasks-client-c - tasks-business - Business development, admin
Track billable work:
# Client work
tsk add --repo client-a \
--title "Implement feature X" \
--project website-redesign \
--due "2025-11-15" \
--links https://github.com/client-a/repo/issues/123
# Business tasks
tsk add --repo business \
--title "Invoice client A" \
--due "month end" \
--tags billing
Consulting¶
Configuration for consulting practice:
parent_dir: ~/consulting/tasks
default_priority: M
default_status: pending
sort_by:
- priority
- due
- project
Repositories: - tasks-proposals - RFP responses, proposals - tasks-active-projects - Current engagements - tasks-follow-ups - Client follow-ups
Project field: Client name and engagement type
# Proposal tracking
tsk add --repo proposals \
--title "Prepare proposal for Corp X" \
--project corp-x-rfp \
--due "2025-11-05"
# Active project
tsk add --repo active-projects \
--title "Deliver monthly report" \
--project corp-y-monthly \
--tags deliverable \
--due "2025-11-30"
Software Development¶
Solo Developer¶
Configuration for individual developer:
parent_dir: ~/dev/tasks
default_priority: M
default_status: pending
default_assignee: '@dev'
default_github_org: 'DevUsername'
sort_by:
- priority
- due
- project
Repositories: - tasks-app-a - Application A - tasks-app-b - Application B - tasks-learning - Learning and experimentation
Link to GitHub issues:
tsk add --repo app-a \
--title "Fix issue #123" \
--links https://github.com/user/app-a/issues/123 \
--priority H \
--tags bug
Open Source Maintainer¶
Configuration for open source project maintenance:
parent_dir: ~/opensource/tasks
default_priority: M
default_status: pending
default_github_org: 'ProjectName'
sort_by:
- priority
- due
- assignee
Repositories: - tasks-project - Main project tasks - tasks-community - Community management - tasks-releases - Release planning
Tags: bug, feature, documentation, community, release
Triage workflow:
# Import GitHub issues as tasks
# (manual or scripted)
tsk add --repo project \
--title "Issue #456: Feature request" \
--links https://github.com/org/project/issues/456 \
--tags feature
# Prioritize
tsk edit 10 --priority H
# Assign to contributors
tsk edit 11 --assignees @contributor1
Advanced Configurations¶
Time-Boxed Work¶
Emphasize due dates with clustering:
parent_dir: ~/tasks
default_priority: M
default_status: pending
sort_by:
- due
- priority
cluster_due_dates: true # Group into time buckets
Result: Tasks grouped as "today", "tomorrow", "this week", etc., with priorities within each bucket.
Context-Based Work¶
Sort by project/context first:
parent_dir: ~/tasks
default_priority: M
default_status: pending
sort_by:
- project # Group by context
- priority
- due
Use case: Work on all tasks for a specific project/context at once.
Assignee-Focused¶
Your tasks always first:
parent_dir: ~/tasks
default_priority: M
default_status: pending
sort_by:
- assignee:@alice # Your tasks first
- status # In-progress before pending
- priority
- due
Use case: Shared repositories where you want to focus on your work.
Custom Editor¶
Use specific editor for descriptions:
parent_dir: ~/tasks
default_priority: M
default_status: pending
default_editor: 'code --wait' # VS Code
# OR
default_editor: 'vim' # Vim
# OR
default_editor: 'subl -w' # Sublime Text
Usage:
Migration Scenarios¶
From TaskWarrior¶
Equivalent TaskRepo configuration:
Mapping: - TaskWarrior contexts → TaskRepo repositories - TaskWarrior projects → TaskRepo project field - TaskWarrior tags → TaskRepo tags - TaskWarrior urgency → TaskRepo priority
From Todoist¶
Todoist-like experience:
parent_dir: ~/tasks
default_priority: M
default_status: pending
sort_by:
- due
- priority
cluster_due_dates: true
Mapping: - Todoist projects → TaskRepo repositories - Todoist sections → TaskRepo project field - Todoist labels → TaskRepo tags - Todoist priority → TaskRepo priority (inverted: P1=H, P2=M, P3/P4=L)
From GitHub Issues¶
GitHub-centric configuration:
parent_dir: ~/github-tasks
default_priority: M
default_status: pending
default_github_org: 'YourOrg'
sort_by:
- priority
- due
- project
Workflow: Keep TaskRepo tasks in sync with GitHub issues using links.
Next Steps¶
- Configuration Guide - Detailed configuration options
- Workflows - Common workflow examples
- Task Management - Task operations guide