HubPublic

CLI-first

Keep agent handoff shell-native

rawctx assumes the host can already run commands. That keeps the package workflow portable across local shells, CI, notebooks, and command-running agents.

The contract is intentionally small: write LLM-ready text to stdout, emit typed JSON with --json when another step needs machine-readable output, and return stable exit codes when auth, validation, or cache state fails.

That choice keeps rawctx portable instead of binding it to one host-specific MCP or plugin surface. If a system can run a shell command, it can search, snapshot-download, diff, and compress meaning.

rawctx snapshot-download @pasar6987/stripe-subscriptions
rawctx to-prompt @pasar6987/stripe-subscriptions --datasets subscriptions --max-tokens 1200
CLI contract
stdout--jsonexit codessnapshot-download

Prefer shell output when the next tool in the chain already knows how to read text or JSON.

Why no MCP server

rawctx chose CLI-first as agent tool-count overhead started to outweigh the benefit of another bespoke integration surface. The command line is the stable boundary.

When to switch to Python

Use Python when you need typed package objects, async client flows, or notebook-native control. Keep CLI for glue steps and agent orchestration.