Lalabase
Tickets, Doku, Zeiterfassung und Kundengespräche an einem Ort, durchsuchbar per KI. Für Softwarefirmen mit Kundenprojekten. Open Source: auf deinem eigenen Server oder in unserer Cloud in Deutschland.
Translation pending
The collaborative workspace where hierarchical blocks, AI agents, and real-time chat come together. Organize, collaborate, and ship — with AI as your teammate.
BusinessRuby · JavaScriptGitHub @sh1nj1OnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Workspace for humans and AI agents. Every block is a doc, a task, a discussion, and agent context — one object, not three copies your agent has to choose between. Context is lexically scoped: pin a rule at the root, every task below inherits it. Self-hosted, MCP-native.
Taken from the repository README
Loading the full README.
Read the full README ↗One living tree for docs, tasks, discussions, and AI agent context.
Today those are three copies you keep in sync by hand, plus an agent wired to all of them that still has to guess which one is true. A block in Collavre is all four at once — one object. Pin a rule at the root and every task below it inherits it, for people and agents alike.
Live demo · Watch the 90-second demo · Features · AGPL-3.0
You write the same thing three times.
Then you bring in an agent. Nobody pastes context by hand anymore — you connect it over MCP and it can read all three. But it reads three copies that have drifted apart, with no record of how they relate, and no boundary telling it where this task ends. So it guesses, from keywords, every single session.
The duplication was always waste, but people carry the missing structure in their heads, so it stayed tolerable. An agent carries nothing between calls. That is what turns a quiet tax into a daily one.
One object, not three copies. A block is simultaneously a document, a task, a discussion thread, and a unit of agent context. Blocks nest into a tree.
Markdown in, task tree out. Import a spec and heading depth becomes tree depth, one to one. Nothing is retyped. Progress rolls up from leaf to root on its own.
Context is lexically scoped. Pin a context block at any node — coding conventions, a design doc, deploy rules — and every descendant inherits it. Call an agent on a leaf task three levels down and it arrives with that context already attached. From there it can traverse the rest of the tree itself over MCP.
That last one is the whole idea: the unit of work is the unit of agent context. It is lexical scoping, but for work.
A structure this good is worthless if writing in it feels like filing a ticket. So the tree is not a list of task titles with documents hidden behind them — it is the document. A heading, a paragraph, a fenced code block, a table: each is a block, rendered in place, each carrying its own progress and its own thread.
.md file by dropping it on the tree, export any subtree back out.We ship an MCP server too, and agents search and traverse the tree through it. Still:
An MCP server over a doc store returns documents. An MCP server over a tree returns a scope.
Requires Ruby 3.4 (via mise), Node, and libvips
(brew install vips on macOS).
git clone https://github.com/sh1nj1/plan42.git && cd plan42
mise install && npm ci
bin/setup # bundle, prepare + seed the DB, then start the dev server on :3000
Sign in as [email protected] / password123 — set DEFAULT_USER_EMAIL and
DEFAULT_USER_PASSWORD before the first run to override.
To point an agent at it over MCP, see docs/mcp-configuration.md.
collavre is the core, and every collavre_* engine depends on it, never the reverseStated up front, because you would find them anyway:
bin/dev # dev server on :3000
./script/install-hooks.sh # pre-push: changed-file RuboCop, i18n + dead-code checks
./bin/rubocop -a # full lint required before PR
bin/rake test && bin/rails test:system # tests required before PR; pre-push tests are temporarily disabled
bin/dev also starts the Solid Queue worker and recurring scheduler. Development
jobs use the development database, including the minute-by-minute keep recovery
sweep; run bin/jobs separately when starting Rails without bin/dev.
System tests require a locally installed, trusted ChromeDriver on PATH or at
CHROMEDRIVER_PATH. Install a driver compatible with your Chrome version through
your trusted package manager or a verified Chrome for Testing distribution.
Selenium Manager automatic downloads are disabled; a missing or invalid driver
stops the test with a setup error. This applies to headless and visible Chrome.
System tests run headless by default; SYSTEM_TEST_DRIVER=chrome bin/rails test:system
to watch them in a real browser.
JavaScript is bundled with jsbundling-rails, so npm ci must run before
rails assets:precompile in any production build. The provided Dockerfile and
render.yaml both do this.
Collavre is distributed under the terms of the GNU Affero General Public License v3.0.