Repository navigation
brainless 0.8.0
The lite profile: brainless on one computer, with a folder of notes and any model. It is
now what the installer sets up. The multi-machine setup is install.sh --profile full.
Guide: docs/lite.md.
-
Concepts decided in the terminal.
brainless concepts reviewshows each waiting
proposal and takes yes, no or skip (evet, hayır, atla);brainless concepts decide
does one from a script. The same effect as a Buzz reply. -
A lite command set. The lite profile hides the commands that assume the full setup;
brainless profilelists them andbrainless profile enable <command>turns one on. -
An install test on every push. A second workflow installs on macOS and Ubuntu against
a stub model and runsdoctor --probe,addandtick. -
Docs.
docs/lite.md; the README install section now describesbrainless init. -
brainless.toml. One settings file at the vault root (
tools/config.py). It fills
the existingBRAINLESS_*variables as defaults, so the environment still wins and a
vault without the file behaves as before.brainless config showprints what it sets.
Template:brainless.toml.example. -
Keys in the OS keychain.
brainless config secret set llm_api_keystores a key in the
macOS Keychain, libsecret on Linux, or a mode 600 file elsewhere. A key written into
brainless.toml is ignored with a warning. -
Folders by role, not by name.
tools/paths.pyresolves inbox, library, thinking,
daily, beliefs, decisions and ideas from[folders], so a vault can call its notes
Notlar. Compile, digest, dialectic, calibrate, concepts and media import read the
roles. Localised names for new vaults live intools/locale/<lang>/folders.json. -
Any model. New providers in
tools/llm.py:anthropic(API key),ollama,
openai,grok,gemini,openrouter(each with its own key, never another's),
gemini-cliandcodex-cli(your own sign-in, run from an empty folder, Codex in its
read-only sandbox). One model setting,BRAINLESS_LLM_MODEL, per lane if needed.
llm.py --models <provider>lists models. Ollama and loopback endpoints count as local,
so the no-cloud-fallback rule covers them. -
brainless init. The installer now asks instead of assuming.install.shsets up
Python and the command, then hands over tobrainless init: your name and language,
folders named in that language, other notes folders to read (linked, never changed),
the model (Ollama, which it can install; an API key, kept in the OS keychain; or a CLI
you are signed in to), one test call, optional semantic search, the background entry
and the permissions it needs, and a first run if you want one.--yeswith flags runs
it unattended. Your folders go into.git/info/exclude, so notes never reach git.
Python 3.11 is now the minimum.install.sh --profile fullkeeps the old setup. -
brainless doctor. One line per check: folders, model, key, Ollama, scheduler, failed
jobs, last compile.--probesends one tiny prompt. -
One machine, one queue.
brainless tickruns what is due from a SQLite queue:
convert hourly, digest and compile each evening, lint and prune weekly. A night the
laptop slept through runs at the next wake; jobs that need the network or the model
wait for them; failures back off and then show inbrainless queue.
brainless schedule installadds the single launchd, systemd or Task Scheduler entry
that calls it, on the lite profile only.brainless addcaptures a note or a file.
On the lite profile a document dropped in the inbox is converted there. -
Concept proposals wait without Buzz. On a machine with no Buzz identity they stay
pending instead of going to an outbox nobody delivers. -
Summaries without write access.
smart_processor.pyno longer lets the model write
files: the model returns text and the script writes it. Book summaries run on any
provider; photo OCR still needs the claude CLI and leaves photos in the inbox otherwise. -
The research lane says when it cannot search. Without the claude CLI a web lane is
skipped with a note instead of failing. -
The vault is where the engine is. With
BRAINLESS_VAULTunset, tools use the
checkout they run from instead of a fixed home path.