BKS open-bridge: one place from which AI agents work by your rules
BKS open-bridge is a git repository of plain text that an AI agent reads at the start of every session: clients, repos, machines, tasks, rules and what happened yesterday. From there you set everything in motion, and every step passes through your rules. We work with it daily, develop it in the open and publish it under the MIT license.
Visit the websiteDemo in 90 secondsSet up your own BridgeSource code on GitHub
Practical setup 01Built · in our own operations
One bridge from which everything runs
Tasks live in the tracker, access details in notes, scheduled runs on several machines, agreements in mails. An agent that is meant to help sees only what you explain to it right now.
Pick a station and give a command.
Ready. Pick a station.
Commands to Tasks
Commands to Clients and repos
Commands to Machines
Commands to Channels
Commands to Scheduled runs
Commands to Backups
Commands to Outward agents
Commands to Rules
Commands to Skills
Reading runs at once. Changes get logged. Anything outward or irreversible waits for you. Some things a rule stops.
Commands
0
from one place
Approved by you
0
outward, irreversible
Stopped by rules
0
whoever asks
Log rows
0
every change
Example with invented names, numbers and results. The stations match folders BKS open-bridge sets up. Reading without asking, approval before outward or irreversible actions, and the push guard are part of the public rule set.
Scope and limitations
Not part of this demo: The stations are examples. Each instance decides which it uses, most of them are optional.
The folders, the approval rule for outward steps and the push guard are part of BKS open-bridge and publicly documented.
Practical setup 02Built · in our own operations
Context that grows from session to session
An AI agent starts every session without memory. Paths, commands, contacts, and open tasks have to be explained again and again.
Five work sessions with an AI agent, once without and once with shared context.
Without shared context
- Session 1Look into the checkout errorPath to the repositoryDeploy commandOpen task
- Session 2Inform the clientClient contactTone of client mailsOpen task
- Session 3Roll out the fixPath to the repositoryDeploy commandWho approves
- Session 4Write the weekly reportOpen taskClient contactTone of client mails
- Session 5Roll out the next fixPath to the repositoryDeploy commandWho approves
With BKS open-bridge
- Session 1Look into the checkout errorPath to the repositoryDeploy commandOpen task
- Session 2Inform the clientClient contactTone of client mailsOpen task
- Session 3Roll out the fixPath to the repositoryDeploy commandWho approves
- Session 4Write the weekly reportOpen taskClient contactTone of client mails
- Session 5Roll out the next fixPath to the repositoryDeploy commandWho approves
had to askalready knew
What the agent reads
Instance registry
Path to the repository: ~/projects/shop
- Log still empty
Questions without context
0
every session starts empty
Questions with BKS open-bridge
0
only what is not written down yet
Written back
0
entries in the log
Simplified example with made-up values. Reading at the start and writing back at the end are part of BKS open-bridge and publicly documented. The build makes no claim about how much time a given team saves.
Scope and limitations
Not part of this demo: The model is simplified. It shows the principle, not how much time a given team saves.
Reading at the start and writing back at the end are part of BKS open-bridge and publicly documented.
Practical setup 03Built · in our own operations
Tasks that outlast the session
What was discussed in one session is gone in the next. Tasks scatter across chats, notes and trackers, and nobody notices when too much runs at once.
Change a task's status. The board is regenerated and the log gains a row.
Task folders
work/tasks/checkout-bug/STATUS.mdPayment bug in checkoutshopwork/tasks/portal-login/STATUS.mdCustomer portal loginportalwork/tasks/api-v2/STATUS.mdMove the API to version 2shopwork/tasks/data-export/STATUS.mdData export for accountingportalwork/tasks/weekly-report/STATUS.mdWeekly reportinternalwork/streams/operations/STATUS.mdOngoing operationsopsStream, runs for good and does not count
work/board.md, generated
work/log.md
- No changes today yet
Active at once
0
doing and review, streams excluded
Limit
3
warns, never blocks
Log rows
0
one per change
Example tasks with invented names. Task folders, the four status values, the generated board, the log and the warning limit are part of BKS open-bridge and publicly documented.
Scope and limitations
Not part of this demo: The board is a view for the instance. Syncing with GitHub or Azure DevOps is possible but not shown.
Task folders, the four status values, the generated board and the warning limit are part of BKS open-bridge.
Practical setup 04Built · checked in the build
Read only what the work needs right now
The more an agent reads upfront, the less room is left for the actual work, and the easier it picks up the wrong client's files.
Pick a request. The bright files are what the agent reads before it answers.
Board and log are enough: what ran yesterday, what is due today, what is waiting.
Read by every session
AGENTS.mdoperating manual2.1 KBwork/board.mdtasks0.8 KBwork/log.mdlog of the last days3.6 KBRegistry, as a cardone line per client and repo0.6 KBRule indexname and trigger per rule0.4 KB
Opened only when the work names it
workflow/workspaces/north.yamlrepos and agreements, client North1.4 KBworkflow/workspaces/south.yamlrepos and agreements, client South1.3 KBskills/e-invoice/SKILL.mdplaybook for booking errors2.2 KBprotocols/standing-orders/mail-tone.mdrule for the tone of mails0.9 KBidentity/personas/company.yamlsender and signature0.7 KBidentity/mandants/team-north.yamlrecipient group0.5 KBinfra/remotes/test-server.yamlaccess to the test server0.8 KB
In the session's context
Under the ceiling.
Read
7.5
KB before answering
Ceiling
12.0
KB, declared
Files open
5
of all 12
Simplified example with invented file sizes. The fixed set at session start, opening on demand and the checked ceiling (context-budget.yaml, scripts/measure-context.py) are part of BKS open-bridge.
Scope and limitations
Not part of this demo: The file sizes are invented. Which files open on which keyword depends on the instance.
The fixed set, opening on demand and the ceiling (context-budget.yaml, scripts/measure-context.py) are part of BKS open-bridge.
Practical setup 05Built · active once set up
Protecting private working states from the wrong destination
The general framework and private working notes live in the same working directory. Before anything is published, it must be clear where the changes are going and whether private areas are included.
Put a push together and send it.
No push yet.
Pushes tried
0
in this stand
Let through
0
framework anywhere, personal only to private
Stopped
0
before the transfer, not after
Modelled on the public rules of BKS open-bridge (rules/push-guard.md, scripts/hooks/pre-push). Names and files are examples. The guard checks location and target, not the content of individual permitted files.
Scope and limitations
Not part of this demo: The safeguard checks storage location and destination, not the content of individual permitted files. It complements technical access controls but does not replace them.
The safeguard is built, is set up locally, and we use it in our own operations.
Practical setup 06Documented process · followed by the agent
Clarifying the working context before every session
An agent can open a project fresh, on the wrong working state, or with an incomplete configuration. Without orientation, it easily starts in the wrong place.
Set the starting situation, the agent checks it before the first reply.
Detected state
- New here
NEW USER - Wrong branch
WRONG BRANCH - Orphaned configuration
ORPHAN STATE - Configuration missing
BROKEN CONFIG - Normal
NORMAL - User branch without configuration
BROKEN USER BRANCH - Working on the core
CORE DEV MODE
The agent's first reply
Welcome. Before I answer your question, here are four ways to get started, from a short tour to a private setup.
Checks before the first reply
3
branch, user branch, configuration
States seen
1
of seven
Work state loaded
0
only in the “Normal” state
Modelled on rules/session-start.md in BKS open-bridge. The replies are summarised. The process is documented and followed by the agent, not enforced from outside.
Scope and limitations
Not part of this demo: The process is documented but not enforced by an external session mechanism. Its reliability depends on the agent actually following it.
The startup logic is part of BKS open-bridge and publicly documented.
Practical setup 07Built · designed to work across tools
One knowledge base for several agent tools
Different agent tools look for working instructions in different places. Duplicate copies would quickly drift apart.
Change the description and see what the tools read.
- .claude/skills/Claude Codereads Writes one line to the work log, with time and context.old version
- .agents/skills/Codex and othersreads Writes one line to the work log, with time and context.old version
- .github/skills/GitHub Copilotreads Writes one line to the work log, with time and context.old version
skills/protokoll/SKILL.md
Where the skill is passed on
- open-bridge (public)
- company overlay
- personal overlay
- this instance only
Places holding this skill
1
one store or several copies
Tools reading an old version
0
do not see the latest change
Passed on to
3
levels for this scope
Modelled on the skill store of BKS open-bridge (skills/ and the links .claude/skills, .agents/skills, .github/skills). How well a tool reads the store has been tested to different degrees per tool and operating system.
Scope and limitations
Not part of this demo: Compatibility has been tested to different degrees per tool and operating system, and needs to be checked in the specific environment.
The shared store is built and in daily use with Claude Code. Codex and Copilot CLI read the same store, Cursor and Gemini CLI we have not tested ourselves.
What else BKS open-bridge can do
The test benches above show the core. The BKS open-bridge website describes what builds on it. Most parts are optional and set up only when you need them.
Demo in 90 seconds
A morning with the agent: session start, daily overview, an incident with log analysis and a test-driven fix, first-time setup.
Watch the demoWorkspaces
A client's repos as a named workspace. Commits are pinned, drift is visible at a glance.
WorkspacesScheduled runs
Every report, poller and service is a file. The service file for the machine is rendered from it and regularly reconciled with the machine.
WorkloadsOutward agents
An agent answers questions over A2A from public content and takes requests, always with a human in between.
Bridge-AgentsTry it yourself
Our public agent runs on this foundation. You can ask it questions right here in the Labor.
To the public agentCompany overlay
An instance subscribes to a company's shared configuration without forking it. With ours, a new colleague has a bridge on day one that knows our clients, boards and routines. Your own changes take precedence.
Use casesMeeting to tasks
A meeting transcript becomes minutes and proposed tasks. What you confirm is taken over.
Use casesTwo examples to try
An agency with two clients and an open incident, and one person with several roles: consultancy, freelance work, household, a home server. Both run without any setup.
Examples on GitHubEverything on one map
As of September 2026, BKS open-bridge ships 943 files, 27 are yours. The map shows how the parts connect.
Open the map
What rules does an agent need before its first working step?
We organize project knowledge, responsibilities, and safeguards so an agent starts with solid context and knows its limits.
Schedule a conversation