A structured repository for tracking tasks, projects, and knowledge using Jira and Git.
This repository serves as a knowledge base and work archive for all personal projects, tasks, and notes. Each project, given as a subdirectory of the projects directory, has a corresponding Jira Kanban board. Each project directory will contain subdirectories with the Jira ticket number which each contain a TASK.md containing information on what the ticket is for and possibly other text files, usually markdown, containing notes need to complete the ticket.
- Jira: Active task management (Kanban boards per area).
- Repo: Permanent, versioned storage for notes, code, and outputs.
personal_tasks/
├── projects/
│ ├── personal_task_mangement/ # Linked to Jira Kanban board
│ │ ├── PTM-<n> # The Kanban ticket being worked on
│ │ │ ├── TASK.md # Ticket summary, links, and notes
│ │ │ └── <other_notes>.md # Additional notes made for ticket
│ │ └── PTM-<n+1>
│ │ ├── TASK.md
│ │ └── <other_notes>.md
│ └─ horror_movie_analytics/
│ └── HMA-<n> # The Kanban ticket being worked on
│ ├── TASK.md # Ticket summary, links, and notes
│ └── <other_notes>.md # Additional notes made for ticket
└── README.md # This file
(NOTE: there will be loads of projects and tickets so this structure is just demonstrative)
My dotfiles have also been included in this repo and can be applied with stow . from the repo root.
- Create a Kanban board in Jira for each area (e.g.,
"Personal Task Mangement","Horror Movie Analytics"). - Create a subdirectory in the projects directory in this repo matching the board name that's lowercase and uses replaces spaces with underscores (e.g.,
personal_task_management/,horror_movie_analytics/). - For each Jira ticket:
- Create a folder in the subdirectory named after the ticket ID (e.g.,
personal_task_management/PTM-<n>/). - Add a
TASK.mdto the folder with the ticket summary/purpose. - Store all notes, code, and outputs related to the ticket in this folder.
- Create a folder in the subdirectory named after the ticket ID (e.g.,
- Set up a Jira webhook to trigger thea shell script automatically to make new ticket subdirectories.
- Use Jira GitHub integration.
Use this template for the README.md in each ticket folder:
# {TICKET_KEY}: {TICKET_SUMMARY}
**Jira Ticket**: [Link to Jira](https://your-jira-instance.atlassian.net/browse/{TICKET_KEY})
**Status**: {Open/In Progress/Done}
**Created**: {YYYY-MM-DD}
## 📝 Notes
- {Your notes here}
## 📂 Files
- [ ] [notes.md](./notes.md) - Detailed notes
- [ ] [outputs/](./outputs/) - Generated files
## 🔗 Related Tickets
- [TICKET-456](https://your-jira-instance.atlassian.net/browse/TICKET-456)Use grep or ripgrep to search across all notes:
# Search for "Python" in all markdown files
rg "Python" --type md
# Search for tickets related to "research"
rg "RES-" --type md- Delete Jira boards when a project is complete to free up space (free tier limit).
- Keep the repo: All history and files remain in Git.
- Clear Structure: Each ticket folder is self-contained and follows the same pattern of a
TASK.mdother files for notes/examples on the task. - Consistent Naming: Use Jira ticket IDs (e.g.,
PTM-<n>) for folder names. - READMEs Everywhere: Every non-ticket folder has a
README.mdwith context and links.
This repository is licensed under CC BY-NC-ND 4.0.
Additional Terms:
- Use of this content to train AI models, large language models, or similar systems is explicitly prohibited without written permission.