Sprint 4 closed: GitHub Integration

Sprint 4 is closed.

The goal was to connect Meronq to GitHub as the first external engineering system — reading repository metadata, issues, and pull requests, then translating that data into CEM and local memory. GitHub is no longer a separate tab the AI ignores; it becomes part of project understanding.


What Sprint 4 delivered

Every item on the roadmap is checked off:

  • Repository metadata — stars, default branch, description, last push
  • Issues and pull requests — fetched via GitHub REST API
  • CEM translationissue:owner/repo#N and pull_request:owner/repo#N entities
  • Issue summaries — title, state, labels, author, excerpt
  • PR summaries — draft/merged state, base/head refs, excerpt
  • Doc draft — markdown from git log + GitHub snapshot

Local MCP is now v1.13.0 with github_sync, github_status, github_summarize, and github_doc_draft.


New package: @meronq/github

GitHub is the first external translator into CEM:

Module Role
fetchGitHubSnapshot() Repo + open issues + open PRs
appendGithubToCem() Merge GitHub entities into local CEM
buildProjectCem() Scan + optional GitHub fetch → full snapshot
summarizeIssue() / summarizePullRequest() Human-readable summaries
draftProjectDocumentation() Project update draft from git + GitHub

Auth uses GITHUB_TOKEN (Personal Access Token). SSH and GPG are not required for the API — only for git push.

Cache path: .meronq/local/github-snapshot.json


Pipeline: local scan + GitHub → memory

scanProject(root)
  └── indexToCemSnapshot()
        └── fetchGitHubSnapshot()     (github_sync)
              └── appendGithubToCem()
                    └── syncFromSnapshot()  →  memory.db

Handshake reads cached GitHub data when available and returns a github block (full_name, open_issues, fetched_at).

Example project properties after sync:

{
  "github": {
    "fullName": "Meronq-dev/meronq",
    "openIssues": 0,
    "defaultBranch": "main"
  }
}

MCP and CLI

meronq github sync
meronq github status
meronq github summarize issue 3
meronq github doc

MCP tools mirror the CLI. See GitHub integration guide for token setup.


Sprint cleanup

Three early GitHub issues (#1–#3) from Sprint 0 planning were closed as completed — foundation, ADR-0002 runtime decision, and scanner/indexing shipped in later sprints. The issue board now reflects actual project state.


Sprint 5 — MCP Server

Sprint 5 goal: expose Meronq capabilities through MCP as a product surface — not only local dogfooding.

Planned work:

  • Define MCP tool surface for apps/mcp-server
  • Expose handshake, memory search, and runtime tools
  • Add safety and permission model

GitHub data now lands in memory; Sprint 5 makes that intelligence available beyond the dev repo.


Follow along

Sprint 0 gave us a durable repository. Sprint 1 gave us a shared language. Sprint 2 connected that language to real projects. Sprint 3 made it stick. Sprint 4 connects the outside world.

← Back to blog