Manage your repository's TODOs, tickets and checklists as config in your codebase.

Overview

GoDoc BuildStatus Go Report Card GitHub release (latest SemVer) Coverage TODOs

tickgit ๐ŸŽŸ๏ธ

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).

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.

TODOs

tickgit will scan a codebase and identify any TODO items in the comments. It will output a report like so:

# tickgit ~/Desktop/facebook/react
...
TODO:
  => packages/scheduler/src/__tests__/SchedulerBrowser-test.js:85:9
  => added 1 month ago by Andrew Clark <[email protected]> in a2e05b6c148b25590884e8911d4d4acfcb76a487

TODO: Scheduler no longer requires these methods to be polyfilled. But
  => packages/scheduler/src/__tests__/SchedulerBrowser-test.js:77:7
  => added 1 month ago by Andrew Clark <[email protected]> in a2e05b6c148b25590884e8911d4d4acfcb76a487

TODO: Scheduler no longer requires these methods to be polyfilled. But
  => packages/scheduler/src/forks/SchedulerHostConfig.default.js:77:7
  => added 1 month ago by Andrew Clark <[email protected]> in a2e05b6c148b25590884e8911d4d4acfcb76a487

TODO: useTransition hook instead.
  => fixtures/concurrent/time-slicing/src/index.js:110:11
  => added 3 weeks ago by Sebastian Markbรฅge <[email protected]> in 3ad076472ce9108b9b8a6a6fe039244b74a34392

128 TODOs Found ๐Ÿ“

Check out an example of the TODOs tickgit will surface for the Kubernetes codebase.

Coming Soon

  • Blame - get a better sense of how old TODOs are, when they were introduced and by whom
  • Context - more visibility into the lines of code around a TODO for greater context
  • More TODO type phrases to match, such as FIXME, XXX, HACK, or customized alternatives.
  • More configurability (e.g. custom ignore paths)
  • Markdown parsing
  • More thorough historical stats

Installation

Homebrew

brew tap augmentable-dev/tickgit
brew install tickgit

Usage

The most up to date usage will be the output of tickgit --help.

API

To find information about using the tickgit API, see this file.

Comments
  • support other

    support other "TODO" esque phrases

    It could be a good idea to not only pull out TODO's but other phrases that codebases use.

    FIXME seems to be popular. Not sure what others people commonly use

    opened by travisirby 5
  • cmd

    cmd

    Would it be possible to refactor the main.go into a folder as follows;

    go get -u github.com/augmentable-dev/tickgit/cmd/tickgit

    So that the binary would be tickgit instead of cmd?

    Thanks, Damian.

    opened by damianoneill 3
  • Support Kotlin projects

    Support Kotlin projects

    Are files being searched for TODOs somehow filtered by language / file extension? Because in our project written in Kotlin I miss a lot of TODOs from the code base.

    enhancement good first issue 
    opened by sschuberth 3
  • doesn't handle todos prefaced by semicolon

    doesn't handle todos prefaced by semicolon

    Lisps use ; to indicate the start of a single line comment

    This file, saved as todotest.scm

    ; TODO: test scheme comments
    (print "hello") ; TODO: after code
    

    results in NO todos

    opened by masukomi 1
  • Add julia support

    Add julia support

    Unfortunately, due to limitations of the underlying comment parsing library, this only works for single-line # ... comments (not #= ... =#).

    We need a better comment parsing strategy, and one is in the works, but this at least moves support forward a little bit.

    opened by patrickdevivo 0
  • Add support for more matching phrases

    Add support for more matching phrases

    not yet configurable, but adds matching for TODO, FIXME, OPTIMIZE, HACK, XXX, WTF, LEGACY and their @ + lowerCase version equivalents - @todo, @fixme etc by default.

    Closes #35

    opened by patrickdevivo 0
  • add Common Lisp and Emacs Lisp

    add Common Lisp and Emacs Lisp

    Add support for parsing todo comments for Common Lisp and Emacs Lisp, where a comment starts with a ; and ends at the end of the line.

    Hopefully closes: https://github.com/augmentable-dev/tickgit/issues/27

    opened by patrickdevivo 0
  • add dependabot dependency scanning

    add dependabot dependency scanning

    Hi @augmentable-dev ๐Ÿ‘‹

    tickgit is a great project but it seems in need of a few dependency updates.

    Managing those might be eased by integrating dependabot dependency scanning for gomod using this MR.

    Looking forward to your reply.

    Kind regards, Jean-Luc Tibaux

    opened by eUgEntOptIc44 1
  • Allow to configure the TODO-like words to scan for / display

    Allow to configure the TODO-like words to scan for / display

    We have some test assets in our code case that use (the rather offensive) WTF keyword, and we'd like to either

    a) not scan for WTF in the first place, or b) have a way to filter the web view for only those TODO keywords used by us (and also only take those keywords into account in the count of TODOs).

    Or is there already a way to achieve this?

    opened by sschuberth 0
  • Gitlab Support

    Gitlab Support

    This is an awesome tool! Would you consider adding support for gitlab public repos? Currently, an error is dislpayed:

    Error: GraphQL error: "x-hasura-github-repo-owner" header is expected but not found
    
    opened by Rudedog9d 0
  • Removes terminal cursor caret if not run in git repo

    Removes terminal cursor caret if not run in git repo

    I installed the Linux binary via

    $ curl -sf https://gobinaries.com/augmentable-dev/tickgit/cmd/tickgit | sh
    

    When I run tickgit in a directory which is not a git repo, I correctly get the error

    /home/clemisch/.git is not a git repository
    

    After that, I don't see a cursor caret in my terminal. I have to run reset or open a new terminal.

    I'm on Ubuntu 18.04. Terminal is guake, gnome-terminal or xterm.

    opened by clemisch 0
