Interview with maintainer:
rg -S -C 2 $1 /some/folder/with/snippets/as/files
$ sn git #searches for snippets containing `git`
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
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.
Also, what about being cross-platform and able to run on Windows?
What about instead having custom templates to apply to the files I desire?
edit: The previous sentence is a joke. This should not take away the usefulness and polish of kb.
I would like to see more import/export options.
It's even worse - Dropbox can corrupt the database file even without conflicts - it's not safe to copy database file which is currently open in some process since it can change within the reading operation. I mean, the original file stays OK, but the copy will be likely corrupt (and in this corrupt state synced into another instance).
For safe copy, Dropbox would have to force some FS-level snapshotting, but that would halt all database operations. I have received few bug reports for my app which were eventually traced into attempts to sync it with Dropbox and similar services.
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.
The library is properly an example of a DBMS: database management system, it's only "a database" informally to lay users.
Even basic things like backlinks are not possible (to do well) without some sort of indexes and overall control over data.
(assuming we're talking about large amount of data, 100 notes does not constitute "knowledge base" IMHO).
To your point, I'm sure it caches a fair amount of that analysis in its .obsidian directory, but to mine, it can still calculate them from scratch on a new (or newly synced) note set. It does so invisibly the first time it sees the Vault (or the new file in the Vault directory, if you add it from elsewhere), so it's still portable, just with an indexing phase if you want to show a backlink or graph pane.
The important thing for me is that most other plaintext notes editors support the forward [[links]] that are the only real "source" data. The implied backlink analysis is just that, results of an analysis. It'd be nice for the cache to be portable, but not necessary.
Transclusion is where I'd agree with you, since that actually appears in the notes themselves rather than as part of an active sidebar. You're more or less stuck with proprietary software that knows how to look for anchors and render their targets inline, at least until/unless we get a generic format for it. But so far that's been more a reason I can't have transclusion yet than a reason why I'd move off plaintext notes in a directory.
I needed it on very different devices and on mobile.
It is a web app, but it is coming with export functionality.
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!
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)
I’ve been managing my “work log” notes in such way from a few years already.
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.
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.
It's easier for me to just write down most commonly used syntaxes of commands, or use something like https://tldr.sh/.
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.
to your liking. It is simple, intuitive, and very fast.
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