Introducing *beta* Remogram: forge facts for agents, without the workflow baggage Topogram has released Remogram, an open-source CLI and MCP server that provides a generic boundary between AI agents and source code management (SCM) forges like GitHub, GitLab, and Gitea. Remogram delivers small, typed, trustworthy facts from forge APIs, avoiding raw dumps and workflow metadata, and includes features like bounded ingest, sanitized strings, stale head detection, and a stable contract for agent-forge hygiene. The tool is in 0.1.0-beta with read/plan commands mature and write commands opt-in. If you've ever pointed an AI coding agent at a pull request and watched it confidently merge based on a stale title, a truncated API response, or prose that looked like instructions, you've hit a boundary problem. Git hosts know a lot. Agents need small, typed, trustworthy facts , not raw forge dumps and not your team's SDLC vocabulary mixed into SCM output. Remogram is a generic SCM/forge boundary: a CLI and MCP server that turns GitHub, GitLab, and Gitea into Remogram was developed by and for Topogram https://topogram.dev , but you don't need Topogram to use it. It stands on its own as open-source tooling for any repo that wants better agent–forge hygiene. Modern agent workflows need answers to boring but critical questions: head sha still match what git has locally?You can answer these with gh , glab , tea , or REST calls, but each path has tradeoffs: Agents need a thin, opinionated layer that says: here are the forge facts, here's what you can trust in the envelope, here's what you must treat as untrusted prose. That layer is Remogram. Remogram reads your repo's .remogram.json https://github.com/attebury/remogram and speaks to your forge over HTTP APIs. You don't need to install official forge CLIs. Core read/plan commands include: remogram doctor --json remogram repo status --json remogram pr view --number 42 --json remogram pr checks --number 42 --json remogram merge plan --number 42 --json remogram refs compare --base main --head feature/x --json The same packets are available through MCP tools , so Cursor, Codex, and other MCP clients get identical JSON whether they call the CLI or the server. Every packet shares a trusted envelope : type , schema version , provider id , remote name , repo id , observed at , and ok . That consistency matters. An agent or orchestrator can gate on structure instead of parsing ad hoc CLI text. Remogram makes a few deliberate choices: Bounded ingest. Forge responses are capped default 8192 bytes and fields are selected explicitly, not dumped wholesale into agent context. Sanitized strings. Error messages and forge-sourced text go through structural sanitization; secrets like ghp , gho , and ghs tokens are redacted before they reach packets. Stale head detection. When you ask about a PR by number, Remogram compares the forge-reported head sha to what git resolves locally. If they diverge, you get ok: false with stale head . That's a signal to git fetch , not to merge. No workflow metadata in output. Remogram emits SCM/forge facts only. Goal branches, lanes, SDLC tasks, and proof semantics stay in external planning tools that consume Remogram, not inside Remogram itself. Multi-forge from one shape. github-api , gitlab-api , and gitea-api providers normalize into the same packet types, so tooling built on Remogram isn't locked to a single host. You get a stable contract instead of re-implementing forge adapters in every skill. Install the consumer skill, configure .remogram.json , run remogram doctor , and teach agents to read packets, not web UI prose. Gitea and self-managed GitLab are first-class. Remogram was dogfooded on a private Gitea integration branch before export to public GitHub main . If your forge isn't GitHub.com, you still get the same typed facts. merge plan exposes blockers , not just mergeability. "Clean merge" and "safe to merge" are different things; Remogram is explicit about which checks are pending, missing, or failed. That's the difference between an agent that can merge and one that should wait. API providers need a token env var GITHUB TOKEN , GITLAB TOKEN , GITEA TOKEN , not an interactive CLI login. That fits servers, sandboxes, and lane worktrees cleanly. Remogram is in 0.1.0-beta : read/plan commands are mature; writes starting with Gitea cr open are opt-in via write commands in config. Merge execute remains out of scope. Remogram informs decisions; humans and separate merge lanes still own the button. Install: npm install -g @remogram/cli@beta @remogram/mcp@beta Copy .remogram.json.example , run remogram doctor --json , and try remogram pr view on an open change request. For a safe sandbox, use the remogram-smoke https://gitlab.com/attebury/remogram-smoke fixture repos mirrored on GitHub, GitLab, and Gitea. Remogram is the forge boundary layer agents should talk to : small packets, explicit trust, multi-forge parity, so your planning workflow, review policy, and merge authority can sit above SCM facts instead of leaking into them.