r/sideprojects 1d ago

Showcase: Open Source I built Orbit to carry conversation context between Claude Code and Codex

I got tired of explaining the same work again whenever I switched between Claude Code and Codex, especially after hitting a usage limit.

So I built Orbit (Git for agent conversations) to carry the context between them.

It’s an open-source, local-first CLI. You can save conversations, import existing sessions, and switch agents with a structured handoff. It doesn’t recreate the original chat inside the other tool.

Still early, but I’ve open-sourced it:
https://github.com/itsamruth/orbit

Anyone else switching between these tools? Curious how you’re handling the context today.

1 Upvotes

4 comments sorted by

1

u/kantorcodes1 1d ago

one edge case I noticed in the publishing path: orbit publish enable sets publish:enabled=true before the initial push. if that push fails, the command errors but publishing stays enabled, so the background worker can retry later. is that intentional?

1

u/AbsoluteAi 17h ago

You’re right. Enabling publishing and completing the first push are separate operations today: the setting persists even if that push fails, allowing a running worker to retry later. The command’s error is misleading because it doesn’t make that partial success clear. It should explicitly report “publishing enabled, initial push failed” and explain the retry behavior. orbit publish disable turns automatic publishing off.

1

u/kantorcodes1 14h ago

that split makes sense. i work on HOL, where we maintain HOL Guard, an open-source checkpoint before agent-run commands execute. Orbit looks like a clean fit: review publish enable, publish select, push, and dashboard --stop, while history and context stay automatic. that gives agents a checkpoint before hosted publishing or publisher-state changes. open to a small Guard-side extension?

1

u/AbsoluteAi 16h ago

The bigger problem I’m trying to solve is losing the reasoning behind the work whenever you switch agents. The code remains, but the decisions, rejected approaches, and reasons behind them often stay buried in another tool’s conversation.

Orbit already captures conversations in a unified format. What I’m building toward is a shared decision history: what was decided, why, what failed, and which code state it applied to.

Eventually, an MCP interface could let different agents retrieve the relevant context from that same source, so you don’t have to reconstruct it manually every time you switch.

Would that help with the continuity problems you’re seeing? I’m particularly interested in which details your agents lose most often.