Repository Management¶
Organize tasks across multiple git-backed repositories.
What is a Repository?¶
A TaskRepo repository is a git-initialized directory containing task markdown files.
Structure:
~/tasks/
├── tasks-work/
│ ├── .git/
│ ├── tasks/
│ │ ├── task-{uuid}.md
│ │ └── task-{uuid}.md
│ └── README.md
└── tasks-personal/
├── .git/
└── tasks/
Creating Repositories¶
Create New Repository¶
Creates tasks-work directory with git initialization.
Multiple Repositories¶
List Repositories¶
Shows all repositories in parent directory.
When to Use Multiple Repositories¶
By Context¶
- work - Work-related tasks
- personal - Personal tasks
- opensource - Open source contributions
By Team¶
- frontend-team - Frontend tasks
- backend-team - Backend tasks
- devops-team - DevOps tasks
By Project¶
- project-alpha - Tasks for Project Alpha
- project-beta - Tasks for Project Beta
By Sprint¶
- sprint-24 - Current sprint tasks
- sprint-25 - Next sprint tasks
Working with Repositories¶
Add Task to Specific Repository¶
List Tasks from Repository¶
Move Tasks Between Repositories¶
Move with subtasks:
Repository Configuration¶
Each repository is a standalone git repository.
Add Git Remote¶
GitHub Repository Creation¶
TaskRepo can create GitHub repositories:
Set default GitHub org in config:
Syncing Repositories¶
Sync All Repositories¶
Sync Specific Repository¶
Sync Without Push¶
README Generation¶
Each repository automatically generates README.md with task tables.
Features: - Task summary - Active tasks table - Archived tasks in tasks/archive/README.md - Auto-updated on sync
Repository Naming¶
Convention: tasks-{name}
Examples: - tasks-work - tasks-personal - tasks-sprint-24 - tasks-project-alpha
Collaboration¶
Share Repository¶
- Create repository with GitHub remote
- Push tasks:
tsk sync --repo work - Team members clone:
git clone <url> - Initialize TaskRepo:
tsk init - Sync regularly:
tsk sync
Conflict Resolution¶
See Conflict Resolution for handling merge conflicts.
Best Practices¶
One Repository Per Context
Don't create too many repositories. Group related tasks together.
Regular Syncing
Sync often to avoid conflicts: tsk sync
Meaningful Names
Use clear repository names: work not repo1
Team Conventions
Agree on repository organization with your team
Parent Directory¶
All repositories live in the parent directory.
Default: ~/tasks
Change in config:
Repository Discovery¶
TaskRepo automatically discovers repositories in the parent directory by looking for directories matching tasks-* pattern.
See Also¶
- Git Sync - Syncing with remotes
- Configuration - Parent directory config
- Task Management - Moving tasks