TreeMap
A free, open-source disk-space visualizer. Squarified treemap, duplicate hunting, disk-full forecasting, and cleanup that only ever moves files to the Trash.
Command your agents, projects, and personal systems from one workspace.
ProductivityTypeScript · ShellGitHub @bitbaumOnlineOwner 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
Execution OS for builders: SaaS control plane, cloud builder by default, optional local agent runtime — projects, goals, people, money, and AI agent fleets
Taken from the repository README
Loading the full README. The saved excerpt is shown below.
Loki is an independent product for building and changing projects with AI
agents. Start with a brief, create a real repository, build and deploy, then use
project feedback to direct the next change. OrangeCat linking is optional;
an OrangeCat account is not required to build in Loki.
Org names and relationships come from bitbaum/fleet
and its registers. Hosting addresses are recorded in scripts/hetzner/apps.conf.Read the full README ↗Loki is an independent product for building and changing projects with AI agents. Start with a brief, create a real repository, build and deploy, then use project feedback to direct the next change. OrangeCat linking is optional; an OrangeCat account is not required to build in Loki.
Org names and relationships come from bitbaum/fleet
and its registers. Hosting addresses are recorded in scripts/hetzner/apps.conf.
The product thesis is simple: AI agents are becoming cheap execution capacity, but serious users still need a trustworthy command center. Loki provides the state, queues, handoffs, guardrails, and business context around that capacity.
Production: https://loki.orangecat.ch Status: beta, pre-1.0. Free while prices are not announced. Hosted on Hetzner.
Loki serves individual builders and teams. Optional OrangeCat links connect build dossiers to public profiles and funding. Linking does not publish private work: publishing requires a separate owner choice.
Designed economic model (planned monetization).
| Layer | Value | Planned monetization (not billed) |
|---|---|---|
| Individual builder | One Loki for projects, agents, commitments, and execution memory | Pro subscription (planned) |
| Team / studio | Shared project state, team visibility, agent dispatch, audit trail | Per-seat team plan (planned) |
| Agent runtime | Eligible accounts use the shared cloud builder; others can connect Fleet Runner on their computer | Paid runtime seats / usage tiers (planned) |
| Execution intelligence | Queue drain, health gates, outcomes, continuation policies | Premium automation tier (planned) |
| Enterprise / investor diligence | Operating telemetry, governance, security, and project health | Managed deployment / annual contract (planned) |
See docs/business-model.md for positioning, pricing logic, expansion loops, and defensibility.
Hosted control plane (self-hosted Next.js on Hetzner, Caddy in front)
Auth, database, UI, team state, command queue, runtime snapshots
Execution runtime (eligible cloud builder or user machine)
Project workspaces, owned agent sessions, git, shell tools, runner
Data layer (Postgres / Drizzle)
User projects, runtime state, orchestration events, prompt queues,
goals, people, habits, events, billing, memories
Key design rules:
bitbaum box, Caddy + systemd) — production deploys run in the Deploy workflow (.github/workflows/deploy.yml) after CI is green on main, which calls scripts/deploy-hetzner.sh; cron jobs run on the boxsrc/app/ App routes and API endpoints
src/components/control/ Agent operations UI
src/components/*/ Domain surfaces: today, people, projects, goals, etc.
src/config/ Navigation, prompts, categories, product constants
src/db/schema/ Drizzle schema SSOT
src/db/queries/ Data access by domain
src/lib/ Runtime, auth, orchestration, formatting, utilities
home/ Orchestration library and runtime tests
scripts/ Build, deployment, smoke, migration, and verification tools
docs/ Architecture, business model, cloud/local workflows
drizzle/ Generated schema migrations
packages/agent/ Hosted installer CLI
content/ Public essays and whitepaper content
Every change should preserve:
pnpm run verify — the one canonical gate. CI runs it verbatim, so green
local verify means green CI. Its step list lives in package.json
(scripts.verify); this file deliberately does not restate it.pnpm run buildpnpm run smokeThis used to enumerate an ad-hoc subset of test scripts. Every such list drifts from the real gate — three docs ended up teaching three different, all-weaker bars — so the rule is now: name the gate, never its contents.
CI runs type/lint/design/self-test checks on pushes and pull requests. A
scheduled audit workflow fails on high or critical dependency vulnerabilities.
Production deploys to the Hetzner box run in the Deploy workflow after CI is
green on main (or when the auto-merge sweep reconciles it), which calls
scripts/deploy-hetzner.sh (rsync → restart loki-app).
pnpm install
docker compose up db -d
cp .env.example .env.local
pnpm run db:push # local scratch DB only — never a shared/prod database
pnpm run dev
Minimum local .env.local:
DATABASE_URL=postgresql://loki:changeme@localhost:5432/loki
AUTH_SECRET=replace-me
AUTH_TRUST_HOST=true # without it every /api/auth/session returns 500
GITHUB_CLIENT_ID=replace-me
GITHUB_CLIENT_SECRET=replace-me
AUTH_TRUST_HOST is not optional on localhost: Auth.js rejects an untrusted
host, so the pages render but nothing can read a session. It is compared to the
exact string "true" — 1 does not work.
The database needs the pgvector extension (the knowledge index stores a
vector(384)); drizzle-kit push fails on the first table without it. The
compose db service uses the pgvector/pgvector image and creates the extension
on first boot. Against your own Postgres, run CREATE EXTENSION vector; first.
On a fresh database, visit /setup to create the first user.
Work runs on the cloud builder by default; a project runs on your computer
when its profile says so ("Runs on" in Control) or when its checkout exists
only there. Shared cloud building is restricted to eligible accounts, so other
accounts need a connected Fleet Runner; see src/lib/execution-access.ts. To
connect your machine:
curl -fsSL https://loki.orangecat.ch/api/agent/install | node - init --base-url https://loki.orangecat.ch
The runtime requires at least one supported agent CLI on the selected builder:
claude, codex, gemini (shown as Antigravity), agent (Cursor), grok,
or openclaw.
See docs/development/cloud-local-workflows.md for the full matrix of browser-only vs local-runtime workflows.
Loki is MIT. A copy runs anywhere Docker runs, and nothing points at bitbaum's infrastructure that an environment variable cannot repoint.
git clone https://github.com/bitbaum/loki && cd loki
cp .env.example .env.local # fill DATABASE_URL, AUTH_SECRET, AUTH_TRUST_HOST=true
docker compose up -d # pgvector Postgres, schema, the app on :3000
Then open /setup to create the first user. From there:
NEXT_PUBLIC_APP_DOMAIN (and NEXTAUTH_URL). Callbacks,
emails and copy build on it (src/config/brand.ts); loki.orangecat.ch is
only the fallback.NEXT_PUBLIC_ORANGECAT_URL points links at your
own copy or stays unset; sign-in works with GitHub or e-mail alone.desktop/) or on any
box you give the runner script; the Hetzner builder is bitbaum's, not a
requirement..env.example: every variable src/ reads is named
there with the file that reads it, and scripts/test/env-example-covers-src.ts
fails CI when one is not. A feature whose key is empty is off, not broken.The Loki name and visual identity are not part of the licence; a copy should
carry its own (src/config/brand.ts is one file).
.env.example as the contract.ck_* agent tokens.See SECURITY.md for reporting and operational expectations.
Bitbaum is a platform for the new economy and for creation: building, engineering and researching. It's a community of builders, creators and researchers, and of the people who support them. We work as engineers in the loop: agents do much of the typing, and people own the judgement.
This code is MIT-licensed so that you can take it. Use it, fork it, rebrand it, sell it, or lift a single file. Make it yours and keep improving it the way you like. You don't need to ask, book a call or sign a CLA. Just keep the LICENSE with your copy.
npx degit bitbaum/loki my-loki # a clean copy without our git history
cd my-loki && pnpm install
src/config/brand.ts.@bitbaum/* kits install from public npm or public GitHub, so you need no tokens or private registry.The Loki name and logo are not covered by the licence, so ship your copy under a name of your own.
More to take: orangecat.ch/steal and github.com/bitbaum.
Copying code is free. What stays scarce once agents and robots write most of it is seeing the whole system. Pick one of these, in this repo, and open an issue or a pull request:
A real one from this repo: in August 2026 three PRs merged onto a green main and none of them deployed, because a run started with the default GITHUB_TOKEN wakes nothing downstream. Every check was green. Find the next promise that fails like that.
A short, correct answer beats a long one, and so does an answer that admits what it doesn't know.