You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Jam isn't a generic AI assistant. It's the senior dev who's seen everything — direct, opinionated, and warm. Every message, error, and prompt speaks with the same voice: concise, specific, developer-aligned.
36
-
37
-
- 🔍 **Call graph tracing** — trace any symbol's callers, callees, and upstream chain across languages
38
-
- 💥 **Impact analysis** — "if I change this, what breaks?" with column-level SQL dependency tracking
39
-
- 🤖 **Agentic execution** — `jam go` (interactive) and `jam run` (one-shot) decompose tasks into parallel subtasks
- 🔧 **Git toolkit** — `wtf` explains state, `undo` reverses mistakes, `standup` shows your work
44
-
- ✅ **Verification** — scan for secrets, lint, type-check before you commit
45
-
- 🧰 **19 zero-LLM utilities** — `ports`, `stats`, `deps`, `todo`, `hash`, `json`, `env`, and more
46
-
- 🔌 **Any provider** — Copilot, Gemini, Ollama, OpenAI, Anthropic, Groq — or bring your own
47
-
- 🏠 **Local-first** — your code never leaves your machine unless you choose a remote provider
48
-
- 🖥️ **Cross-platform** — Windows (PowerShell, cmd), macOS, Linux
49
-
- 🔗 **MCP + plugins** — connect to Model Context Protocol servers, drop in custom commands
50
-
51
-
---
52
-
53
-
## Install
31
+
You're about to drop the `legacy_id` column from `customer`. Your codebase has Java services, Python ETL jobs, raw SQL stored procs, and a TypeScript frontend. Your AI agent searches for the column name and finds 3 references. Are there really only 3? Or did the agent miss the JPA `@Column(name="legacy_id")` mapping, the MyBatis XML alias, the SQLAlchemy column class, and the stored procedure that joins on it?
54
32
55
33
```bash
56
-
# npm
57
-
npm install -g @sunilp-org/jam-cli
58
-
59
-
# Homebrew
60
-
brew tap sunilp/tap && brew install jam-cli
61
-
62
-
# Try without installing
63
-
npx @sunilp-org/jam-cli doctor
34
+
jam impact customer.legacy_id
64
35
```
65
36
66
-
Jam auto-detects the best available AI provider — **no API keys needed** if you have Copilot or Gemini:
67
-
68
-
| Priority | Provider | Setup |
69
-
|----------|----------|-------|
70
-
| 1 |**GitHub Copilot**| VSCode extension — zero config |
⚠ Risk: HIGH — 11 sites across 4 languages depend on this column.
111
54
```
112
55
113
-
### Code Intelligence
56
+
That's the value. Run it before the change, not after CI breaks.
114
57
115
-
```bash
116
-
# trace a function's call graph
117
-
jam trace createProvider
118
-
jam trace updateBalance --impact # what breaks if this changes?
119
-
jam trace handleRequest --mermaid # output as Mermaid diagram
120
-
jam trace PROC_PAYMENT --depth 8 # deeper upstream chain
121
-
122
-
# explain any file
123
-
jam explain src/auth/middleware.ts
58
+
## What jam does
124
59
125
-
# search with AI understanding
126
-
jam search "where is the rate limiter configured?"
60
+
-**`jam trace <symbol>`** — call graph in any direction (callers, callees, both) across languages
61
+
-**`jam impact <symbol>`** — what breaks if this symbol or column changes
62
+
-**`jam diagram`** — Mermaid diagrams for architecture or call flow
63
+
-**`jam search`** / **`jam deps`** — symbol search and dependency analysis
64
+
-**`jam mcp serve`***(Phase 2, coming)* — expose all of the above as an MCP server, so Claude Code, Cursor, Aider, and Goose can call into jam's polyglot intelligence
65
+
- Plus a handful of zero-LLM developer utilities: `ports`, `stats`, `hash`, `json`, `env`, `dup`, `http`, `todo`, `git wtf`, `git undo`, `git standup`, and more
127
66
128
-
# generate architecture diagram from code
129
-
jam diagram
130
-
```
67
+
## What jam is **not**
131
68
132
-
### Git Toolkit
69
+
- Not an AI coding agent. Use Claude Code, Cursor, or Aider for "write this feature."
70
+
- Not a chat tool. Use the official Anthropic, OpenAI, or Google CLIs for that.
71
+
- Not a generic terminal AI. jam answers one question well: *"if I change this, what breaks across my stack?"*
133
72
134
-
```bash
135
-
jam git wtf # "3 files staged, 2 conflicts, 1 stash. Here's what happened..."
136
-
jam git undo # undo last commit, last stash, or last merge
137
-
jam git standup # your commits from the last 3 days
138
-
jam git cleanup # preview and delete merged branches
139
-
jam git oops # fix common mistakes (wrong branch, bad commit message)
140
-
```
141
-
142
-
### Dev Utilities (zero LLM)
143
-
144
-
```bash
145
-
jam stats # LOC, languages, complexity hotspots
146
-
jam deps # import dependency graph
147
-
jam todo # find all TODO/FIXME/HACK comments
148
-
jam verify # pre-commit checks: secrets, lint, types
149
-
jam ports # what's listening on which port
150
-
jam env # environment variable diff between shells
151
-
jam hash<file># MD5/SHA1/SHA256 of any file
152
-
jam json <file># validate, format, query JSON
153
-
jam recent # recently modified files
154
-
jam convert 5kg lb # unit conversions
155
-
jam http GET /users # quick HTTP requests
156
-
jam pack # analyze npm/pip/cargo package size
157
-
```
158
-
159
-
### Patch & Review
73
+
## Install
160
74
161
75
```bash
162
-
# AI-powered diff summary
163
-
jam diff
164
-
165
-
# code review with risk assessment
166
-
jam review
167
-
168
-
# generate and apply a patch
169
-
jam patch "add error handling to the database module"
170
-
171
-
# auto-generate commit message matching your project's convention
172
-
jam commit
173
-
```
174
-
175
-
---
176
-
177
-
## VSCode Extension
178
-
179
-
[Install from Marketplace](https://marketplace.visualstudio.com/items?itemName=sunilp.jam-cli-vscode)
180
-
181
-
- All commands in the Command Palette
182
-
-`@jam` chat participant in GitHub Copilot Chat
183
-
- TODO tree in the sidebar with click-to-navigate
184
-
-**Copilot or Gemini** auto-detected — zero configuration, no API keys
-**v0.12.0** (current) — Sharp pivot from generic AI CLI to cross-language code intelligence. AI-assistant features (ask/chat/run/go and friends) archived to [`archive/ai-suite`](https://github.com/sunilp/jam-cli/tree/archive/ai-suite).
98
+
-**v0.13** (next) — `jam mcp serve` stdio MCP server. Plug jam into Claude Code / Cursor / Aider / Goose.
See [CONTRIBUTING.md](CONTRIBUTING.md). PRs welcome.
103
+
Those commands were removed in v0.12 — they competed with Claude Code without doing anything Claude Code doesn't already do better. The code lives on the [`archive/ai-suite`](https://github.com/sunilp/jam-cli/tree/archive/ai-suite) branch. A future release may revive AI features, but only ones that ride on top of the cross-language graph (impact-aware migration plans, PR-tailored impact summaries, etc.) — not generic chat.
0 commit comments