Releases(v0.0.14)
Owner
Augmentable
Augmentable
Clean architecture validator for go, like a The Dependency Rule and interaction between packages in your Go projects.

Clean Architecture checker for Golang go-cleanarch was created to keep Clean Architecture rules, like a The Dependency Rule and interaction between mo

Robert Laszczak 620 Sep 22, 2022
Tool to populate your code with traceable and secure error codes

Essential part of any project, especially customer facing is proper and secure error handling. When error happens and customer reports it, it would be nice to know the context of the error and where it exactly occured.

vs 52 Apr 1, 2022
This static analysis tool works to ensure your program's data flow does not spill beyond its banks.

Go Flow Levee This static analysis tool works to ensure your program's data flow does not spill beyond its banks. An input program's data flow is expl

Google 178 Sep 24, 2022
A report card for your Go application

Go Report Card A web application that generates a report on the quality of an open source go project. It uses several measures, including gofmt, go ve

GoJP 1.7k Sep 21, 2022
๐Ÿ”’๐ŸŒ Security scanner for your Terraform code

????tfsec uses static analysis of your terraform templates to spot potential security issues.

tfsec 5.1k Sep 25, 2022
Know when GC runs from inside your golang code

gcnotifier gcnotifier provides a way to receive notifications after every run of the garbage collector (GC). Knowing when GC runs is useful to instruc

Carlo Alberto Ferraris 168 Jun 10, 2022
dont-interface calculates how many interface{} are declared or used in your project?

dont-interface calculates how many interface{} are declared or used in your project?

Ray Eldath 17 Jun 9, 2022
Drone Plugin for detecting credentials or other sensitive data in your repository

A plugin to detect hard-coded secrets and sensitive data in your source code files. Building Build the plugin binary: scripts/build.sh Build the plug

Drone by Harness 1 Apr 21, 2022
Detect non-inclusive language in your source code.

Detect non-inclusive language in your source code. I stay woke - Erykah Badu Creating an inclusive work environment is imperative to a healthy, suppor

woke 348 Sep 24, 2022
Sloc, Cloc and Code: scc is a very fast accurate code counter with complexity calculations and COCOMO estimates written in pure Go

Sloc Cloc and Code (scc) A tool similar to cloc, sloccount and tokei. For counting physical the lines of code, blank lines, comment lines, and physica

Ben Boyter 3.8k Sep 20, 2022
Jenkins tracer is used to record all the Jenkins job environment variables and metrics, and send them to Elasticsearch

Jenkins Tracer Jenkins tracer is used to record all the jenkins job variables like record the build duration, build variables, repository metadata, et

Misbahul Ardani 3 Apr 22, 2021
depth is tool to retrieve and visualize Go source code dependency trees.

depth is tool to retrieve and visualize Go source code dependency trees. Install Download the appropriate binary for your platform from the Rele

Kyle Banks 784 Sep 25, 2022
A reference for the Go community that covers the fundamentals of writing clean code and discusses concrete refactoring examples specific to Go.

A reference for the Go community that covers the fundamentals of writing clean code and discusses concrete refactoring examples specific to Go.

Lasse Martin Jakobsen 2.3k Sep 23, 2022
๐Ÿ”ฅ ~6x faster, stricter, configurable, extensible, and beautiful drop-in replacement for golint

revive Fast, configurable, extensible, flexible, and beautiful linter for Go. Drop-in replacement of golint. Revive provides a framework for developme

Minko Gechev 3.8k Sep 19, 2022
A Golang tool that does static analysis, unit testing, code review and generate code quality report.

goreporter A Golang tool that does static analysis, unit testing, code review and generate code quality report. This is a tool that concurrently runs

360 Enterprise Security Group, Endpoint Security, inc. 3k Sep 25, 2022
[mirror] Performance measurement, storage, and analysis.

Go performance measurement, storage, and analysis tools This subrepository holds the source for various packages and tools related to performance meas

Go 319 Sep 23, 2022
A GitLab API client enabling Go programs to interact with GitLab in a simple and uniform way

go-gitlab A GitLab API client enabling Go programs to interact with GitLab in a simple and uniform way NOTE Release v0.6.0 (released on 25-08-2017) no

Xanzy 1.8k Sep 19, 2022
Fast division, modulus and divisibility checks in Go for divisors known only at runtime.

fastdiv Fast division, modulus and divisibility checks for divisors known only at runtime via the method of: "Faster Remainder by Direct Computation:

null 101 Aug 1, 2022