How ctxman compares
Two kinds of tools prepare code for language models. Context packers (Repomix, Gitingest, code2prompt, Aider's repo map) run on your machine and turn a repository into text a model can read. Code-context platforms (Sourcegraph, GitHub Copilot, Augment Code, Unblocked) index code on a server, often with tickets, chat and wikis, and serve it to their own assistant and to other agents over MCP.
ctxman is a context packer with the controls teams ask platforms for: token budgets, a policy file and an audit log, PR and history context, and an MCP server, all without an account or a server.
| ctxmanopen source, local | Repomixopen source | Gitingestopen source | code2promptopen source | Aider repo mapopen source | Sourcegraphenterprise | GitHub Copilotenterprise | Augment Codeenterprise | Unblockedenterprise | |
|---|---|---|---|---|---|---|---|---|---|
| Context | |||||||||
| Runs without an account or server | Yes | Yes | Yes | Yes | Yes | No* | No | No | No |
| Token counts you can see, per file | Yes | Yes | Partly or limited* | Partly or limited* | Partly or limited* | Not documented | Not documented | Not documented | Not documented |
| Token counts per function | Yes | No | Not documented | No | Not documented | Not documented | Not documented | Not documented | Not documented |
| Fit context into a token budget | Yes | Partly or limited* | No | No | Partly or limited* | Partly or limited | Not documented | Partly or limited | Partly or limited |
| Signatures-only view of the code | Yes | Yes | Not documented | Partly or limited* | Yes | Not documented | Not documented | Not documented | Not documented |
| Dependency or symbol graph | Yes | No | Not documented | Partly or limited* | Yes | Yes | Not documented | Partly or limited | Partly or limited |
| Pull-request context or review | Yes | Partly or limited* | Not documented | Yes | Not documented | Partly or limited | Yes | Yes | Yes |
| Commit history and decisions in context | Yes* | Yes | Not documented | Yes | Not documented | Yes* | Not documented | Not documented | Yes* |
| Tickets, chat and wiki as sources | No | No | Not documented | No | Not documented | Partly or limited | Yes | Yes | Yes |
| Ranked or semantic code search | Partly or limited* | Partly or limited* | Not documented | No | No | Partly or limited | Yes | Yes | Not documented |
| Secrets masked before export | Yes | Partly or limited* | Not documented | Not documented | Not documented | Not documented | Not documented | Not documented | Not documented |
| Several repositories at once | Partly or limited* | No | No | No | Not documented | Yes | Yes | Yes | Yes |
| Interfaces | |||||||||
| Command line | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
| MCP server for agents | Yes | Yes | Not documented | Yes | Not documented | Yes | Yes | Yes | Yes |
| Library or HTTP API | Yes | Yes | Yes | Yes | Partly or limited | Yes | Yes | Partly or limited | Yes |
| GitHub Action for CI | Yes | Yes | Not documented | Not documented | Not documented | Not documented | Not documented | Not documented | Not documented |
| Deployment and governance | |||||||||
| Include/exclude rules in the repository | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Partly or limited |
| Organisation-wide exclusion policy | Partly or limited* | No | No | No | No | Yes | Yes | Not documented | Partly or limited |
| Audit log of what was shared | Yes | No | No | No | No | Yes | Yes | Partly or limited | Yes |
| SSO, SCIM and roles | No* | No | No | No | No | Yes | Yes | Yes | Yes |
| Self-hosted or air-gapped | Yes | Yes | Yes | Yes | Yes | Yes | Partly or limited | Not documented | Yes |
| Open source | Yes | Yes | Yes | Yes | Yes | No | Partly or limited | No | No |
Yes · Partly or limited · No · Not documented · * hover for details
Notes on individual cells
- Sourcegraph — Runs without an account or server: Needs a Sourcegraph instance
- Gitingest — Token counts you can see, per file: Total count only
- code2prompt — Token counts you can see, per file: Its README calls the counts estimates
- Aider repo map — Token counts you can see, per file: /tokens shows the chat usage
- Repomix — Fit context into a token budget: --token-budget fails the run when over; it does not pick files
- Aider repo map — Fit context into a token budget: The repo map is trimmed to --map-tokens
- code2prompt — Signatures-only view of the code: --entity-map in a feature build
- code2prompt — Dependency or symbol graph: --entity-map lists entities, no graph
- Repomix — Pull-request context or review: --include-diffs adds working-tree and staged diffs
- ctxman — Commit history and decisions in context: ctxman why and ctxman pr mine commits, references, owners and ADRs
- Sourcegraph — Commit history and decisions in context: commit_search and diff_search MCP tools
- Unblocked — Commit history and decisions in context: Code, PRs and team discussions
- ctxman — Ranked or semantic code search: BM25 ranked search; embeddings through the optional
ctxman ask - Repomix — Ranked or semantic code search: grep over a packed output (MCP)
- Repomix — Secrets masked before export: Secretlint leaves suspicious files out instead of masking
- ctxman — Several repositories at once: --multi-repo over configured local repositories; no shared index
- ctxman — Organisation-wide exclusion policy: .ctxman/policy.json or CTXMAN_POLICY, enforced by the CLI, API and MCP server; not a barrier against a local user
- ctxman — SSO, SCIM and roles: No accounts: it runs on your machine
Sources and method
Open-source tools: their READMEs, CLI help and package registries. Enterprise products: official documentation and pricing pages. “Not documented” means we found no official source either way. Checked 2026-10-09; products change quickly.
- Repomix: github.com/yamadashy/repomix, raw.githubusercontent.com/yamadashy/repomix/main/README.md, registry.npmjs.org/repomix
- Gitingest: github.com/coderamp-labs/gitingest, raw.githubusercontent.com/coderamp-labs/gitingest/main/README.md, raw.githubusercontent.com/coderamp-labs/gitingest/main/src/gitingest/__main__.py, pypi.org/project/gitingest
- code2prompt: github.com/mufeedvh/code2prompt, raw.githubusercontent.com/mufeedvh/code2prompt/main/README.md, raw.githubusercontent.com/mufeedvh/code2prompt/main/crates/code2prompt/src/args.rs, crates.io/api/v1/crates/code2prompt
- Aider repo map: github.com/Aider-AI/aider, raw.githubusercontent.com/Aider-AI/aider/main/aider/website/docs/repomap.md, raw.githubusercontent.com/Aider-AI/aider/main/aider/website/docs/config/options.md, raw.githubusercontent.com/Aider-AI/aider/main/aider/website/docs/languages.md, raw.githubusercontent.com/Aider-AI/aider/main/aider/website/docs/usage/copypaste.md, raw.githubusercontent.com/Aider-AI/aider/main/aider/website/docs/scripting.md
- Sourcegraph: sourcegraph.com/docs/api/mcp, sourcegraph.com/docs, sourcegraph.com/docs/deep-search, sourcegraph.com/docs/context-filters, sourcegraph.com/docs/cody, sourcegraph.com/docs/cody/core-concepts/context
- GitHub Copilot: docs.github.com/en/copilot/concepts/context/repository-indexing, docs.github.com/en/copilot/concepts/context/spaces, docs.github.com/en/copilot/concepts/content-exclusion-for-github-copilot, docs.github.com/en/copilot/concepts/context/mcp, docs.github.com/en/copilot/concepts/models/bring-your-own-key, docs.github.com/en/enterprise-server@latest/copilot/copilot-on-ghes/about-copilot-on-ghes
- Augment Code: www.augmentcode.com/changelog/context-engine-mcp-in-ga, www.augmentcode.com/blog/context-engine-mcp-now-live, docs.augmentcode.com/setup-augment/workspace-indexing, docs.augmentcode.com/cli/rules, docs.augmentcode.com/codereview/overview, docs.augmentcode.com/codereview/enterprise-features
- Unblocked: getunblocked.com/context-engine, getunblocked.com/blog/data-shield, docs.getunblocked.com/team-settings/sso, getunblocked.com/ai-info, getunblocked.com/pricing, docs.getunblocked.com/billing/unblocked-plans
Where ctxman is different
- Token counts you can check. Every file and function has a count, for the encoding of the model you target, and
ctxman count --apigets Claude's exact count from Anthropic. None of the enterprise products we looked at documents user-visible token counts. - A budget, not a hope.
ctxman pack --budgetandctxman map --tokensfill a token budget with the highest-ranked files and functions and never exceed it;--max-tokensturns it into a CI check. - Why the code looks like this.
ctxman why file:functioncollects the commits, referenced issues, owners, co-changed files and design notes behind a function, from git and the repository. Platforms such as Unblocked do this with Slack, Jira and Confluence on their servers; ctxman stays on the machine and covers what git and the repository record. - Governance without a server. A policy file in the repository (or one set by the organisation with
CTXMAN_POLICY) denies paths, requires redaction and caps export size for the CLI, the API and the MCP server alike, and every export is written to an audit log.
What ctxman doesn't do
ctxman has no hosted index, no single sign-on or roles, and doesn't read tickets, chat or wikis. If you need answers across a whole organisation's repositories and discussions, with permissions enforced per user, a platform such as Sourcegraph or Unblocked is built for that, and ctxman can still prepare the context you send to it.
The table records what each product documents as of 2026-10-09. Corrections are welcome in [an issue](https://github.com/hakkisagdic/ctxman/issues/34).