Skip to main content

UTIM – Universal Terminal Intelligence Manager. A powerful agentic AI coding assistant for your terminal.

Project description

UTIM CLI Agent: Enterprise Coder Assistant

UTIM is an agentic developer CLI assistant designed to automate coding tasks directly inside your local terminal, featuring robust safety controls, self-healing quality gates, and local-first semantic memory.


🚀 Quick Start

1. Installation

Install the package from your local source directory:

# Basic installation
pip install .

# Recommended: Full installation (includes semantic vector RAG & web search)
pip install ".[full]"

2. Provider & Model Configuration

Start the chat session:

utim

On first run, UTIM checks for .utim/config.json. If it does not exist, it runs a provider and model configuration wizard. You can configure:

  • Default Providers: OpenRouter, OpenAI, custom servers, etc.
  • Model Picker: Press Ctrl+M in the chat terminal at any time to configure, pick, add, or delete LLMs.

⚡ Main CLI Commands

  • utim: Starts the interactive chat terminal (TUI).
  • utim task "<prompt>": Executes a single task autonomously from the command line and exits. In an interactive terminal (stdin is a TTY) file writes and commands prompt for confirmation; when piped/scripted they run in auto-accept mode.
  • utim --dry-run: Starts the session in Dry-Run Mode (all code modifications and shell commands are simulated, not written/executed).
  • utim --sandbox: Runs all mutating shell command proposals in the intelligent local sandbox (untrusted commands will block until approved).
  • utim doctor / utim init / utim reset: Administrative commands for state diagnosis, initialization, and factory resets.

🛠️ In-Chat Slash Commands

Inside the interactive chat terminal, type these slash commands for direct workspace control:

  • /undo: Reverts the last assistant action, restoring files to their exact "before" state and rolling back messages.
  • /redo: Re-applies the last undone turn, re-writing files and restoring conversation logs.
  • /rewind <turn_index>: Rolls back the entire session to a specific conversation turn.
  • /doctor: Run diagnostics on environment variables, Python version, dependencies, API model connections, and MCP server status.
  • /report: Generates a support bundle under .utim_tmp/report_bundle.zip (automatically redacts secrets, passwords, or personal names/files).
  • /reset: Wipes the current chat history without deleting persistent local vector memory.

🧠 Architecture & How it Works

  1. Local Memory (.utim/memory.json & ChromaDB):
    • Global user preferences, rules, and facts are synced to a semantic vector database (.utim_tmp/vector_db).
    • Relevant memories are dynamically fetched via semantic similarity (RAG) and injected into the system prompt context, preventing prompt bloating.
  2. Undo/Redo Stack & Session State:
    • Every file change (writes, batch string edits, moves, deletions) computes a diff snapshot.
    • The entire stack is serialized dynamically to .utim/session_state.json. You can close your shell, shut down your computer, and resume later with intact rollback features.
  3. Workspace Boundary & Safety Controls:
    • Prior to writing files, UTIM performs Pre-Commit Syntax Checks (AST compilation for Python, JSON loads, JS/TS checks).
    • If tests are available (pytest, npm test, etc.), UTIM runs them in a background Regression testing loop, prompting the model to self-heal code errors if assertions fail.
    • Interactive TUI mode (utim): every file mutation shows an interactive diff dialog; the developer accepts, edits, or rejects individual hunks before they are applied.
    • CLI task mode (utim task): when running in a real terminal, destructive operations (rm, package installs, > redirects) prompt for y/n confirmation. When stdin is piped/non-interactive all edits are auto-accepted.
    • Sandbox mode (utim --sandbox): classifies every terminal command as safe or risky and blocks risky commands until explicitly approved.

⚠️ What this Tool Can and Cannot Do

Can Do:

  • Read, write, and patch codebases safely.
  • Install and coordinate custom MCP (Model Context Protocol) servers.
  • Self-heal syntax and test errors before files are written.
  • Revert any file modification instantly.

Cannot Do:

  • No Remote Code Execution: Runs locally on your machine.
  • Unverified Sensitive Reads Blocked: Reading files or memory matching sensitive keys (like passwords, secret codes, or personal data) is blocked unless verified via your configured verification code.
  • No Auto-Deletions: Any command that deletes files outside the working directory is blocked automatically.

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

utim_cli-1.46.21.tar.gz (292.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

utim_cli-1.46.21-py3-none-any.whl (306.0 kB view details)

Uploaded Python 3

File details

Details for the file utim_cli-1.46.21.tar.gz.

File metadata

  • Download URL: utim_cli-1.46.21.tar.gz
  • Upload date:
  • Size: 292.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.9

File hashes

Hashes for utim_cli-1.46.21.tar.gz
Algorithm Hash digest
SHA256 5c06e7213260d1e5b15457959bcb920ea25395d475e42950ce02a63aff5e249a
MD5 1dee0b2637f0a89b71c240291f427594
BLAKE2b-256 131686859c13c465784c64996360dde1eff2d781f9b5fddefa1c48e6c52f129c

See more details on using hashes here.

File details

Details for the file utim_cli-1.46.21-py3-none-any.whl.

File metadata

  • Download URL: utim_cli-1.46.21-py3-none-any.whl
  • Upload date:
  • Size: 306.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.9

File hashes

Hashes for utim_cli-1.46.21-py3-none-any.whl
Algorithm Hash digest
SHA256 de007eed59f8b48fc5aecae7edd0f088afa1881646580784394eb65ab5038e41
MD5 321f64598505e20bb85ab4a30983ae13
BLAKE2b-256 e6490c1c2af5ad65e3443b712292d78c4bb7c032c9f8f788f4561ecab2093ec4

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page