You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
`tickgit` is a tool to help you manage tickets, todo items, and checklists within a codebase. Use the `tickgit` command to view pending tasks, progress reports, completion summaries and historical data (using `git` history).
10
+
`tickgit` is a tool to help you manage latent work in a codebase. Use the `tickgit` command to view pending tasks, progress reports, completion summaries and historical data (using `git` history).
11
11
12
12
It's not meant to replace full-fledged project management tools such as JIRA or Trello. It will, hopefully, be a useful way to augment those tools with project management patterns that coexist with your code. As such, it's primary audience is software engineers.
13
13
14
14
### TODOs
15
15
16
-
`tickgit todos` will scan a codebase and identify any TODO items in the comments. It will output a report like so:
16
+
`tickgit` will scan a codebase and identify any TODO items in the comments. It will output a report like so:
Check out [an example](https://todos.tickg.it/?repo=https://github.com/kubernetes/kubernetes) of the TODOs tickgit will surface for the Kubernetes codebase.
40
+
Check out [an example](https://www.tickgit.com/browse?repo=github.com/kubernetes/kubernetes) of the TODOs tickgit will surface for the Kubernetes codebase.
41
41
42
42
#### Coming Soon
43
43
44
-
-[x]History - get a better sense of how old TODOs are, when they were introduced and by whom
44
+
-[x]Blame - get a better sense of how old TODOs are, when they were introduced and by whom
45
45
-[ ] Context - more visibility into the lines of code _around_ a TODO for greater context
46
-
47
-
### Tickets
48
-
49
-
Tickets are a way of defining more complex tasks in your codebase as config files. Currently, tickets are HCL files that look like the following:
50
-
51
-
```hcl
52
-
# rocketship.tickgit
53
-
54
-
goal "Build the Rocketship 🚀" {
55
-
description = "Finalize the construction of the Moonblaster 2000"
56
-
57
-
task "Construct the engines" {
58
-
status = "done"
59
-
}
60
-
61
-
task "Attach the engines" {
62
-
status = "pending"
63
-
}
64
-
65
-
task "Thoroughly test the engines" {
66
-
status = "pending"
67
-
}
68
-
}
69
-
```
70
-
71
-
```
72
-
$ tickgit status
73
-
=== Build the Rocketship 🚀 ⏳
74
-
--- 1/3 tasks completed (2 remaining)
75
-
--- 33% completed
76
-
77
-
✅ Construct the engines
78
-
⏳ Attach the engines
79
-
⏳ Thoroughly test the engines
80
-
```
81
-
82
-
#### Coming Soon
83
-
84
-
-[ ] Simpler ticket definitions - in YAML and/or other (less verbose) config languages
85
-
-[ ] More complex tickets - more states, dependencies on other tickets, etc
86
-
87
-
### Checklists
88
-
89
-
_Coming soon_. Checklists will be a way of parsing Markdown checklists in your codebase (either in `.md` files, or within your comments).
90
-
91
-
92
-
### Why is this useful?
93
-
94
-
This project is a proof-of-concept. Keeping tickets next to the code they're meant to describe could have the following benefits:
95
-
96
-
- Tickets live with the code, no need for a 3rd party tool or system (anyone with git access to the repository has access to contributing to the tickets)
97
-
- Updating a ticket's status and merging/committing code are the same action, no need to synchronize across multiple tools
98
-
- Source of truth for a project's ticket history is now the git history, which can be queried and analyzed
99
-
- Current status of a `goal` can be reported by simply parsing the repository's `head`
100
-
- Less context switching between the codebase itself and the system describing "what needs to be done"
101
-
102
-
Generally speaking, this is an experiment in ways to do project management, within the codebase of a project. With a `git` history and some clever parsing, quite a bit of metadata about a project can be gleaned from its codebase. Let's see how useful we can make that information.
46
+
-[ ] More `TODO` type phrases to match, such as `FIXME`, `XXX`, `HACK`, or customized alternatives.
47
+
-[ ] More configurability (e.g. custom ignore paths)
48
+
-[ ] Markdown parsing
49
+
-[ ] More thorough historical stats
103
50
104
51
### Installation
105
52
@@ -110,10 +57,9 @@ brew tap augmentable-dev/tickgit
110
57
brew install tickgit
111
58
```
112
59
113
-
114
60
### Usage
115
61
116
-
The most up to date usage will be the output of `tickgit --help`. The most common usage, however, is `tickgit status` which will print a status report of tickets for a given git repository. By default, it uses the current working directory.
62
+
The most up to date usage will be the output of `tickgit --help`.
0 commit comments