Context Runtime

Hosted MCP server for facilitating access to personal <> industry context.

year
2024–26

Getting stuff done is a function of how little friction I have between having the problem that needs to be solved articulated in my head and expressing that articulation to the model, with the necessary context, for it to start working on the problem. That's what work means. … I want to reduce friction quite a lot for that process, for myself and for others. edited

I’ll have been working steadily on this for two years next weekend

image

it was at first my tool to facilitate Cursor-esque interactions in the terminal

which I needed because I didn’t like cursor and so just did a lot of copypasting back and forth between simple text editor & chatgpt edited

and then it evolved as I used it more → the meta shifted

iMessage

Terminal

contextualize⁠ delivers strings for git/filesystem refs + external sources⁠ to clipboard /+ stdout.

contextualize⁠ was originally named for the act of fetching context for pasting into context edited

which yeah is now handled largely by the model

so the contextualize library/CLI facilitates that now, by preparing (fetching/formatting) context for that purpose

iMessage
$ contextualize map src/contextualize/\
references/address.py

src/contextualize/references/address.py:
⋮
│_CLOCK_TIME_RE = re.compile(
│    r"^(?:(?P<hours>\d{1,2}):(?P<h_minutes>[0-5]\d)|"
│    r"(?P<minutes>(?:\d{1,2}|[1-9]\d{2,})))"
│    r":(?P<seconds>[0-5]\d(?:\.\d+)?)$"
⋮
│@dataclass(frozen=True)
│class MarkAddress:
│    base: str
⋮
│    def as_span(self) -> dict[str, Any]:
⋮
│def parse_clock_time(text: str) -> float | None:
⋮
│def parse_time_range(text: str) -> tuple[float, float | None] | None:
⋮
│def split_mark_address(target: str) -> tuple[str, MarkAddress | None]:
⋮
│def format_clock_time(seconds: float) -> str:
⋮

$ contextualize --count cat README.md \
    src/contextualize/references/address.py
Total: 1195 tokens (cl100k_base).