Expand description
The command line: which command to run, with its options.
- [
entries]: commands that read or change entries by id, for agents and scripts. - [
mod@init]: a project’s.brain/, and the section telling its agents about it;deinitundoes it. - [
claude]: the Claude Code hooksinitadds: the context at each session start, and [hook]’s checks. - [
hook]:kb hook prompt|stop, which hold an agent to describing an undescribed project first, and to commenting on the tasks it started. - [
completions]:kb completions SHELL, tab completion, and the ids, projects and tags it offers. update:kb updateand the app’s, the latest release over this one, through the installer, once no agent is working.
Modules§
- update
kb update, and the app’s update: installs the latest release over this one, by running the installer the README gives, which downloads it, checks its checksum and replaces the binaries, then runs the new version’sinit --all, so none of that is repeated here. Never while an agent works on a task:init --allwould rewrite its instructions and a migration its data mid-session.
Structs§
- AddArgs
- Options of
add. - Entry
Args - One of the entry commands, and whether to print JSON.
- List
Args - Options of
kb list. - Program
- The binary running the command line, named in the usage text and
--version. - Report
Args - Options of
kb report.
Enums§
- Command
- What to do, as chosen on the command line.
- Entry
Command - What to do to which entry.
- Project
Change - What
projectchanges. - Project
Part - What
projectchanges in one of its texts. - Text
- Text given on the command line, or
-to read it from stdin (for multi-line markdown).
Functions§
- init
- Makes
roota repository of projectname(else the one its card names, else one named after the folder), namedrepoin it (else asprojects::repo_namepicks): creates its.brain/and card, registers it incentral(joining the project’s other repositories if it has some), creates the project’s shared card if it’s new, and writes or refreshes the section in each agent file ofroot(creatingCLAUDE.mdif there’s none). Returns what it did, one line each. - move_
repo - Moves the repository whose
.brain/isdirto projectto, created if new, askb init tothere would. Links between it and its old project’s repositories are dropped on both sides: they’d name repositories of another project. - remove_
project - Takes every repository of
projectout, asremove_repodoes each, which removes the project’s card with the last. - remove_
repo - Takes the repository whose
.brain/isdirout of its project, askb deinitdoes, and drops its old siblings’ links to it. Withpurge, its.brain/goes too: its tasks, notes and decisions. - rename_
project - Renames project
oldtonew: the registry, its shared card, and each of its repositories’ cards. - rename_
repo - Renames the repository whose
.brain/isdirtonewin its project, and rewrites its siblings’ links to it (old#3becomesnew#3). - usage
- Printed by
--helpand after a command-line error. The status, period and group names come fromStatus,UnitandGroup, so they’re only written there.