Skip to content

Navigating Code

Rafael Fragoso edited this page Jun 8, 2026 · 2 revisions

Navigating Code

Where search finds things, show inspects them — full bodies, file outlines, and the dependency graph, all with exact, live line ranges.

A symbol

$ columbus show symbol parseConfig
1 definition(s) of "parseConfig"

1. parseConfig [function]  src/config.ts:4-6
   | export type Config = { port: number; host: string };
   |
   | // parseConfig reads raw env values into a typed Config.
   | export function parseConfig(env: Record<string, string>): Config {
   |   return { port: Number(env.PORT ?? 8080), host: env.HOST ?? "localhost" };
   | }

Narrow ambiguous names with --in <path>:

columbus show symbol Engine --in internal/search

A file

$ columbus show file src/server.ts
src/server.ts  [typescript, package , impl]

outline (4 symbols):
     3  class     Server
     4  method    Server.constructor
     5  method    Server.start
     8  function  newServer
imports: src/config.ts
imported by: src/index.ts

You get the language, role (impl/test/doc), a symbol outline with line numbers, and the import edges — a map of the file without opening it.

The dependency graph

$ columbus graphs
graph: 4 files, 0 external packages
edges: 2 import, 0 test, 0 external

top hubs (most imported):
    1  src/config.ts
    1  src/server.ts

4 file(s) without tests

index: fresh, last indexed 2026-06-07T12:31:18Z

As machine-readable nodes + edges:

$ columbus graphs --json
{"edges":[{"from":"src/index.ts","to":"src/server.ts","type":"import"},
          {"from":"src/server.ts","to":"src/config.ts","type":"import"}],
 "nodes":[{"id":"src/config.ts","kind":"file","role":"impl","language":"typescript","in_degree":1}, …],
 "freshness":{"indexed_head":"c3035af…","dirty":false,"stale":false}, "total":4, "ok":true}

Induce a subgraph

Narrow by role and location to focus the graph:

columbus graphs --role impl --in internal/store

"What work touches this?"

show file | symbol | memory also lists, in reverse, the epics and tasks that reference that entity — so you can see what work is attached to a piece of code. See Tracking Work: Epics & Tasks.

Other show targets

columbus show memory mem_001     # a durable memory
columbus show epic   epic_001    # epic fields, refs, history, child tasks
columbus show task   task_001    # task fields, refs, history

Related

Command: show · Searching Effectively

Clone this wiki locally