Skip to content
humanitas-labsPublic

About

A CLI for knowledge and work.

Topics

Resources

Stars

39 stars

Watchers

0 watching

Forks

Latest commit

 

History

190 Commits

Folders and files

Repository files navigation

kdb

A CLI and language server for a markdown workspace. It tracks projects and tasks in a SQLite file in the same folder and checks the links between your notes.

cargo install --path .
kdb init

Commands

kdb projects add <slug> --alias <AL> --path <dir>   # register a project; its tasks get ids like HRM-0012
kdb tasks add "<title>" [-p 1-5] [-c <cycle>]       # add a task
kdb tasks add "<title>" --after <id>                # add a task that waits on another
kdb tasks list [-P <project>] [--blocked | --ready]
kdb tasks ready                                     # what can start now
kdb tasks done <id>                                 # close it and print what it unblocked
kdb tasks deps add | rm | show <id> ...
kdb render -P <project>                             # write the project's .tasks/ board

kdb check                                           # broken links and embeds, orphan files
kdb outline <file>                                  # heading outline
kdb refs <file#heading>                             # who links here
kdb render <file>                                   # resolve ![[embeds]] to stdout
kdb lsp                                             # the same checks in your editor

Tasks can depend on other tasks. A task with an open blocker is blocked, its subtasks are blocked with it, and closing the blocker releases it. Boards show each task's status icon and what it is waiting on.

Tasks

$ kdb projects add hermaeus --alias HRM --path projects/hermaeus
$ kdb tasks add -P hermaeus "Deploy Archil mount" -p 1
added task HRM-0001
$ kdb tasks add -P hermaeus "Entity resolver backfill" --after HRM-0001
added task HRM-0002
$ kdb tasks edit HRM-0001 --status in_progress

$ kdb tasks list -P hermaeus
id        st    p  title
HRM-0001  [~]  1  Deploy Archil mount
HRM-0002  [ ]  3  Entity resolver backfill  (blocked by HRM-0001)

$ kdb tasks done HRM-0001
released: HRM-0002
HRM-0001 -> done

$ kdb render -P hermaeus           # writes projects/hermaeus/.tasks/index.md

Notes

$ kdb check
notes/index.md:5:3 broken link roadmap.md (target file not found: notes/roadmap.md)
1 orphan file (run `kdb check --orphans` to list)
1 error
1 warning

$ kdb outline notes/architecture.md
# Architecture  L1
## Overview     L3
## Components   L7

$ kdb refs notes/architecture.md#components
notes/index.md:3:3  architecture.md#components

$ kdb render SOP/release.md        # resolves ![[file#heading]] embeds

kdb lsp shows the same broken links in your editor.

Full command list: docs/commands.md.

License

MIT, Humanitas Labs.

About

A CLI for knowledge and work.

Topics

Resources

Stars

39 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages