Jarvis is an advanced system that enhances Claude Code CLI with intelligent skills, safety hooks, automated workflows, and productivity features.
- Git Safety Guard - Blocks destructive commands (
git reset --hard,git push --force,rm -rf) - PR Workflow Enforcement - Ensures proper PR submission process with code review
- Worktree Isolation - Optional protection against editing files on main branch
- Smart Skill Activation - Automatically suggests relevant skills based on context
- Enhanced Status Line - Real-time insights via Claude HUD (context, tools, agents)
- Session Tracking - Maintains context across conversations
- Learning Capture - Learns from successful patterns
- Configurable Rules - Toggle TDD, worktree isolation, pre-commit tests
- Specialized Agents - Code reviewer, test generator, and more
- Custom Commands - Slash commands for common workflows
- Pattern Library - Reusable solutions indexed by context
- Claude Code CLI - https://claude.ai/code
- Git - Version control
- Bash 4+ - Shell scripting
- jq - JSON processing (for config management)
# Clone the repository
git clone https://github.com/erikpr1994/claude-code-tools.git
cd claude-code-tools
# Install globally
./install.sh
# Start Claude Code in any project
cd your-project
claude
# Initialize Jarvis for this project
/jarvis-init./install.sh./install.sh # Interactive install with preferences setup
./install.sh --skip-config # Install with default preferences
./install.sh --force # Skip version prompts
./install.sh --help # Show helpThe installer will prompt you to configure which hooks and rules you want enabled.
~/.claude/
├── settings.json # Claude Code settings (hooks, statusline configured by installer)
├── config/
│ ├── preferences.json # Your rules & hooks preferences
│ └── defaults.json # Default preference values
├── hooks/ # Event-driven automations
│ ├── git-safety-guard.sh # Blocks destructive git commands
│ ├── block-direct-submit.sh # Enforces PR workflow
│ ├── require-isolation.sh # Worktree/branch protection
│ ├── skill-activation.sh # Smart skill suggestions
│ ├── pre-commit.sh # Pre-commit verification
│ └── lib/common.sh # Shared hook utilities
├── skills/ # Skill definitions
├── commands/ # Slash commands
├── agents/ # Specialized agents
├── rules/ # Coding standards
├── patterns/ # Pattern library
└── lib/ # Utilities
| Command | Description |
|---|---|
/jarvis-init |
Initialize Jarvis in current project |
/update |
Update Jarvis from repo |
/jarvis-config |
Configure preferences interactively |
/plan |
Create implementation plan |
/jarvis-review |
Run code review |
/test |
Run tests with TDD guidance |
/commit |
Smart commit with verification |
/skills |
List available skills |
Codex reads repo-level AGENTS.md and discovers skills in .codex/skills/. To make Jarvis skills available in Codex, sync them from global/skills (copy is recommended; Codex ignores symlinked directories):
./scripts/codex-sync.sh --scope repo --mode copy
# Or install user-wide:
./scripts/codex-sync.sh --scope user --mode copyJarvis agents/commands live under global/agents and global/commands. Codex doesn’t load those directly, so reference them via skills or docs as needed.
To approximate Claude hooks in Codex, install the rules template:
./scripts/codex-install-rules.shDuring installation, you'll be prompted to configure your preferences. You can reconfigure anytime with /jarvis-config.
Edit ~/.claude/config/preferences.json or use /jarvis-config:
{
"version": "1.0.0",
"rules": {
"tdd": { "enabled": false, "severity": "warning" },
"conventionalCommits": { "enabled": true, "severity": "warning" },
"codeQuality": { "enabled": true, "severity": "info" },
"documentation": { "enabled": true, "severity": "info" }
},
"hooks": {
"gitSafetyGuard": { "enabled": true, "bypassable": true },
"requireIsolation": { "enabled": false, "bypassable": true },
"preCommitTests": { "enabled": false, "bypassable": true },
"skillActivation": { "enabled": true, "bypassable": false },
"learningCapture": { "enabled": true, "bypassable": false }
}
}| Type | Purpose | Effect |
|---|---|---|
| Rules | Soft guidelines for Claude | Suggestions, warnings |
| Hooks | Hard enforcement mechanisms | Block actions, require steps |
error- Block the actionwarning- Allow with caution messageinfo- Suggest, don't enforce
The git-safety-guard blocks dangerous commands:
| Blocked | Safe Alternative |
|---|---|
git reset --hard |
git stash first |
git push --force |
--force-with-lease |
git checkout -- files |
git stash first |
git clean -f |
git clean -n first |
git branch -D |
git branch -d |
rm -rf |
Ask user to run manually |
Bypass: Set CLAUDE_ALLOW_DESTRUCTIVE=1 for legitimate use.
We recommend using Claude HUD for a rich, real-time status line showing:
- Project name and git branch
- Context usage and costs
- Active tools and agents
- Todo progress
The installer (./install.sh) automatically sets this up for you.
If the automated installer fails, you can run these commands in your terminal:
claude plugin marketplace add jarrodwatts/claude-hud
claude plugin install claude-hudThen configure the statusline in your ~/.claude/settings.json manually, or run /claude-hud:setup inside Claude Code.
# Pull latest changes
cd claude-code-tools
git pull
# Update installation
/update # Or run from Claude Code
./install.sh # Or run installer directlyUpdates preserve your customizations:
- Files with
# JARVIS-USER-MODIFIEDheader are never overwritten rulessection injarvis.jsonis preserved<!-- USER CUSTOMIZATIONS -->sections in CLAUDE.md are kept
Skills are automatically suggested based on conversation context.
| Category | Examples |
|---|---|
| Process | TDD, debugging, verification |
| Domain | Git workflow, API design, database |
| Meta | Writing skills, patterns |
When you see SKILL ACTIVATION CHECK, invoke the recommended skills:
SKILL ACTIVATION CHECK
CRITICAL SKILLS (REQUIRED):
-> test-driven-development
-> session
Use the Skill tool: skill: "tdd"
Hooks run automatically on Claude Code events:
| Event | Hook | Purpose |
|---|---|---|
PreToolUse:Bash |
git-safety-guard | Block destructive commands |
PreToolUse:Bash |
block-direct-submit | Enforce PR workflow |
PreToolUse:Edit |
require-isolation | Worktree protection |
UserPromptSubmit |
skill-activation | Suggest relevant skills |
SessionStart |
session-start | Initialize session |
PostToolUse |
learning-capture | Capture patterns |
claude-code-tools/
├── install.sh # Installer
├── uninstall.sh # Uninstaller
├── README.md # This file
├── VERSION # Current version
├── global/ # Files installed to ~/.claude/
│ ├── settings.json # Claude Code settings
│ ├── jarvis.json # Jarvis config
│ ├── hooks/ # Hook scripts
│ ├── skills/ # Skill definitions
│ ├── commands/ # Slash commands
│ ├── agents/ # Agent definitions
│ ├── rules/ # Coding standards
│ ├── patterns/ # Pattern library
│ └── lib/ # Utilities
├── init/ # First-run setup
└── templates/ # Project templates
Restart Claude Code after changing settings.json.
chmod +x install.sh ~/.claude/hooks/*.sh# macOS
brew install jq
# Ubuntu/Debian
sudo apt install jqBackups are in ~/.claude/backups/:
cp -R ~/.claude/backups/YYYYMMDD_HHMMSS/* ~/.claude/- New Hook: Add to
global/hooks/and updatesettings.json - New Skill: Add to
global/skills/[category]/ - New Command: Add to
global/commands/ - New Pattern: Add to
global/patterns/full/and updateindex.json
MIT License - See LICENSE file for details.
- Git safety guard inspired by Dicklesworthstone's hooks
- Built for Claude Code by Anthropic