Releases: sunilp/jam-cli
Releases · sunilp/jam-cli
v0.8.3 — Fix: lazy init + doctor warnings
Bug Fixes
- Fix: all commands now work without explicit validateCredentials() — copilot adapter lazily initializes on first use
- Fix: jam doctor shows keytar and ripgrep as warnings [!] instead of failures [x] since they are optional
- Added Copilot CLI detection to jam doctor output
v0.8.1 — Copilot SDK Integration
What's New
Copilot Provider (works from any terminal)
- @github/copilot-sdk integration with full tool calling, streaming, model selection
- Smart dispatcher — tries SDK backend first, falls back to VSCode proxy
- Auth chain: config apiKey, GITHUB_TOKEN env, gh auth token, built-in detection
- Auto-detection when JAM_VSCODE_LM_PORT is set in VSCode terminal
Refactoring
- blockIfEmbedded renamed to blockIfNoToolSupport with dynamic provider name
- OpenAIAdapter fields changed to protected for subclassing
- Added optional dispose() to ProviderAdapter interface
- Added copilotAutoInstall config option
Tests
- 388 tests across 32 test files
v0.7.0
What's New in v0.7.0
jam git -- Git Productivity Toolkit
5 zero-LLM git commands for every developer:
jam git wtf-- Explains current repo state in plain English (detached HEAD, mid-rebase, conflicts, diverged branches, stashes)jam git undo-- Detects last git operation and shows the safe undo commandjam git cleanup-- Removes merged branches, prunes stale remote refsjam git standup-- Shows your commits across all branches for the last N daysjam git oops-- Quick reference for 10 common git mistakes with fixes
Enterprise Ready
- HTTP proxy support -- respects
HTTP_PROXY,HTTPS_PROXY,NO_PROXYenvironment variables - Custom CA certificates --
tlsCaPathin profile config for corporate SSL inspection - Configurable timeouts --
requestTimeoutMsoverrides the default 120s
Security Hardening
- Path traversal fix --
safePath()containment in read_file, write_file, list_dir prevents../../etc/passwdattacks - Symlink escape detection -- validates real path stays within workspace
- API key redaction -- logger always redacts
sk-ant-*,sk-*,gsk_*patterns - MCP schema validation -- rejects invalid property types, caps description length
- npm audit -- fixed critical simple-git RCE, high-severity flatted/minimatch/undici/tar vulnerabilities
Embedded Provider Graduated
- Removed "Experimental" label -- embedded is now a first-class provider
- Smart guardrails block complex commands (diff, review, commit, run, patch, verify) with helpful "use a bigger model" messages
- Simple Q&A (
ask --no-tools,explain) works great with SmolLM2
Other Improvements
- Tool parameter flexibility -- accepts both camelCase and snake_case from LLMs
- String-to-number coercion for small model compatibility
- Quota exhaustion vs rate limiting distinction (
PROVIDER_QUOTA_EXHAUSTED) - XML tool-call block sanitization in final answers
- 369 tests across 29 test files (up from 358)
- Website live at jam.sunilprakash.com
Full Changelog
v0.6.0
What's New in v0.6.0
Plugin System
- ESM plugin architecture with manifest-based discovery
- Enable/disable plugins via config (enabledPlugins, disabledPlugins)
- Conflict detection and non-fatal loading
- jam plugin list — view installed plugins with status
jam diagram
- Generate Mermaid architecture diagrams from static code analysis
- Supports architecture, deps, class, and flow diagram types
- Optional AI refinement (--no-ai for deterministic output)
- --json outputs raw ProjectAnalysis data
Shared Analyzers
- Refactored import graph logic into src/analyzers/ for reuse across deps and diagram commands
jam md2pdf
- Lightweight Markdown to PDF conversion using marked + pdfkit
- Supports headings, paragraphs, bold/italic/code, lists, code blocks, blockquotes, tables, links, and horizontal rules
- Three style presets: default, minimal, academic
v0.5.0
What's New
MCP (Model Context Protocol) Support
- Stdio transport client with JSON-RPC 2.0
- Per-server enable/disable, group-based activation
- Tool approval policies: auto/ask/deny per server
- Fine-grained allowedTools/deniedTools filtering
- Integrated into jam ask, jam chat, jam run
- jam mcp list with governance display
12 Zero-LLM Developer Utilities
No AI provider needed -- pure algorithmic tools:
- jam todo, jam ports, jam recent, jam stats
- jam hash, jam env, jam deps, jam dup
- jam json, jam convert, jam pack, jam http
Documentation
- 14 separate doc files in docs/
- Full examples for every command and feature
Full Changelog: v0.4.0...v0.5.0
v0.4.0
Full Changelog: v0.3.0...v0.4.0
v0.1.0-beta.1
First public beta 🎉
Install with:
npm install -g @sunilp-org/jam-cli@betaWhat's included
- 13 commands: ask, chat, run, explain, search, diff, patch, auth, config, models, history, completion, doctor
- Ollama provider with streaming support
- Agentic tool loop with permission enforcement (ask_every_time / allowlist / never)
- Layered config: global → repo → CLI flags, with named profiles
- Session history with XDG-compliant storage
- 103 passing tests across 11 test suites
Requirements
- Node.js 20+
- Ollama running locally
Full docs: https://github.com/sunilp/jam-cli#readme