Skip to content

A python tool that creates issues in your repos based on TODO comments in your code

License

Notifications You must be signed in to change notification settings

antoniouaa/krypto

Repository files navigation

Krypto

tests black Code style: black Coverage Status

A neat little sidekick python script to create issues on your repo based on comments left in the code on your behalf

Convert todo comments in your code
# TODO[Enhancement]: Make config file
# Sometimes you might wanna have TODOs in your tests.
# Right now krypto will completely ignore any file with the
# substring "test" in the path. I would want to be able to
# configure this behaviour. Perhaps read from pyproject.toml?`

to GitHub issues on the repository you're working on!

Sample issue on Github


Env Variables

For this to work you need to have a github token in your environment variables. To acquire a token navigate to Developer Settings and generate one.

With the token in hand, simply,

export KRYPTO_TOKEN = <token_here>

or

$env:KRYPTO_TOKEN = token_here

If you want the token to persist across sessions you need to add it to your .bashrc or $PROFILE.

Usage


Write a TODO

First, create a TODO in the form of a block comment. The TODO must contain a title. Body and labels are optional.

Examples:

  • Title only, no body or labels

    # TODO: This is a title
  • Title, body, no labels

    # TODO: This is a title
    # This is in the TODO body
  • Title, body and labels

    # TODO[Enhancement]: This is a title
    # This is in the TODO body
  • Multiple labels

    # TODO[Enhancement, Bug, Documentation]: This is a title

Valid separators include , / # ~ \

To run

Pass the directory to look in for TODOs.

krypto run <path-to-dir>

To perform the collection and parsing of TODOs but not the HTTP request to github, pass the --dry flag to the run command.

krypto run <path-to-dir> --dry

Krypto does not look in tests/ at the moment.


GitHub Action

This action runs Krypto on your code and creates issues on the repo on your behalf.

Inputs

dir

Required The path to the directory to scan for TODOs.

Env

KRYPTO_TOKEN

Required A personal access token for github to use to authenticate the creation of issues on your repository.

Example usage

uses: antoniouaa/krypto@v2
with:
    dir: "."
env:
    KRYPTO_TOKEN: ${{ secrets.GITHUB_TOKEN }}

Run krypto on the root of the project


Inspired by tsoding/snitch

About

A python tool that creates issues in your repos based on TODO comments in your code

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published