cd /news/developer-tools/introducing-beta-remogram-forge-fact… · home topics developer-tools article
[ARTICLE · art-27436] src=dev.to ↗ pub= topic=developer-tools verified=true sentiment=↑ positive

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.

read4 min publishedJun 15, 2026

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, 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 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 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.

── more in #developer-tools 4 stories · sorted by recency
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain — perfect for shipping the agent you just read about.

$git push zahid main
Live at https://your-agent.zahid.host
Get free account → Pricing
from €0/mo · no card required
LIVE [news/introducing-beta-rem…] indexed:0 read:4min 2026-06-15 ·