AIGHT is a command-line tool for getting todo tasks quickly.
git clone https://github.com/theonesean/AIGHT.git make && make install
The program looks for its config file in
/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 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] matchRemoteemail@example.com:theonesean/* command=open https://youtu.be/dQw4w9WgXcQ
Here is a list of all implemented providers and their configuration values:
[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
githubRepo value will default to its repository name if it is unset.
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)
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
This just executes the given command.
[exec] command=cat ./TODO.md
- Integration with GitHub Projects
- Ability to filter cards by tag / status
- Allow multiple providers to match the same repo