{"slug": "show-hn-repotruck-mirror-and-organize-github-repos-with-a-tui-and-mcp-server", "title": "Show HN: Repotruck – Mirror and organize GitHub repos with a TUI and MCP server", "summary": "A developer released Repotruck, an open-source tool that mirrors and organizes GitHub repositories through an interactive terminal UI and a Model Context Protocol (MCP) server on stdio. The MCP server exposes workspace tools to coding agents — listing and searching repositories, resolving owner/name or alias to an absolute path, reading AGENTS.md, and running sync, clone, create, move and reorganize — and can be added to Claude Code with `claude mcp add repotruck -- repotruck mcp`. Repotruck authenticates via the GitHub CLI's token, a cached device-flow token, or a device flow when REPOTRUCK_OAUTH_CLIENT_ID is set, and keeps tokens out of workspace files and .git/config by using a one-shot credential header and resetting the clone origin to the clean HTTPS URL.", "body_md": "The GitHub CLI is preferred: run `gh auth login` once and repotruck picks up its token. Without gh, repotruck falls back to a cached device-flow token, or starts a device flow when REPOTRUCK_OAUTH_CLIENT_ID is set (an OAuth App client ID; no callback URL needed).\n\nTokens are never written into workspace files or .git/config. Clones and pulls use a one-shot credential header, the clone origin is reset to the clean HTTPS URL immediately, and failures print the first error line with the token redacted.\n\nIt is a machine-readable map of the workspace for coding agents: metadata (preset, last sync, counts), the internal/community split with relative paths, and agent rules (independent Git projects, search exclusions, community repos are read-only). It is rewritten on every sync, clone, move and create.\n\nYes. `repotruck mcp` runs a Model Context Protocol server on stdio that exposes the workspace as agent tools: list and search repositories, resolve owner/name or alias to an absolute path, read AGENTS.md, and run sync, clone, create, move and reorganize. Add it to Claude Code with `claude mcp add repotruck -- repotruck mcp`, or to any MCP client's mcpServers config with command `npx` and args [\"-y\", \"repotruck\", \"mcp\"].\n\nNo. The preset affects new clones and creates only. To re-file existing repositories, run `repotruck reorganize <preset>` — preview it with --dry-run and spare manually placed repositories with --keep-custom.\n\nThe interactive dashboard needs Node.js >= 26.4 or Bun >= 1.3.14. The headless CLI commands run on Node.js >= 20. git must be on your PATH; the GitHub CLI is optional but is the easiest authentication path.", "url": "https://wpnews.pro/news/show-hn-repotruck-mirror-and-organize-github-repos-with-a-tui-and-mcp-server", "canonical_source": "https://sametcn99.github.io/repotruck/", "published_at": "2026-10-25 16:29:05+00:00", "updated_at": "2026-10-25 16:44:07.930695+00:00", "lang": "en", "topics": ["ai-agents", "agent-protocols", "developer-tools", "ai-tools"], "entities": ["Repotruck", "GitHub", "Model Context Protocol", "Claude Code", "Node.js", "Bun", "GitHub CLI"], "also_reported_by": [], "alternates": {"html": "https://wpnews.pro/news/show-hn-repotruck-mirror-and-organize-github-repos-with-a-tui-and-mcp-server", "markdown": "https://wpnews.pro/news/show-hn-repotruck-mirror-and-organize-github-repos-with-a-tui-and-mcp-server.md", "text": "https://wpnews.pro/news/show-hn-repotruck-mirror-and-organize-github-repos-with-a-tui-and-mcp-server.txt", "jsonld": "https://wpnews.pro/news/show-hn-repotruck-mirror-and-organize-github-repos-with-a-tui-and-mcp-server.jsonld"}}