Links

GitHub Issues GNU General Public License v3.0

Contributors

fennifith theonesean

Contact

group Discord chat Telegram

All Projects

theonesean/AIGHT

git://github.com/fennifith/AIGHT.git Watch  Star  Fork

AIGHT

AIGHT is a command-line tool for getting todo tasks quickly.

Building

git clone https://github.com/theonesean/AIGHT.git
make && make install

Configuration

The program looks for its config file in ~/.aight.conf, ~/.config/aight.conf, and /etc/aight.conf, in that order. It uses an INI-like format, with each group representing a different project/task implementation (Trello, GitHub Projects, etc…).

There are two “predefined” groups that can only exist once. These should appear at the start of your file. [settings] refers to global settings that affect the entire program, such as the table width or separation characters. The [defaults] group specifies default values for all of the groups that follow it. For instance, if you are defining many Trello configurations for the same account, you may not want to repeat the API key/token each time.

[settings]
listWidth=40
borderCharHorizontal=-
borderCharVertical=|

[defaults]
trelloApiKey=a Trello API developer key
trelloApiToken=your Trello token

Task Providers

Task providers are triggered based on a set of conditional attributes such as matchDir (to match the current working directory) or matchRemote (to match the upstream git URL). The first group to match the current conditions will be executed, and all others will be ignored. As an example, here is a group that will open a URL whenever aight is used in one of my repositories:

[exec]
matchRemote=git@github.com:theonesean/*
command=open https://youtu.be/dQw4w9WgXcQ

Here is a list of all implemented providers and their configuration values:

GitHub Issues

[github]
githubApiToken=a GitHub API token
githubRepo=the repository to fetch (optional, defaults to matched remote URL)

If the provider is matched by a remote URL of a GitHub repository (using matchRemote), the githubRepo value will default to its repository name if it is unset.

GitHub Projects

Note: because of various limitations, the GitHub Projects implementation is currently very slow. The API is also a developer preview, so it will likely change at some point in the future.

[github-projects]
githubApiToken=a GitHub API token
githubRepo=the repository to fetch (optional, defaults to matched remote URL)
githubProjectId=the project ID (optional, defaults to first project available)

Trello

See trello.com/app-key to obtain an API key / token for this program to use.

[trello]
trelloApiKey=a Trello API developer key
trelloApiToken=your Trello token
trelloBoardId=the board to display

Shell Script

This just executes the given command.

[exec]
command=cat ./TODO.md

Improvements

  • Integration with GitHub Projects
  • Ability to filter cards by tag / status
  • Allow multiple providers to match the same repo

Last updated: