DEV Community

Cover image for Three months of running a consultancy out of a git repo our coding agents read
Michael Boiman
Michael Boiman

Posted on

Three months of running a consultancy out of a git repo our coding agents read

In June I wrote about the repo that stops my coding agent from forgetting everything overnight. Three months later the four of us at BKS-Lab run our daily work on it, and we run closed instances of it for other companies. This is what held up and what did not.

Some numbers from my own instance, measured on 24 September: 4,072 work-log rows since 4 July, 164 closed tasks, 2,426 commits since 20 June.

## What it is, in one paragraph

open-bridge is a git repo of markdown and YAML. Claude Code, Codex or Copilot CLI read it at the start of every session: which repos and clients exist, which tasks are open, what happened yesterday. There is no database and no service to host. When I say "good morning", the agent answers from those files: which client is mid-incident, what the next step is, what waits for review.

I run my whole working day from it: client projects, repos, my machines, mail, even the paperwork at home. From a meeting recording it writes minutes, tasks and a draft mail. It wakes my home server, checks that the backups are fresh, and tells me in the morning what matters today. It knows which client I am working for and which signature I write with, because all of that is a file in the repo.

## What held up

The daily log is the real memory. Every unit of work gets one row: date and time, a glyph, the project, what happened. Nothing clever. The morning briefing reads the last few days of it, and that removes most of the "where was I" friction. The rule that made it work: a row is written the moment the work lands, never batched at the end of the day.

One folder per task beats one big notes file. Each task has a STATUS.md with a small YAML header (status, priority, where it came from) and free text below. The board is generated from those folders and never edited by hand, so it cannot drift from the truth.

Private data and the shared template never touch. My data lives on a private user branch, the template lives on main. They use disjoint paths, so pulling template updates is a plain merge. A pre-push hook refuses to push the private branch to a public remote.

The agent proposes, I press the button. Mails are drafts, merges are mine, deletes need a yes. This sounds slow. In practice it is what lets me hand the agent real work.

## The part a notes vault does not cover

There are good projects that wire an Obsidian-style notes vault to a coding agent. They remember well for one person. Our problem was different: several clients, several roles, and a team.

One instance per company. Client data never sits in the same repo as another client's. The agent is the same, the instance it reads decides what it knows.

A shared layer for the team. Our company skills, accounts, projects and rules live in a separate overlay repo that every instance subscribes to. When someone new joins, they get a Bridge on day one that already knows our clients and our routines. Their own data stays on their own branch.

What we had to fix

Context grows until it hurts. After a few months, the files an agent reads before its first answer had quietly grown far past what anyone had decided to load. We now keep a byte budget for that always-loaded part, and CI fails when it is exceeded. Everything else is an index: one line per repo or client, the full entry fetched only when a name comes up.

"Where does this live?" became the most common question. So there is now a plain table that maps questions in everyday words to the file that answers them, and a check that every link in it resolves.

One size did not fit. Our first worked example was a two-client agency. The instance that got the most use belongs to one person wearing several hats: consultancy partner, freelancer, household, home server. That shape now ships as a second example.

Try it

You do not need to clone anything by hand. Copy the setup prompt from https://bks-lab.github.io/open-bridge/#get-started and paste it into Claude Code, Codex or Copilot CLI. The agent checks your tools, shows you its plan and waits for your go, creates your own private repo, and then walks you through onboarding: who you are, which repos and clients you work with, and a first briefing built from your own setup.

Want to look around first? The first option onboarding offers is a two-minute live demo: a fictional two-client agency with a P1 incident in flight. Say "good morning" there, and everything it answers comes from markdown files next to you.

The repo is MIT: https://github.com/bks-lab/open-bridge. The first outside contributions landed in the last two weeks: a GitLab tracker playbook, a French locale theme, and a tested Cursor setup on Windows. More good first issues are open if you want to help, for example a Spanish locale theme, a Jira or Linear tracker playbook, and testing the demo in Gemini CLI: https://github.com/bks-lab/open-bridge/labels/good%20first%20issue

The longer story of why we opened it: https://bks-lab.com/en/blog/open-bridge-open-source/

How do you keep a coding agent oriented across several projects or clients? What broke for you?

Top comments (0)