
Kb: A minimalist hacker-oriented knowledge base manager - nebbiolo
https://github.com/gnebbia/kb
======
xaduha
That's not minimalist, this is minimalist

    
    
        sn() {
            rg -S -C 2 $1 /some/folder/with/snippets/as/files
        }
    
        $ sn git #searches for snippets containing `git`

~~~
ximm
I can do one better: Just learn to use the standard unix tools directly. If
you keep stacking wrappers upon wrappers and grow to depend on them you will
be totally lost once you have to work on another machine. It also makes it
easier to e.g. replace grep by fzf.

For reference:

    
    
        kb list -> find
        kb list foo -> find | grep foo
        kb edit --title "git" --category "cheatsheet" -> vim cheatsheet/git
        kb delete --id 1 -> rm path/to/file
        kb grep foo -> grep -r foo

~~~
nebbiolo
Exactly! I started from there, then these commands evolved into functions and
the functions evolved into bash scripts which then evolved into a python
program in order to have something more readable/structured and cross
platform.

But of course no software is an excuse to not learn the good old UNIX core
tools. kb is not better than these tools, it just packs them up in order to
have a slightly nicer output and be able to associate metadata to the notes in
a clean way.

------
adolph
Awesome Knowledge Management List:

[https://github.com/brettkromkamp/awesome-knowledge-
managemen...](https://github.com/brettkromkamp/awesome-knowledge-management)

Interview with maintainer:

[https://www.pythonpodcast.com/contextualize-topic-
modeling-e...](https://www.pythonpodcast.com/contextualize-topic-modeling-
episode-267/)

~~~
santa_boy
Thank you! Any particular recommendations from your experience? (I may end up
spending my whole weekend on this :-D)

~~~
adolph
Nope, total analysis paralysis.

~~~
adolph
Also, I'd like an external knowledge with a spaced repetition system used as
an API for the internal knowledge management system in my brain.

------
techbio
What a fantastic name for a command-line knowledge base! Extremely heartening
for anyone who's gone through the briar-patch of browsing through a self-
disorganizing hierarchy of sub-kilobyte text files. The animated screenshots
on GitHub are very welcome. Interesting.

I would like to see more import/export options.

~~~
m000
Ditto on the import/export functionality. The .tar.gz file format is an odd
choice. A plain json dump would be the obvious choice here, as it would be
easier to manipulate.

------
creztoe
I'm lazy. I've found a gitlab wiki sufficient for my basic needs. 1\. Version
control 2\. Easily editable from terminal (markdown) 3\. Easily viewed via
browser (either on gitlab or self hosted gollum instance) 4\. Supports some
HTML, such as `details` and `summary` for drop down visibility. 5\. Supports
`[[_TOC_]]` to add a table of contents (works well with in `details` at the
top of every page) 6\. Supports nested directories for the sidebar navigation
on gitlab (github forces a single layer)

------
laurent123456
For me this kind of tool needs to provide a way to sync between devices to be
useful, and ideally be available on mobile. As it's using sqlite3 to store
documents, it's probably not trivial to sync with something like Dropbox.

~~~
geoelectric
I missed it was in a database when I checked it out. That'd be a hard no for
me.

I much prefer separate text files for any minimal notes solution, since that
plays well with nvAlt, Obsidian, 1Writer, etc, and is the safest sync in every
file syncing service (they pretty much all know how to deal with text
conflicts). It also lets me write side tooling to crawl and process notes much
more easily than if I had to hit a database.

At this point, a proprietary database had better be justified by something
epic like Roam's bullet transclusion or Evernote's back-end handwriting OCR,
or some other killer feature that's hard to replicate locally in decoupled
files. Otherwise, it's just not worth even considering.

~~~
juped
A ubiquitous public domain library is a proprietary database now?

~~~
clankyclanker
No, but it is non-transparent and can’t be edited with a text editor, without
being unpacked and repacked like Fossil. Yet another layer of indirection is
the last thing I want when I’m in a hurry to write down a thought before I
forget it. Of course that can be overcome with practicing the tooling, but
that’s also a non-negligible transition cost.

------
kissgyorgy
What advantage does it have over text files, an editor and grep?

~~~
Aeolun
I think it basically _is_ text files, and editor and grep. Just conveniently
packaged under one command.

------
coding123
So much better than man pages. I get that you need a huge manual to cover
everything. But 99.99999999% of the time someone needs to just decompress a
tar.gz or create a tar.gz file, they really don't need the man page.

Edit: although, correct me if I'm wrong, but it looks like this doesn't come
pre-loaded with anything :(

Edit 2: Oh man, thank you guys!

~~~
boogies
You might like tldr.sh, bro pages, or cheat.sh (Edit: My pleasure!)

------
ropable
Tiddlywiki plus OneDrive has been my go-to for a personal knowledgebase for a
couple of years.

------
ozim
Don't want to be negative but for me nothing beats markdown files with visual
studio code.

~~~
pricci
What's your setup?

~~~
johnisgood
I would say it is markdown files, and Visual Studio Code. :D

------
santa_boy
Thanks for this. I'll give it a try for sure.

I'm struggling with a good tool that does help me manage my documents and
content. There was "Google Desktop" more than a decade back that Google
discontinued.

Basically, it used to create a Google like experience locally on my desktop.
It used to index my pdfs, email (outlook then!), excels, basically everything
I used back then.

Would be grateful to get any recommendations on alternatives for those old
enough to know what Google Desktop was! :) (un-minimalistic but neat is also
ok)

~~~
dreamercz
I would love to have something like google for my local notes! I usually go
into these threads with the hopes of finding a tool like that. Something that
would go over my plaintext notes (PDF support can be a nice to have too),
index them, and allow me to search through them google style.

------
lucid-quiet
Not that this isn't useful, but I think I get all these features with an org-
mode file and a ripgrep search using counsel. I think I get all the same
features.

------
fmeyer
Looks like everyone has the same ideas at different but slightly overlapping
spans.

I’ve been managing my “work log” notes in such way from a few years already.

[https://gist.github.com/fmeyer/dfbe320b7f53808f52e2fa7edd12b...](https://gist.github.com/fmeyer/dfbe320b7f53808f52e2fa7edd12b810)

------
siscia
I wanted something similar but that worked online.

I didn't really like any of the alternatives so I ended up coding my own.

It is open if anybody would like to use it as well.

[https://nostashapp.com/](https://nostashapp.com/)

I work better with it.

My standard workflow is to keep notes about what I want to do at my day job in
a TODO note, and about what I did in a Journal - $date note (each day a new
journal note).

Then anytime I do something new or I complete some weird or complex procedure,
I write a note about it. And if possible I make it public.

I end up being on top of all my responsibilities quite more easily.

------
tyingq
Very slick and well done. An optional way to hook it up to a tag suggestion
service might be nice.

------
betimsl
What happened to man pages?

~~~
input_sh
I always found them to be _too_ detailed.

It's easier for me to just write down most commonly used syntaxes of commands,
or use something like [https://tldr.sh/](https://tldr.sh/).

~~~
jmnicolas
Don't get me started on "man find". I usually end up googling it (I don't use
the terminal frequently).

Why can't I type "find toto.txt" and it looks for the file everywhere? If I
need a more complex search I'm fine providing more arguments but give me
something by default so that I don't spend 10 minutes trying to find how to
use find ;)

Yes I could make an alias, but it won't be available everywhere.

~~~
jdowner
You might find,

[https://github.com/sharkdp/fd](https://github.com/sharkdp/fd)

to your liking. It is simple, intuitive, and very fast.

------
mcint
Thanks for posting!

Is there a way to tag sub-kb's. I have a tech group I'd like to share
documentation with, but maintain a personal database as well. I suppose I can
use 2 different files.

This really does look like the better version of `um`, `tldr`, and local
manpage and use examples. Thanks for making, pushing, and sharing

