JugaadAgent
Local-first, self-healing Ubuntu terminal agent. Natural language in, bash out — LangGraph state loops, Ollama, risk guardrails, and Ubuntu diagnostics on failure.
Install
Requires Python 3.10+, Linux, and Ollama running locally.
pip install jugaad-agent
Recommended for CLI tools (isolated, no venv juggling):
pipx install jugaad-agent
Pull a model once Ollama is running:
ollama serve # if not already running
ollama pull qwen2.5-coder:latest
From source (development)
git clone https://github.com/jugaad-agent/jugaad-agent.git
cd jugaad-agent
pip install -e ".[dev]"
Usage
jaa # interactive
jaa "create a folder demo and list it"
jaa "free port 8080" --dry-run
jaa "install htop" --yes # auto-approve risky commands
python -m jugaad_agent "echo hi"
jugaad is an alias for jaa.
| Flag | Description |
|---|---|
--model, -m |
Ollama model (JUGAAD_MODEL) |
--max-retries |
Self-heal ceiling (default 3) |
--dry-run |
Generate without executing |
--yes, -y |
Skip HITL for MEDIUM/HIGH risk |
Environment
| Variable | Default | Meaning |
|---|---|---|
JUGAAD_MODEL |
qwen2.5-coder:latest |
Ollama model |
JUGAAD_BASE_URL |
http://127.0.0.1:11434 |
Ollama endpoint |
JUGAAD_MAX_RETRIES |
3 |
Max self-heal attempts |
Copy .agent_rules.md.example to .agent_rules.md in your project directory for workspace-specific preferences.
How it works
memory → generator → guardrail → executor
↑ fail + retries
| Module | Role |
|---|---|
state.py |
Pydantic state + history reducer |
nodes.py |
LLM generation + shell execution |
guardrails.py |
Risk scan + human approval |
diagnostics.py |
Enrich stderr (lsof, missing binaries) |
memory.py |
Load .agent_rules.md |
graph.py |
LangGraph topology |
Safety
LOW risk commands run automatically. MEDIUM/HIGH risk opens a [Y]es / [N]o / [E]dit prompt. This tool executes real shell commands on your machine — review every approval.
Publish (maintainers)
pip install build twine
python -m build
twine check dist/*
twine upload dist/*
License
MIT
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file jugaad_agent-0.1.0.tar.gz.
File metadata
- Download URL: jugaad_agent-0.1.0.tar.gz
- Upload date:
- Size: 10.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/7.0.0 CPython/3.11.0rc1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cc7f009d65097c56b2586f7511cdfecc7e10badf0d5c79bc50b96cc22b15a69f
|
|
| MD5 |
4c6a985d2ad330b22f46df77478726e9
|
|
| BLAKE2b-256 |
fb818bfbc4a5e69bffe75f594c3f24a92d3b8a8cc86fb01c71565eb169610954
|
File details
Details for the file jugaad_agent-0.1.0-py3-none-any.whl.
File metadata
- Download URL: jugaad_agent-0.1.0-py3-none-any.whl
- Upload date:
- Size: 13.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/7.0.0 CPython/3.11.0rc1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0308e00919091f41ebba497d3554726341ce925aa32cb6e01c2fae2e2a27ca63
|
|
| MD5 |
3ec7a874da329d43f791bbf6d0353820
|
|
| BLAKE2b-256 |
37b14dd062cda985688e44d66d9164f0cca008226deb921cfe214c3f40b2f9d2
|