{"slug": "introducing-beta-remogram-forge-facts-for-agents-without-the-workflow-baggage", "title": "Introducing *beta* Remogram: forge facts for agents, without the workflow baggage", "summary": "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.", "body_md": "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.\n\n** Remogram** is a generic SCM/forge boundary: a CLI and MCP server that turns GitHub, GitLab, and Gitea into\n\nRemogram 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.\n\nModern agent workflows need answers to boring but critical questions:\n\n`head_sha`\n\nstill match what git has locally?You can answer these with `gh`\n\n, `glab`\n\n, `tea`\n\n, or REST calls, but each path has tradeoffs:\n\nAgents 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.\n\nThat layer is Remogram.\n\nRemogram 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.\n\nCore read/plan commands include:\n\n```\nremogram doctor --json\nremogram repo status --json\nremogram pr view --number 42 --json\nremogram pr checks --number 42 --json\nremogram merge plan --number 42 --json\nremogram refs compare --base main --head feature/x --json\n```\n\nThe 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.\n\nEvery packet shares a **trusted envelope**: `type`\n\n, `schema_version`\n\n, `provider_id`\n\n, `remote_name`\n\n, `repo_id`\n\n, `observed_at`\n\n, and `ok`\n\n. That consistency matters. An agent (or orchestrator) can gate on structure instead of parsing ad hoc CLI text.\n\nRemogram makes a few deliberate choices:\n\n**Bounded ingest.** Forge responses are capped (default 8192 bytes) and fields are selected explicitly, not dumped wholesale into agent context.\n\n**Sanitized strings.** Error messages and forge-sourced text go through structural sanitization; secrets like `ghp_`\n\n, `gho_`\n\n, and `ghs_`\n\ntokens are redacted before they reach packets.\n\n**Stale head detection.** When you ask about a PR by number, Remogram compares the forge-reported `head_sha`\n\nto what git resolves locally. If they diverge, you get `ok: false`\n\nwith `stale_head`\n\n. That's a signal to `git fetch`\n\n, not to merge.\n\n**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.\n\n**Multi-forge from one shape.** `github-api`\n\n, `gitlab-api`\n\n, and `gitea-api`\n\nproviders normalize into the same packet types, so tooling built on Remogram isn't locked to a single host.\n\nYou get a **stable contract** instead of re-implementing forge adapters in every skill. Install the consumer skill, configure `.remogram.json`\n\n, run `remogram doctor`\n\n, and teach agents to read packets, not web UI prose.\n\nGitea and self-managed GitLab are first-class. Remogram was dogfooded on a private Gitea integration branch before export to public GitHub `main`\n\n. If your forge isn't GitHub.com, you still get the same typed facts.\n\n`merge plan`\n\nexposes **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.\n\nAPI providers need a token env var (`GITHUB_TOKEN`\n\n, `GITLAB_TOKEN`\n\n, `GITEA_TOKEN`\n\n), not an interactive CLI login. That fits servers, sandboxes, and lane worktrees cleanly.\n\nRemogram is in **0.1.0-beta**: read/plan commands are mature; writes (starting with Gitea `cr open`\n\n) are opt-in via `write_commands`\n\nin config. Merge execute remains out of scope. Remogram informs decisions; humans and separate merge lanes still own the button.\n\nInstall:\n\n```\nnpm install -g @remogram/cli@beta @remogram/mcp@beta\n```\n\nCopy `.remogram.json.example`\n\n, run `remogram doctor --json`\n\n, and try `remogram pr view`\n\non 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.\n\n**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.", "url": "https://wpnews.pro/news/introducing-beta-remogram-forge-facts-for-agents-without-the-workflow-baggage", "canonical_source": "https://dev.to/attebury/introducing-beta-remogram-forge-facts-for-agents-without-the-workflow-baggage-14em", "published_at": "2026-06-15 02:15:32+00:00", "updated_at": "2026-06-15 02:40:48.634057+00:00", "lang": "en", "topics": ["developer-tools", "ai-agents", "large-language-models", "ai-infrastructure"], "entities": ["Topogram", "Remogram", "GitHub", "GitLab", "Gitea", "Cursor", "Codex"], "alternates": {"html": "https://wpnews.pro/news/introducing-beta-remogram-forge-facts-for-agents-without-the-workflow-baggage", "markdown": "https://wpnews.pro/news/introducing-beta-remogram-forge-facts-for-agents-without-the-workflow-baggage.md", "text": "https://wpnews.pro/news/introducing-beta-remogram-forge-facts-for-agents-without-the-workflow-baggage.txt", "jsonld": "https://wpnews.pro/news/introducing-beta-remogram-forge-facts-for-agents-without-the-workflow-baggage.jsonld"}}