
Security News
Risky Biz Podcast: Making Reachability Analysis Work in Real-World Codebases
This episode explores the hard problem of reachability analysis, from static analysis limits to handling dynamic languages and massive dependency trees.
By utilizing a simple and minimal usage syntax, that requires a flat learning curve, slacker enables you to effectively manage your tasks and notes across multiple boards from within your terminal. All data are written atomically to the storage in order to prevent corruptions, and are never shared with anyone or anything. Deleted items are automatically archived and can be inspected or restored at any moment.
You can now support the development process by donating on Open Collective.
Visit the contributing guidelines to learn more on how to translate this document into more languages.
~/.slacker.json
~/.slacker/storage
View highlights in a slacker board.
yarn global add getslacker
npm install --global getslacker
snap install getslacker
snap alias slacker tb # set alias
Note: Due to the snap's strictly confined nature, both the storage & configuration files will be saved under the $SNAP_USER_DATA
environment variable instead of the generic $HOME
one.
$ tb --help
Usage
$ tb [<options> ...]
Options
none Display board view
--archive, -a Display archived items
--begin, -b Start/pause task
--check, -c Check/uncheck task
--clear Delete all checked items
--copy, -y Copy item description
--delete, -d Delete item
--edit, -e Edit item description
--find, -f Search for items
--help, -h Display help message
--list, -l List items by attributes
--move, -m Move item between boards
--note, -n Create note
--priority, -p Update priority of task
--restore, -r Restore items from archive
--star, -s Star/unstar item
--task, -t Create task
--timeline, -i Display timeline view
--version, -v Display installed version
Examples
$ tb
$ tb --archive
$ tb --begin 2 3
$ tb --check 1 2
$ tb --clear
$ tb --copy 1 2 3
$ tb --delete 4
$ tb --edit @3 Merge PR #42
$ tb --find documentation
$ tb --list pending coding
$ tb --move @1 cooking
$ tb --note @coding Mergesort worse-case O(nlogn)
$ tb --priority @3 2
$ tb --restore 4
$ tb --star 2
$ tb --task @coding @reviews Review PR #42
$ tb --task @coding Improve documentation
$ tb --task Make some buttercream
$ tb --timeline
Invoking slacker without any options will display all saved items grouped into their respective boards.
In order to display all items in a timeline view, based on their creation date, the --timeline
/-i
option can be used.
To configure slacker navigate to the ~/.slacker.json
file and modify any of the options to match your own preference. To reset back to the default values, simply delete the config file from your home directory.
The following illustrates all the available options with their respective default values.
{
"slackerDirectory": "~",
"displayCompleteTasks": true,
"displayProgressOverview": true
}
slackerDirectory
String
~
Filesystem path where the storage will be initialized, i.e: /home/username/the-cloud
or ~/the-cloud
If left undefined the home directory ~
will be used and slacker will be set-up under ~/.slacker/
.
displayCompleteTasks
Boolean
true
Display tasks that are marked as complete.
displayProgressOverview
Boolean
true
Display progress overview below the timeline and board views.
The following is a minor walkthrough containing a set of examples on how to use slacker. In case you spotted an error or think that an example is not to clear enough and should be further improved, please feel free to open an issue or pull request.
To create a new task use the --task
/-t
option with your task's description following right after.
$ tb -t Improve documentation
To create a new note use the --note
/-n
option with your note's body following right after.
$ tb -n Mergesort worse-case O(nlogn)
Boards are automatically initialized when creating a new task or note. To create one or more boards, include their names, prefixed by the @
symbol, in the description of the about-to-be created item. As a result the newly created item will belong to all of the given boards. By default, items that do not contain any board names in their description are automatically added to the general purpose; My Board
.
$ tb -t @coding @docs Update contributing guidelines
To mark a task as complete/incomplete, use the --check
/-c
option followed by the ids of the target tasks. Note that the option will update to its opposite the complete
status of the given tasks, thus checking a complete task will render it as pending and a pending task as complete. Duplicate ids are automatically filtered out.
$ tb -c 1 3
To mark a task as started/paused, use the --begin
/-b
option followed by the ids of the target tasks. The functionality of this option is the same as the one of the above described --check
option.
$ tb -b 2 3
To mark one or more items as favorite, use the --star
/-s
option followed by the ids of the target items. The functionality of this option is the same as the one of the above described --check
option.
$ tb -s 1 2 3
To copy to your system's clipboard the description of one or more items, use the --copy
/-y
option followed by the ids of the target items. Note that the option will also include the newline character as a separator to each pair of adjacent copied descriptions, thus resulting in a clear and readable stack of sentences on paste.
$ tb -y 1 2 3
Invoking slacker without any options will display all of saved items grouped into their respective boards.
$ tb
In order to display all items in a timeline view, based on their creation date, the --timeline
/-i
option can be used.
$ tb -i
To set a priority level for a task while initializing it, include the p:x
syntax in the task's description, where x can be an integer of value 1
, 2
or 3
. Note that all tasks by default are created with a normal priority - 1
.
1
- Normal priority2
- Medium priority3
- High priority$ tb -t @coding Fix issue `#42` p:3
To update the priority level of a specific task after its creation, use the --priority
/-p
option along with the id the target task, prefixed by the @
symbol, and an integer of value 1
, 2
or 3
. Note that the order in which the target id and priority level are placed is not significant.
$ tb -p @1 2
To move an item to one or more boards, use the --move
/-m
option, followed by the target item id, prefixed by the @
symbol, and the name of the destination boards. The default My board
can be accessed through the myboard
keyword. The order in which the target id and board names are placed is not significant.
$ tb -m @1 myboard reviews
To delete one or more items, use the --delete
/-d
options followed by the ids of the target items. Note that deleted items are automatically archived, and can be inspected or restored at any moment. Duplicate ids are automatically filtered out.
$ tb -d 1 2
To delete/clear all complete tasks at once across all boards, use the --clear
option. Note that all deleted tasks are automatically archived, and can be inspected or restored at any moment. In order to discourage any possible accidental usage, the --clear
option has no available shorter alias.
$ tb --clear
To display all archived items, use the --archive
/-a
option. Note that all archived items are displayed in timeline view, based on their creation date.
$ tb -a
To restore one or more items, use the --restore
/-r
option followed by the ids of the target items. Note that the ids of all archived items can be seen when invoking the --archive
/-a
option. Duplicate ids are automatically filtered out.
$ tb -r 1 2
To list a group of items where each item complies with a specific set of attributes, use the --list
/-l
option followed by the desired attributes. Board names along with item traits can be considered valid listing attributes. For example to list all items that belong to the default myboard
and are pending tasks, the following could be used;
$ tb -l myboard pending
The by default supported listing attributes, together with their respective aliases, are the following;
myboard
- Items that belong to My board
task
, tasks
, todo
- Items that are tasks.note
, notes
- Items that are notes.pending
, unchecked
, incomplete
- Items that are pending tasks.progress
, started
, begun
- Items that are in-progress tasks.done
, checked
, complete
- Items that complete tasks.star
, starred
- Items that are starred.To search for one of more items, use the --find
/-f
option, followed by your search terms.
$ tb -f documentation
For more info on how to contribute to the project, please read the contributing guidelines.
cd slacker
npm install
or yarn install
npm test
or yarn test
FAQs
Tasks, boards & notes for the command-line habitat
We found that getslacker demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
This episode explores the hard problem of reachability analysis, from static analysis limits to handling dynamic languages and massive dependency trees.
Security News
/Research
Malicious Nx npm versions stole secrets and wallet info using AI CLI tools; Socket’s AI scanner detected the supply chain attack and flagged the malware.
Security News
CISA’s 2025 draft SBOM guidance adds new fields like hashes, licenses, and tool metadata to make software inventories more actionable.