Skip to content
/ straw Public

Issue tracker using simple files and a thin CLI wrapper

License

Notifications You must be signed in to change notification settings

bas080/straw

Repository files navigation

# issue

Simple issue tracking using files and a thin CLI wrapper.

## Reasoning

Using the concept of a file per issue offers the following benefits.

- You can check it into version control.
- The issues are editable in your favorite version control webapp.
- You can use CLI commands or file explorer to move issues around.
- Use the issue file to populate your git commit message.
- Files can easily be programmatically parsed and turned into reports or
  list pages.

## Specification

The format of the issue files should follow a certain spec. This assures that
the issue cli works as expected. You can validate if this is the case with the
command `issue validate`.

All issue files are just markdown files that follow the git commit format.

```markdown
# Add a title that describes the issue

Here we can add a description that mentions user @bas and also adds
a label/hashtag accessibility#.
```

> Because the # has a meaning in markdown we can blindly add it to the
> beginning of a word. This could result in a heading being created. Instead
> add the # after the word.
```

## CLI

This projects comes with a simple CLI wrapper to perform most common tasks and
validate if the issues are following the desired spec.

```bash bash
./issue.pl init
```

You can open a new issue by either piping in the contents or with the `issue
open` command. In the latter it wil open the file with your configured `$EDITOR`.

```bash bash
echo '# My title

A bug that @jim found.' > issue open
```

The name of the file is based on the title of the issue.

## Dependencies

```bash bash
pandoc --version # optional
elinks --version # optional
```

## Usage