Skip to content

Releases: sunilp/jam-cli

v0.8.3 — Fix: lazy init + doctor warnings

17 Mar 17:49

Choose a tag to compare

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

17 Mar 17:30

Choose a tag to compare

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

17 Mar 03:22

Choose a tag to compare

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 command
  • jam git cleanup -- Removes merged branches, prunes stale remote refs
  • jam git standup -- Shows your commits across all branches for the last N days
  • jam git oops -- Quick reference for 10 common git mistakes with fixes

Enterprise Ready

  • HTTP proxy support -- respects HTTP_PROXY, HTTPS_PROXY, NO_PROXY environment variables
  • Custom CA certificates -- tlsCaPath in profile config for corporate SSL inspection
  • Configurable timeouts -- requestTimeoutMs overrides the default 120s

Security Hardening

  • Path traversal fix -- safePath() containment in read_file, write_file, list_dir prevents ../../etc/passwd attacks
  • 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...v0.7.0

v0.6.0

13 Mar 08:56

Choose a tag to compare

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

10 Mar 17:20

Choose a tag to compare

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

09 Mar 17:39

Choose a tag to compare

Full Changelog: v0.3.0...v0.4.0

v0.1.0-beta.1

22 Feb 08:05

Choose a tag to compare

v0.1.0-beta.1 Pre-release
Pre-release

First public beta 🎉

Install with:

npm install -g @sunilp-org/jam-cli@beta

What'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