{"_id":"@advaitlakhera/jarvis","name":"@advaitlakhera/jarvis","dist-tags":{"latest":"0.2.0"},"versions":{"0.2.0":{"name":"@advaitlakhera/jarvis","version":"0.2.0","description":"A polished terminal coding agent with memory, safe workspace tools, and a jcode-compatible provider catalog.","license":"MIT","author":{"name":"advaitlakhera"},"type":"module","bin":{"jarvis":"dist/index.js"},"scripts":{"build":"tsc -p tsconfig.json","dev":"tsx src/index.ts","start":"node dist/index.js","check":"tsc --noEmit -p tsconfig.json","test":"node --test"},"publishConfig":{"access":"public"},"engines":{"node":">=20"},"dependencies":{"ink":"^5.2.1","ink-spinner":"^5.0.0","ink-text-input":"^6.0.0","react":"^18.3.1"},"devDependencies":{"@types/node":"^22.20.1","@types/react":"^18.3.31","tsx":"^4.23.12","typescript":"^5.9.3"},"gitHead":"39b0405346eed96eda64110868b6c73dc6e6c11a","_id":"@advaitlakhera/jarvis@0.2.0","_nodeVersion":"26.7.0","_npmVersion":"11.19.0","dist":{"integrity":"sha512-EqQOrHHlWpE0vISQhKHI1g+nqVRZHh/XdJ5cmKuuLpOlvleIuCM5wuHZbWCL5C+ms2nwgC4gq8UVW/EZT5KzeQ==","shasum":"642c92a8f7e654e09c2356cdbd3f7b14a1cc9c23","tarball":"https://registry.npmjs.org/@advaitlakhera/jarvis/-/jarvis-0.2.0.tgz","fileCount":30,"unpackedSize":105725,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDJo27v+JRtGL7zMciMy/Tzxlu43ChXbaOaH3u5dp47ugIhAMPKCBkDms3IXRjf3iOtMqDK4iASF9v0SocMT2kWH1QS"}]},"_npmUser":{"name":"advaitlakhera","email":"advaitlakhera@gmail.com"},"directories":{},"maintainers":[{"name":"advaitlakhera","email":"advaitlakhera@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/jarvis_0.2.0_1787929227609_0.5423664733091629"},"_hasShrinkwrap":false}},"time":{"created":"2026-08-28T15:00:27.385Z","0.2.0":"2026-08-28T15:00:27.774Z","modified":"2026-08-28T15:00:27.938Z"},"maintainers":[{"name":"advaitlakhera","email":"advaitlakhera@gmail.com"}],"description":"A polished terminal coding agent with memory, safe workspace tools, and a jcode-compatible provider catalog.","author":{"name":"advaitlakhera"},"license":"MIT","readme":"# Jarvis\n\n**A polished terminal coding cockpit for `@advaitlakhera/jarvis`.**\n\nJarvis is a workspace-safe coding agent with a fast TypeScript/Node.js CLI, a\npanel-style Ink TUI, durable local memory, explicit shell approvals, unified\ndiff output, and a broad provider catalog inspired by [jcode](https://github.com/1jehuang/jcode).\n\n## Install\n\n```bash\nnpm install -g @advaitlakhera/jarvis\njarvis\n```\n\nOr run without installing:\n\n```bash\nnpx @advaitlakhera/jarvis\n```\n\nThe package requires Node.js 20 or newer. This repository can also be developed\nlocally with:\n\n```bash\nnpm install\nnpm run build\nnpm test\n```\n\n## Start coding\n\n```bash\njarvis                              # interactive TUI\njarvis -p \"fix the failing tests\"   # one-shot mode\njarvis -p \"run the test suite\" -y   # auto-approve shell commands\njarvis --workspace ~/src/my-app\njarvis --provider ollama --model qwen3-coder\n```\n\nThe TUI has a compact status header, readable transcript panels, a live\nthinking state, inline shell approvals, bounded tool output, and keyboard\nshortcuts:\n\n| Shortcut / command | Action |\n| --- | --- |\n| `/help` | Show all commands |\n| `/providers` | List every provider profile |\n| `/models` | List models for the active provider |\n| `/provider openrouter` | Switch provider and persist the choice |\n| `/model openrouter/openai/gpt-4.1` | Switch model, including qualified ids |\n| `/level lite\\|full\\|ultra\\|off` | Change the ponytail guidance level |\n| `/remember name \\| fact` | Save a durable local project fact |\n| `/memory` | Inspect saved memory |\n| `ctrl+l` | Clear the transcript |\n| `ctrl+c` | Exit |\n\n## Providers and models\n\nJarvis includes profiles for:\n\n**OpenCode Zen, OpenCode Go, OpenRouter, OrcaRouter, DeepSeek, Z.ai, Kimi,\nMoonshot AI, 302.AI, Fireworks, MiniMax, Meta Muse, Alibaba Coding Plan,\nGoogle Gemini, Azure OpenAI, GitHub Copilot, LM Studio, Ollama, Nebius,\nScaleway, STACKIT, Baseten, Cortecs, Hugging Face, Firmware, OpenAI/Codex,\nClaude, and custom OpenAI-compatible endpoints.**\n\nSee the live catalog with:\n\n```bash\njarvis providers\njarvis models openrouter\n```\n\nProfiles use the standard endpoint protocol and read API keys from environment\nvariables or Replit Secrets. Jarvis never writes secrets into its config file.\nOAuth login flows are intentionally not faked; for subscription providers,\nprovide a compatible token or use the provider's supported environment setup.\n\nThe default profile is OpenCode Zen:\n\n```bash\nexport JARVIS_API_KEY=\"...\"\nexport JARVIS_PROVIDER=opencode\nexport JARVIS_MODEL=hy3-free\njarvis\n```\n\nOther common examples:\n\n```bash\nexport OPENAI_API_KEY=\"...\"\njarvis --provider openai --model gpt-4.1\n\nexport ANTHROPIC_API_KEY=\"...\"\njarvis --provider claude --model claude-sonnet-4\n\njarvis --provider ollama --model qwen3-coder\njarvis --provider lmstudio --model local-model\n```\n\nAdditional settings:\n\n```bash\nJARVIS_REQUEST_TIMEOUT=120000\nJARVIS_MAX_TOKENS=8192\nJARVIS_CONFIG=~/.jarvis/config.json\nJARVIS_MEMORY=~/.jarvis/memory.json\nJARVIS_AZURE_ENDPOINT=https://resource.openai.azure.com/...\n```\n\n`jarvis config` prints the configuration overview. `/provider` and `/model`\nchoices are saved in `~/.jarvis/config.json`; API keys are never saved there.\n\n## Safety and tools\n\nThe agent can list files, read files, write files, make unique-anchor edits, run\nshell commands, and save memory. Every path is resolved against the selected\nworkspace and rejected if it escapes. Shell commands are denied by default\nuntil approved in the TUI; use `-y` only for trusted, self-contained tasks.\n\n## Package publishing\n\nThe package is configured for public npm publishing under the requested scope:\n\n```bash\nnpm run build\nnpm publish --access public\n```\n\nPublishing requires an npm login or automation token in the publishing\nenvironment. It is not performed automatically by the development workflow.\n\n## Existing Python import\n\nThe original Python/Textual implementation remains in `jarvis/` and its\noffline test suite remains available as a migration reference. The root npm\npackage and `jarvis` binary are now the primary implementation.","readmeFilename":"README.md","_rev":"1-d8d2e752da6a9c761a9c8f374c4b94e8"}