cli-jaw
Health Gecti
- License Γ’β¬β License: MIT
- Description Γ’β¬β Repository has a description
- Active repo Γ’β¬β Last push 0 days ago
- Community trust Γ’β¬β 61 GitHub stars
Code Basarisiz
- process.env Γ’β¬β Environment variable access in bin/cli-jaw.ts
- network request Γ’β¬β Outbound network request in bin/commands/browser.ts
- spawnSync Γ’β¬β Synchronous process spawning in bin/commands/chat.ts
- process.env Γ’β¬β Environment variable access in bin/commands/chat.ts
- network request Γ’β¬β Outbound network request in bin/commands/chat.ts
- execSync Γ’β¬β Synchronous shell command execution in bin/commands/clone.ts
- os.homedir Γ’β¬β User home directory access in bin/commands/clone.ts
- process.env Γ’β¬β Environment variable access in bin/commands/clone.ts
- execSync Γ’β¬β Synchronous shell command execution in bin/commands/doctor.ts
- fs.rmSync Γ’β¬β Destructive file system operation in bin/commands/doctor.ts
- os.homedir Γ’β¬β User home directory access in bin/commands/doctor.ts
- process.env Γ’β¬β Environment variable access in bin/commands/doctor.ts
- process.env Γ’β¬β Environment variable access in bin/commands/employee.ts
- network request Γ’β¬β Outbound network request in bin/commands/employee.ts
- execSync Γ’β¬β Synchronous shell command execution in bin/commands/launchd.ts
- process.env Γ’β¬β Environment variable access in bin/commands/launchd.ts
- execSync Γ’β¬β Synchronous shell command execution in bin/commands/mcp.ts
- exec() Γ’β¬β Shell command execution in bin/commands/mcp.ts
Permissions Gecti
- Permissions Γ’β¬β No dangerous permissions requested
This tool is a personal AI assistant and MCP server that acts as a unified interface for five major AI engines (Claude, Codex, Gemini, OpenCode, Copilot), bundling 108 distinct skills into a single command-line interface.
Security Assessment
Overall Risk: High. The application heavily modifies the system and accesses sensitive data to achieve its functionality. It frequently executes synchronous shell commands (`execSync`, `spawnSync`) across multiple modules, including chat, clone, doctor, launchd, and MCP configurations. The `doctor` command performs destructive file system operations (`fs.rmSync`), while the `clone` and `doctor` commands explicitly access the user's home directory. Additionally, outbound network requests are made in the chat, browser, and employee modules. While no hardcoded secrets were detected, the tool accesses system environment variables extensively. Because it relies heavily on executing system commands blindly, the overall security risk is elevated, especially if deployed outside a sandboxed environment.
Quality Assessment
Overall Quality: High. The project appears to be highly maintained and professionally structured. It utilizes strict TypeScript, is compatible with Docker for safe isolation, and claims an impressive automated test suite with 888 passing tests. It is licensed under the permissive MIT license. With active development (last pushed 0 days ago) and 61 GitHub stars, it demonstrates a solid baseline of community trust and ongoing engagement.
Verdict
Use with caution. While the project is well-coded and actively maintained, developers should run this tool inside an isolated environment like Docker due to its aggressive use of system shell executions and destructive file operations.
π¦ 2-line install personal AI assistant. 5 engines (Claude, Codex, Gemini, OpenCode, Copilot), 108 skills, zero ban risk.
π¦ CLI-JAW
Your Personal AI Assistant β Powered by 5 AI Engines
One assistant. Five brains. Always on.
Quick Links
- Install & Run Β· Authenticate Β· What is CLI-JAW?
- Features Β· Skills Β· Telegram Β· Voice & STT
- PABCD Orchestration Β· MCP Β· CLI Commands
- Multi-Instance Β· Models Β· Docker
- Development Β· Tests Β· Docs Β· Troubleshooting Β· Contributing
Step 1: Install WSL (PowerShell as Admin β one time only)
wsl --install
Restart your computer when prompted. After reboot, open Ubuntu from the Start Menu.
Step 2: Install CLI-JAW (in the Ubuntu/WSL terminal)
curl -fsSL https://raw.githubusercontent.com/lidge-jun/cli-jaw/master/scripts/install-wsl.sh | bash
The script automatically installs prerequisites (curl, unzip, git), Node.js 22+, and CLI-JAW.
Step 3: Reload your shell (important β picks up PATH changes)
source ~/.bashrc
Step 4: Authenticate an AI Engine (pick one)
copilot login # GitHub Copilot (Free)
opencode # OpenCode (Free models available)
claude auth # Anthropic Claude
codex login # OpenAI Codex
gemini # Google Gemini
Step 5: Start Chatting
jaw serve
# β http://localhost:3457
π§ Troubleshooting WSLπ‘ The script uses fnm for Node.js management. If you already have
nvm, it will use that instead.
| Problem | Fix |
|---|---|
unzip: command not found |
Rerun the installer β it now auto-installs unzip |
jaw: command not found after install |
Run source ~/.bashrc to reload PATH |
Still can't find jaw |
Run export PATH="$(npm config get prefix)/bin:$PATH" |
Permission errors with npm install -g |
Run sudo chown -R $USER $(npm config get prefix) |
Step 1: Open Terminal
Open Finder β Applications β Utilities β Terminal.app
(or press β Space and type Terminal)
Step 2: Paste this and hit Enter
curl -fsSL https://raw.githubusercontent.com/lidge-jun/cli-jaw/master/scripts/install.sh | bash
This installs Node.js + CLI-JAW automatically. Just wait until you see π.
Step 3: Login & Launch
copilot login # or: claude auth / codex login / gemini login
jaw serve
Open http://localhost:3457 in your browser. That's it! π¦
π Install & Run (30 seconds)
npm install -g cli-jaw
jaw serve
That's it. Open http://localhost:3457 and start chatting. π¦
π Want it running 24/7?
jaw service installβ auto-detects systemd, launchd, or Docker.
Requires Node.js β₯ 22 (download) and at least 1 AI CLI authenticated below.
π Shared path policy: cli-jaw uses
~/.cli-jaw/*by default. It does not modify shared harness paths (~/.agents/*,~/.agent/*,~/.claude/*) unless you explicitly opt in. Seejaw doctor --repair-shared-pathsto detect or fix contamination from older versions.
π Authenticate Your AI Engines
You only need one β pick whichever you have:
# ββ Free options ββ
copilot login # GitHub Copilot (free tier)
opencode # OpenCode β auto-auth on first run (free models available)
# ββ Paid options ββ
claude auth # Anthropic Claude
codex login # OpenAI Codex
gemini # Google Gemini β first run triggers auth
Check what's ready: jaw doctor
jaw doctor output
π¦ CLI-JAW Doctor β 12 checks
β
Node.js v22.15.0
β
npm v10.9.4
β
Claude CLI installed
β
Codex CLI installed
β οΈ Gemini CLI not found (optional)
β
OpenCode CLI installed
β
Copilot CLI installed
β
Database jaw.db OK
β
Skills 22 active, 94 reference
β
MCP 3 servers configured
β
Memory MEMORY.md exists
β
Server port 3457 available
π‘ You don't need all 5. Even one CLI is enough. Your assistant auto-detects which engines are available and falls back gracefully.
What is CLI-JAW?
CLI-JAW is a personal AI assistant that lives on your machine and works from the interfaces you already use β Web, Terminal, Telegram, and Discord. Ask it anything, delegate tasks, automate your workflows.
π¬ "Summarize today's schedule" β answer on Telegram
π¬ "Refactor this module and write tests" β sub-agents handle it while you grab coffee
π¬ "Download that PDF and put the key points in Notion" β browser + Notion skill, done
Unlike single-model assistants, CLI-JAW orchestrates 5 AI engines (Claude, Codex, Gemini, OpenCode, Copilot) through their official CLIs β giving you the best of every provider in one unified experience. If one engine is busy, it automatically falls back to the next. 116 built-in skills handle everything from browser automation to document generation.
| Why CLI-JAW? | |
|---|---|
| π‘οΈTOS-Safe | Uses official CLIs only β no API key scraping, no reverse engineering, no ban risk. |
| π€Verified Agent Tools | 5 battle-tested coding agents (Claude, Codex, Gemini, OpenCode, Copilot) under one roof. |
| β‘Multi-Agent Fallback | One engine down? The next picks up automatically. Zero downtime. |
| πPABCD Orchestration | DB-persisted FSM pipeline β Plan β Audit β Build β Check β Done. Workers are read-only. You approve every phase. |
| π¦116 Built-in Skills | Browser automation, document generation, Telegram/Discord, memory β ready out of the box. |
| π₯οΈCross-Platform | macOS, Linux, Windows β ENOENT-safe CLI spawn, auto-detection,.cmd shim support, and native install all work across platforms. |

π What's New (v1.4.0)
| Feature | Description |
|---|---|
| π§ Advanced Memory | 5-tier hierarchical storage (Profile, Episodes, Semantic, Procedures, Sessions). Hybrid retrieval: FTS5 + semantic search with query expansion. Gemini Flash-Lite powered embeddings. Full UI ops dashboard with reindex/audit controls. |
| π¨ Modular Dev Skills | dev-frontend (1,428 lines, 13 files) and dev-backend (1,275 lines, 9 files) expanded from single SKILL.md into modular structures with core references (aesthetics, anti-slop, security, architecture) and stack-specific guides (React, Next.js, Node, Python, PostgreSQL). |
| π Office Suite Expansion | HWP (Korean word processor) support added. Enhanced PPTX generation. 21 active skills (up from 18). |
| β‘ ACP Progress Heartbeat | Real-time stderr_activity events during long agent runs. Conditional heartbeat scheduling with UI modal controls. |
| π Skill Reset | jaw skill reset with --soft (reload) and --hard (full reinstall) modes. workingDir auto-correction when JAW_HOME differs from settings.json. |
| π¬ Video Skill | Remotion-based programmatic video rendering from JSON timeline definitions. TTS integration with per-cut narration sync. |
| π 1M Context Toggle | Enable/disable 1M token context window with config.toml injection for supported models. |
| π Preview Releases | Automated preview release pipeline with timestamped versions (v1.4.0-preview.YYYYMMDD). GitHub prerelease integration. |
What can your assistant do?
graph LR
YOU["π€ You"] -->|Web / Terminal / Telegram| JAW["π¦ CLI-JAW"]
JAW -->|spawn| C["Claude"]
JAW -->|spawn| X["Codex"]
JAW -->|spawn| G["Gemini"]
JAW -->|spawn| O["OpenCode"]
JAW -->|spawn| P["Copilot"]
JAW -->|inject| SK["π¦ Skills"]
JAW -->|control| BR["π Chrome"]
JAW -->|send| TG["π± Telegram"]
style JAW fill:#f5e6d3,stroke:#d4a574,stroke-width:2px,color:#5c4033
- π€ 5 AI engines, 1 assistant β Claude Β· Codex Β· Gemini Β· OpenCode Β· Copilot. Switch with
/cli. - β‘ Auto fallback β If one engine is down, the next picks up seamlessly.
- π Multi-agent orchestration β Complex tasks get split across specialized sub-agents automatically.
- π€ Voice input β Mic button on the web + Telegram voice messages. Multi-provider STT (OpenAI, Vertex AI).
- π Prompt templates β Create, manage, and reuse prompt templates with a visual node-map editor.
- π¦ 116 skills β Browser control, file editing, image generation, web search, and much more.
- π§ Persistent memory β Your assistant remembers past conversations and preferences across sessions.
- π± Telegram bot β Chat with your assistant from your phone, send voice/photos/files.
- π Browser automation β Your assistant can navigate the web, click, type, and screenshot.
- π MCP ecosystem β Install once, available to all 5 AI engines instantly.
- π Web search β Real-time information via MCP tools.
- β° Heartbeat jobs β Schedule recurring tasks that run automatically.
π¦ Skill System
116 skills out of the box β browser, github, notion, telegram, memory, pdf, image generation, and much more.
View all skills| Tier | Count | How it works |
|---|---|---|
| Active Skills | 22 | Auto-injected into every AI prompt. Always available. |
| Reference Skills | 94 | AI reads them on-demand when you ask for a relevant task. |
Active Skills (always on)
| Skill | What it does |
|---|---|
browser |
Chrome automation β snapshot, click, navigate, screenshot |
github |
Issues, PRs, CI, code review via gh CLI |
notion |
Create/manage Notion pages and databases |
memory |
Persistent long-term memory across sessions |
telegram-send |
Send photos, documents, voice messages to Telegram |
vision-click |
Screenshot β AI finds coordinates β clicks (one command) |
pdf / pdf-expert / docx / xlsx / pptx / hwp |
Read, create, edit office & PDF documents (incl. Korean HWP) |
screen-capture |
macOS screenshot and camera capture |
video |
Remotion-based programmatic video rendering from JSON |
dev / dev-frontend / dev-backend / dev-data / dev-testing |
Development guidelines for sub-agents |
dev-pabcd / dev-scaffolding / dev-code-reviewer |
Orchestration, scaffolding, and code review guides |
Reference Skills (on-demand)
94 more skills ready to use β imagegen, openai-docs, spotify, weather, deep-research, tts, video-downloader, apple-reminders, 1password, terraform, postgres, jupyter-notebook, sentry, whatsapp, and more.
jaw skill install <name> # Activate a reference skill permanently
π± Telegram β Your Assistant in Your Pocket
Your assistant isn't tied to your desk. Chat from anywhere via Telegram:
π± Telegram ββ π¦ CLI-JAW ββ π€ AI Engines
π Telegram setup (3 steps)
- Create a bot β Message @BotFather β
/newbotβ copy the token - Configure β Run
jaw init --telegram-token YOUR_TOKENor edit settings in the Web UI - Start chatting β Send any message to your bot. Your chat ID is auto-saved on first message.
What you can do from Telegram:
- π¬ Chat with your assistant (any of 5 AI engines)
- π€ Send voice messages (auto-transcribed via multi-provider STT)
- π Send files and photos for processing
- ποΈ Combine voice + text + attachments in a single message
- β‘ Run commands (
/cli,/model,/status) - π Switch AI engines on the fly
What your assistant sends back:
- AI responses with markdown formatting
- Generated images, PDFs, documents
- Scheduled task results (heartbeat jobs)
- Browser screenshots
π€ Voice & STT β Speech-to-Text
CLI-JAW supports voice input across all interfaces with multi-provider STT:
| Provider | How to enable |
|---|---|
| OpenAI-compatible | Settings UI β STT β OpenAI endpoint + API key |
| Google Vertex AI | Settings UI β STT β Vertex AI credentials |
| Custom endpoint | Any OpenAI-compatible STT API URL |
Where you can use voice:
- π Web UI β Click the mic button to record and transcribe in real-time
- π± Telegram β Send voice messages; auto-transcribed before reaching the AI
- ποΈ Multimodal β Combine voice + text + file attachments in a single message
All STT settings (provider, API keys, language) are managed in the Settings UI β no config files to edit.
π Multi-Agent Orchestration β PABCD
For complex tasks, CLI-JAW uses PABCD β a finite state machine that enforces a strict 5-phase pipeline:
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β P A B C D β
β Plan β Audit β Build β Check β Done β
β π π π¨ β
π β
β β β β
β βββ reject βββββ reject (self-heal loop) β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
| Phase | Name | What happens |
|---|---|---|
| P | Plan | Boss AI writes a diff-level implementation plan. Stops and waits for your approval. |
| A | Audit | A read-only worker verifies the plan is feasible β imports resolve, signatures match, no integration risks. |
| B | Build | Boss implements the code directly. A read-only worker verifies the result. Self-heals on failure. |
| C | Check | Final verification β tsc --noEmit, docs update, consistency check. |
| D | Done | Summary of all changes. State returns to IDLE. |
Key design decisions:
- DB-persisted FSM β state survives server restarts, CLI and Web UI share the same state
- Hard STOP at every phase β the AI cannot self-advance; you approve each transition
- Workers are READ-ONLY β audit and verify phases can never accidentally modify files
- Parallel-safe β independent subtasks run concurrently via
Promise.allwith file-overlap detection
graph TD
USER["π€ Your Request"] --> TRIAGE["π Triage β Simple or Complex?"]
TRIAGE -->|Simple| DIRECT["β‘ Direct Response"]
TRIAGE -->|Complex| P["π P: Plan"]
P -->|approved| A["π A: Audit"]
A -->|pass| B["π¨ B: Build"]
A -->|fail| P
B -->|verified| C["β
C: Check"]
B -->|needs fix| B
C --> D["π D: Done"]
D --> IDLE["π€ IDLE"]
style USER fill:#f5e6d3,stroke:#d4a574,stroke-width:2px,color:#5c4033
style P fill:#fdf2e9,stroke:#d4a574,color:#5c4033
style A fill:#fdf2e9,stroke:#d4a574,color:#5c4033
style B fill:#f5e6d3,stroke:#d4a574,stroke-width:2px,color:#5c4033
style C fill:#f5e6d3,stroke:#d4a574,stroke-width:2px,color:#5c4033
style D fill:#f5e6d3,stroke:#d4a574,stroke-width:2px,color:#5c4033
Activate manually with jaw orchestrate or let the assistant decide automatically. The Web UI shows a live roadmap bar with phase indicators and a π¦ runner animation.

π MCP β One Config, Six AI Engines
jaw mcp install @anthropic/context7 # Install once
# β Automatically syncs to Claude, Codex, Gemini, OpenCode, Copilot, Antigravity
graph LR
MJ["π mcp.json"] -->|auto-sync| CL["Claude"]
MJ -->|auto-sync| CX["Codex"]
MJ -->|auto-sync| GM["Gemini"]
MJ -->|auto-sync| OC["OpenCode"]
MJ -->|auto-sync| CP["Copilot"]
MJ -->|auto-sync| AG["Antigravity"]
style MJ fill:#f5e6d3,stroke:#d4a574,stroke-width:2px,color:#5c4033
No more editing 5 different config files. Install once β all AI engines get it.
β¨οΈ CLI Commands
jaw serve # Start server
jaw service install # Auto-start on boot (systemd/launchd/docker auto-detected)
jaw service status # Check daemon status
jaw service unset # Remove auto-start
jaw service logs # View service logs
jaw chat # Terminal TUI
jaw doctor # Diagnostics (12 checks)
jaw skill install <name> # Install a skill
jaw mcp install <package> # Install MCP β syncs to all 6 CLIs
jaw memory search <query> # Search memory
jaw browser start # Launch Chrome (CDP)
jaw browser vision-click "Login" # AI-powered click
jaw clone ~/my-project # Clone instance for a separate project
jaw --home ~/my-project serve --port 3458 # Run a second instance
jaw reset # Full reset
ποΈ Multi-Instance β Separate Projects, Separate Contexts
Run multiple isolated instances of CLI-JAW β each with its own settings, memory, skills, and database.
# Clone your default instance to a new project
jaw clone ~/my-project
# Run it on a different port
jaw --home ~/my-project serve --port 3458
# Or auto-start both on boot
jaw service # default β port 3457 (auto-detect backend)
jaw --home ~/my-project service --port 3458 # project β port 3458
Each instance is fully independent β different working directory, different memory, different MCP config. Perfect for separating work/personal contexts or per-project AI setups.
| Flag / Env | What it does |
|---|---|
--home <path> |
Use a custom home directory for this run |
--home=<path> |
Same, with = syntax |
CLI_JAW_HOME=<path> |
Set via environment variable |
jaw clone <target> |
Clone current instance to a new directory |
--port <port> |
Custom port for serve / service |
π€ Models
Each CLI comes with preconfigured presets, but you can type any model ID directly.
View all presets| CLI | Default | Notable Models |
|---|---|---|
| Claude | claude-sonnet-4-6 |
opus-4-6, haiku-4-5, extended thinking variants |
| Codex | gpt-5.3-codex |
spark, 5.2, 5.1-max, 5.1-mini |
| Gemini | gemini-2.5-pro |
3.0-pro-preview, 3-flash-preview, 2.5-flash |
| OpenCode | claude-opus-4-6-thinking |
π big-pickle, GLM-5, MiniMax, Kimi, GPT-5-Nano |
| Copilot | gpt-4.1 π |
π gpt-5-mini, claude-sonnet-4.6, opus-4.6 |
π§ To add models: edit
src/cli/registry.tsβ one file, auto-propagates everywhere.
π³ Docker β Container Isolation
Run CLI-JAW in a Docker container for security isolation β AI agents cannot access host files.
# Quick start (after npm publish)
docker compose up -d
# β http://localhost:3457
# Or build manually
docker build -t cli-jaw .
docker run -d -p 3457:3457 --env-file .env --name jaw cli-jaw
π Docker details
Two Dockerfiles:
| File | Purpose | Use Case |
|---|---|---|
Dockerfile |
Installs from npm registry | Production / deployment |
Dockerfile.dev |
Builds from local source | Development / testing |
# Dev build (local source)
docker build -f Dockerfile.dev -t cli-jaw:dev .
docker run -d -p 3457:3457 --env-file .env cli-jaw:dev
# Pin version for CI
docker build --build-arg CLI_JAW_VERSION=1.0.1 -t cli-jaw:1.0.1 .
# If Chromium sandbox fails in your environment
docker run -e CHROME_NO_SANDBOX=1 -p 3457:3457 cli-jaw
Security:
- Non-root
jawuser β Chromium sandbox enabled by default - No
ipc: hostorseccomp=unconfinedβ full container isolation --no-sandboxonly via explicitCHROME_NO_SANDBOX=1opt-in- Build-time feature guard prevents outdated image deployment
Volumes: Data persists in jaw-data named volume (/home/jaw/.cli-jaw).
To use existing host config: -v ~/.cli-jaw:/home/jaw/.cli-jaw
π οΈ Development
Build, run, and project structure# Build (TypeScript β JavaScript)
npm run build # tsc β dist/
# Run from source (development)
npm run dev # tsx server.ts (hot-reload friendly)
npx tsx bin/cli-jaw.ts serve # Run CLI directly from .ts
# Run from build (production)
node dist/bin/cli-jaw.js serve
Project structure:
src/
βββ agent/ # AI agent lifecycle & spawning
βββ browser/ # Chrome CDP automation
βββ cli/ # CLI registry & model presets
βββ core/ # DB, config, logging
βββ http/ # Express server & middleware
βββ memory/ # Persistent memory system
βββ orchestrator/ # Multi-agent orchestration pipeline
βββ prompt/ # Prompt injection & AGENTS.md generation
βββ routes/ # REST API endpoints (40+)
βββ security/ # Input sanitization & guardrails
βββ telegram/ # Telegram bot integration
TypeScript with
strict: true,NodeNextmodule resolution, targeting ES2022.
π§ͺ Tests
888 pass Β· 2 skipped Β· zero external dependenciesnpm test
All tests run via tsx --test (native Node.js test runner + TypeScript).
π Documentation
| Document | What's inside |
|---|---|
| ARCHITECTURE.md | System design, module graph, REST API (40+ endpoints) |
| TESTS.md | Test coverage and test plan |
β Troubleshooting
Common issues| Problem | Solution |
|---|---|
cli-jaw: command not found |
Run npm install -g cli-jaw again. Check npm bin -g is in your $PATH. |
Error: node version |
Upgrade to Node.js β₯ 22:nvm install 22 or download from nodejs.org |
| Agent timeout / no response | Run jaw doctor to check CLI auth. Re-authenticate with claude auth / codex login. |
EADDRINUSE: port 3457 |
Another instance is running. Stop it or use jaw serve --port 3458. |
| Telegram bot not responding | Check token with jaw doctor. Ensure jaw serve is running. |
| Telegram ββ delayed | Normal β Telegram server-side delivery ack can take a few minutes under load. Not a bug. |
| Skills not loading | Run jaw skill reset then jaw mcp sync. |
| Browser commands fail | Install Chrome/Chromium. Run jaw browser start first. |
If you previously used cli-claw or an older version of cli-jaw and want a completely clean slate:
# ββ 1. Uninstall ββ
npm uninstall -g cli-jaw
# Verify removal
which jaw && echo "β οΈ jaw still found" || echo "β
jaw removed"
# ββ 2. Back up & remove data ββ
# Back up current data (just in case)
[ -d ~/.cli-jaw ] && mv ~/.cli-jaw ~/.cli-jaw.bak.$(date +%s)
# Remove work instances
[ -d ~/.jaw-work ] && rm -rf ~/.jaw-work
# ββ 3. Remove launchd daemons (macOS) ββ
launchctl list | grep com.cli-jaw | awk '{print $3}' | \
xargs -I{} launchctl bootout gui/$(id -u) system/{} 2>/dev/null
rm -f ~/Library/LaunchAgents/com.cli-jaw.*
# ββ 4. Remove legacy artifacts ββ
rm -f ~/AGENTS.md ~/CLAUDE.md # postinstall symlinks
# Do not remove shared harness paths (~/.agents, ~/.agent) unless you explicitly
# created them for cli-jaw. Use: jaw doctor --repair-shared-paths
rm -rf ~/.cli-claw # old cli-claw data
rm -f ~/.copilot/mcp-config.json # MCP config synced by jaw
# ββ 5. Verify clean state ββ
echo "=== Clean State Check ==="
which jaw; which cli-jaw # should be "not found"
ls ~/.cli-jaw ~/.cli-claw 2>&1 # should be "No such file"
# ββ 6. Reinstall ββ
npm install -g cli-jaw
jaw init
jaw doctor
π‘ Your backup is at
~/.cli-jaw.bak.<timestamp>β copy backsettings.jsonorjaw.dbif you want to restore previous config or conversation history.
π€ Contributing
Contributions are welcome! Here's how to get started:
- Fork the repo and create your branch from
master - Run
npm run build && npm testto make sure everything works - Submit a PR β we'll review it promptly
π Found a bug or have a feature idea? Open an issue
β If CLI-JAW helps you, give it a star β it means a lot!
Made with β€οΈ by the CLI-JAW community
Yorumlar (0)
Yorum birakmak icin giris yap.
Yorum birakSonuc bulunamadi