symbion

agent
Security Audit
Warn
Health Warn
  • License — License: MIT
  • Description — Repository has a description
  • Active repo — Last push 0 days ago
  • Low visibility — Only 5 GitHub stars
Code Warn
  • network request — Outbound network request in src/symbion/api.py
  • network request — Outbound network request in src/symbion/gitref.py
Permissions Pass
  • Permissions — No dangerous permissions requested

No AI report is available for this listing yet.

SUMMARY

A notebook and ticket registry for agents: dated rows attached to a commit, a file, an item, an arc or the project, kept in a sibling git repo of JSONL.

README.md

symbion

symbion: a project's notebook in the browser, and symbion list in a terminal over it

A notebook and ticket registry for one project, shared by you and your coding
agent. Bugs, tasks, decisions and verified results go in as dated entries, so
what a session learned is still there when the next one starts.

Live demo: the browser view of a real
project's notebook, read-only.

A Claude Code session: symbion's hook hands the agent the open entries; asked to work them, it fixes the bug, resolves its entry, and hands the question back.

What it does for you

  • Each session starts where the last one stopped. A session-start hook
    gives the agent the open bugs, tasks and questions, the entries due soon, and
    the ones you wrote or answered. /symbion wrap ends a session: the entries it
    owes, then a store commit whose message is the next session's handoff. You
    do not brief it again.
  • A result knows its age. A check records what ran, what it said, and
    the commit it ran at. Once the code moves on, it reads behind 12, not
    "tests pass".
  • Questions go both ways. The agent files a question for you. Your
    answer, from a terminal or the browser, reaches its next session.
  • Entries attach to things. An entry sits on a commit, a file, a named item
    or the whole project, so symbion context --target file:src/x.py finds
    every entry on that file.
  • Checklists across a codebase. An arc is a named line of work with one
    box per item: a file, a test, a host. symbion arc reconcile reports the
    boxes whose file was renamed or deleted.
  • Plain files you own. The entries are JSONL in a git repo beside the
    project. There is no server, account or database. Checking out an old
    branch does not change your tickets.
  • A local web page, if you want one. symbion serve opens on what waits
    on you, with one-click answers to the agent's questions; then boards, a
    peek at any entry beside the page (j/k), and search across every store
    you serve (⌘K). It installs as an app. How symbion works,
    its help page, explains the model for a person rather than an agent.

symbion works with Claude Code, Codex and Hermes Agent, and the CLI works
without any of them.

Install

Python 3.11+ and git. On Windows, use Git for Windows.

pipx install 'symbion[gui]'     # or: uv tool install 'symbion[gui]'

[gui] adds the web page (symbion serve); leave it out for the CLI alone.
Run command -v symbion from another directory to check that it is on PATH:
the session-start hook finds symbion through PATH.

Quick start

From your project's root:

symbion init          # lists each change and makes none (exit 1 if there are any)
symbion init --yes    # creates the store, ../<repo>-notes, and links the agent skill

init --yes registers its hooks too when ~/.claude/settings.json does not
exist: one at session start, and one that gives the agent a file's gotcha entries
the first time it touches that file. When the file exists, init prints each
entry to add, or says the hook is already there. symbion init --merge-hook adds the entry for you and keeps the
rest of the file. If your agent's own edit of that file is denied, run it yourself:
in Claude Code, type ! symbion init --merge-hook at the prompt.

A new store takes entries on a commit, an item, the project or an arc. For entries
on files, open ../<repo>-notes/symbion.toml and uncomment file = under
[catalogs] and file = "git" under [renames]. A file target refused before
then names both lines.

Then add one line to CLAUDE.md, and start a session:

- We use symbion for durable notes and tickets.

init --agent codex, --agent hermes or --agent both sets up the other
agents, which take a step more: see the
guide.

Docs

  • Guide:
    install on each platform, TAB completion, adopting a repo with each agent,
    the first session, and the web page.
  • Reference:
    kinds and arcs, catalogs, conventions, where things live, and development.
  • SKILL.md:
    what the agent reads, with a table of the common commands. symbion VERB -h
    lists every flag of a verb.
  • Design:
    why symbion is built as it is.

Development

python3 -m venv .venv && .venv/bin/pip install -e '.[test,gui]'
.venv/bin/python -m pytest -q -n auto

Windows, and making a clone your installed symbion:
Development.

Reviews (0)

No results found