Skip to content

Commit f8604e0

Browse files
Merge pull request #10 from augmentable-dev/update-readme
flesh out the README with a little more info
2 parents f705193 + 087b89e commit f8604e0

File tree

1 file changed

+48
-2
lines changed

1 file changed

+48
-2
lines changed

README.md

Lines changed: 48 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,43 @@
66

77
## tickgit 🎟️
88

9-
Tickets as config. Manage your repository's tickets and todo items as configuration files in your codebase. Use the `tickgit` command to view a snapshot of pending items, summaries of completed items, and historical reports of progress using `git` history.
9+
`tickgit` is an experiment in code-based project management. It's 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).
1010

11+
It's certainly not meant to replace project management tools such as JIRA, Trello, etc. 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.
12+
13+
### TODOs
14+
15+
`tickgit todos` will scan a codebase and identify any TODO items in the comments. It will output a report like so:
16+
17+
```
18+
# tickgit todos ~/Desktop/facebook/react
19+
...
20+
TODO: does clang define __GNUC__ ?
21+
=> /Users/.../Desktop/facebook/react/scripts/perf-counters/src/portability.h:34:3
22+
23+
TODO: FIXME! Without this implemented properly, the JIT
24+
=> /Users/.../Desktop/facebook/react/scripts/perf-counters/src/portability.h:133:3
25+
26+
TODO: it's awkward to create a bundle for this but if we don't, the package
27+
=> /Users/.../Desktop/facebook/react/scripts/rollup/bundles.js:454:7
28+
29+
TODO: this is too permissive.
30+
=> /Users/.../Desktop/facebook/react/scripts/rollup/validate/eslintrc.umd.js:20:7
31+
32+
TODO: type it.
33+
=> /Users/.../Desktop/facebook/react/scripts/shared/inlinedHostConfigs.js:25:27
34+
35+
123 TODOs Found 📝
36+
```
37+
38+
#### Coming Soon
39+
40+
- [ ] History - get a better sense of how old TODOs are, when they were introduced and by whom
41+
- [ ] Context - more visibility into the lines of code _around_ a TODO for greater context
42+
43+
### Tickets
44+
45+
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:
1146

1247
```hcl
1348
# rocketship.tickgit
@@ -40,16 +75,27 @@ $ tickgit status
4075
⏳ Thoroughly test the engines
4176
```
4277

78+
#### Coming Soon
79+
80+
- [ ] Simpler ticket definitions - in YAML and/or other (less verbose) config languages
81+
- [ ] More complex tickets - more states, dependencies on other tickets, etc
82+
83+
### Checklists
84+
85+
_Coming soon_. Checklists will be a way of parsing Markdown checklists in your codebase (either in `.md` files, or within your comments).
86+
87+
4388
### Why is this useful?
4489

45-
To be honest, I'm not sure yet. This project is a POC I'm exploring. Keeping tickets next to the code they're meant to describe could have the following benefits:
90+
To be honest, I'm trying to figure that out. This project is a POC. Keeping tickets next to the code they're meant to describe could have the following benefits:
4691

4792
- 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)
4893
- Updating a ticket's status and merging/committing code are the same action, no need to synchronize across multiple tools
4994
- Source of truth for a project's ticket history is now the git history, which can be queried and analyzed
5095
- Current status of a `goal` can be reported by simply parsing the repository's `head`
5196
- Less context switching between the codebase itself and the system describing "what needs to be done"
5297

98+
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.
5399

54100
### Installation
55101

0 commit comments

Comments
 (0)