Kb
A minimalist command line knowledge base manager
Install / Use
/learn @gnebbia/KbREADME
kb. A minimalist knowledge base manager
Author: gnc nebbionegiuseppe@gmail.com
Copyright: © 2020, gnc
Date: 2025-06-22
Version: 0.1.8
Table of Contents
- Purpose
- Installation
- Docker
- Usage
- UPGRADE
- FAQ
- DONATIONS
- COPYRIGHT
Purpose
kb is a text-oriented minimalist command line knowledge base manager. kb can be considered a quick note collection and access tool oriented toward software developers, penetration testers, hackers, students or whoever has to collect and organize notes in a clean way. Although kb is mainly targeted on text-based note collection, it supports non-text files as well (e.g., images, pdf, videos and others).
The project was born from the frustration of trying to find a good way to quickly access my notes, procedures, cheatsheets and lists (e.g., payloads) but at the same time, keeping them organized. This is particularly useful for any kind of student. I use it in the context of penetration testing to organize pentesting procedures, cheatsheets, payloads, guides and notes.
I found myself too frequently spending time trying to search for that particular payload list quickly, or spending too much time trying to find a specific guide/cheatsheet for a needed tool. kb tries to solve this problem by providing you a quick and intuitive way to access knowledge.
In few words kb allows a user to quickly and efficiently:
- collect items containing notes,guides,procedures,cheatsheets into an organized knowledge base;
- filter the knowledge base on different metadata: title, category, tags and others;
- visualize items within the knowledge base with (or without) syntax highlighting;
- grep through the knowledge base using regexes;
- import/export an entire knowledge base;
Basically, kb provides a clean text-based way to organize your knowledge.
Installation
You should have Python 3.6 or above installed.
To install the most recent stable version of kb just type:
pip install -U kb-manager
If you want to install the bleeding-edge version of kb (that may have some bugs) you should do:
git clone https://github.com/gnebbia/kb
cd kb
pip install -r requirements.txt
python setup.py install
# or with pip
pip install -U git+https://github.com/gnebbia/kb
Tip for GNU/Linux and MacOS users: For a better user experience, also set the following kb bash aliases:
cat <<EOF > ~/.kb_alias
alias kbl="kb list"
alias kbe="kb edit"
alias kba="kb add"
alias kbv="kb view"
alias kbd="kb delete --id"
alias kbg="kb grep"
alias kbt="kb list --tags"
EOF
echo "source ~/.kb_alias" >> ~/.bashrc
source ~/.kb_alias
Please remember to upgrade kb frequently by doing:
pip install -U kb-manager
Installation from AUR
Arch Linux users can install kb or kb-git with their favorite AUR Helper.
Stable:
yay -S kb
Dev:
yay -S kb-git
Installation from pkgsrc
Of course it runs on NetBSD (and on pkgsrc). We can install it from pkgsrc source tree (databases/py-kb) or as a binary package using pkgin:
pkgin in py38-kb
Note that at the moment the package is only available from -current repositories.
Installation with homebrew
To install using homebrew, use:
brew tap gnebbia/kb https://github.com/gnebbia/kb.git
brew install gnebbia/kb/kb
To upgrade with homebrew:
brew update
brew upgrade gnebbia/kb/kb
Notes for Windows users
Windows users should keep in mind these things:
- DO NOT USE notepad as %EDITOR%, kb is not compatible with notepad, a reasonable alternative is notepad++;
- %EDITOR% variable should ALWAYS be enclosed within double quotes;
EDITOR=C:\Program Files\Editor\my cool editor.exe -> WRONG!
EDITOR="C:\Program Files\Editor\my cool editor.exe" -> OK!
To set the "EDITOR" Environment variable by using cmd.exe, just issue the following commands, after having inserted the path to your desired text editor:
set EDITOR="C:\path\to\editor\here.exe"
setx EDITOR "\"C:\path\to\editor\here.exe\""
To set the "EDITOR" Environment variable by using Powershell, just issue the following commands, after having inserted the path to your desired text editor:
$env:EDITOR='"C:\path\to\editor\here.exe"'
[System.Environment]::SetEnvironmentVariable('EDITOR','"C:\path\to\editor\here.exe"', [System.EnvironmentVariableTarget]::User)
Setting Aliases for cmd
Open a cmd.exe terminal with administrative rights and paste the following commands:
reg add "HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor" /v "AutoRun" /t REG_EXPAND_SZ /d "%USERPROFILE%\autorun.cmd"
(
echo @echo off
echo doskey kbl=kb list $*
echo doskey kbe=kb edit $*
echo doskey kba=kb add $*
echo doskey kbv=kb view $*
echo doskey kbd=kb delete --id $*
echo doskey kbg=kb grep $*
echo doskey kbt=kb list --tags $*
)> %USERPROFILE%\autorun.cmd
Setting Aliases for Powershell
Open a Powershell terminal and paste the following commands:
@'
function kbl { kb list $args }
function kbe { kb edit $args }
function kba { kb add $args }
function kbv { kb view $args }
function kbd { kb delete --id $args }
function kbg { kb grep $args }
function kbt { kb list --tags $args }
'@ > $env:USERPROFILE\Documents\WindowsPowerShell\profile.ps1
Docker
A docker setup has been included to help with development.
To install and start the project with docker:
docker-compose up -d
docker-compose exec kb bash
The container has the aliases included in its .bashrc so you can use
kb in the running container as you would if you installed it o
Related Skills
node-connect
349.0kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
109.4kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
349.0kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
349.0kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
