Metadata-Version: 2.4
Name: kiss-agent
Version: 0.1.3
Summary: Terminal-based stupid assistant
Project-URL: Homepage, https://github.com/goejja/kiss-agent
Project-URL: Repository, https://github.com/goejja/kiss-agent
Project-URL: Issues, https://github.com/goejja/kiss-agent/issues
License: MIT License
        
        Copyright (c) 2026 goejja
        
        Permission is hereby granted, free of charge, to any person obtaining a copy
        of this software and associated documentation files (the "Software"), to deal
        in the Software without restriction, including without limitation the rights
        to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
        copies of the Software, and to permit persons to whom the Software is
        furnished to do so, subject to the following conditions:
        
        The above copyright notice and this permission notice shall be included in all
        copies or substantial portions of the Software.
        
        THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
        IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
        FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
        AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
        LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
        OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
        SOFTWARE.
License-File: LICENSE
Keywords: agent,ai,cli,coding,llm,terminal
Classifier: Development Status :: 3 - Alpha
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Software Development
Requires-Python: >=3.12
Requires-Dist: aiofiles==25.1.0
Requires-Dist: authlib==1.7.2
Requires-Dist: beautifulsoup4==4.14.3
Requires-Dist: httpx==0.28.1
Requires-Dist: keyring==25.7.0
Requires-Dist: litellm==1.84.0
Requires-Dist: mirascope[anthropic,openai,ops]==2.4.0
Requires-Dist: msgspec==0.21.1
Requires-Dist: opentelemetry-api==1.41.1
Requires-Dist: opentelemetry-sdk==1.41.1
Requires-Dist: prompt-toolkit==3.0.52
Requires-Dist: pydantic==2.13.4
Requires-Dist: pyperclip==1.11.0
Requires-Dist: pyyaml==6.0.3
Requires-Dist: rapidfuzz==3.14.5
Requires-Dist: rich==15.0.0
Requires-Dist: sqlparse==0.5.5
Requires-Dist: structlog==25.5.0
Requires-Dist: textual-autocomplete==4.0.6
Requires-Dist: textual==8.2.6
Requires-Dist: tiktoken==0.13.0
Requires-Dist: tree-sitter-bash==0.25.1
Requires-Dist: tree-sitter-dockerfile==0.2.0
Requires-Dist: tree-sitter-go==0.25.0
Requires-Dist: tree-sitter-hcl==1.2.0
Requires-Dist: tree-sitter-javascript==0.25.0
Requires-Dist: tree-sitter-language-pack==1.8.1
Requires-Dist: tree-sitter-rust==0.24.2
Requires-Dist: tree-sitter-typescript==0.23.2
Requires-Dist: tree-sitter==0.25.2
Requires-Dist: urllib3==2.7.0
Description-Content-Type: text/markdown

# kiss-agent

![CI](https://github.com/goejja/kiss-agent/actions/workflows/ci.yml/badge.svg)
![Python](https://img.shields.io/badge/python-3.12%2B-blue)
![License](https://img.shields.io/badge/license-MIT-green)

A terminal-based coding assistant.

## Context

Experimental AI agent written in python for personal use and learning lessons.  

It started from personal chat to understand the basics.  
Then I tried to use [pydantic-ai](https://pydantic.dev/docs/ai/overview/) to avoid reinventing the wheel. It simplified lots of things.  
But I felt losing control and not learning how things work.  
So here we are, with this new experiment relying on [mirascope](https://mirascope.com/). The library provides the core toolkit for LLM calls. So I can focus on tooling and logic.

## Quick Start

### Installation

Requires Python 3.12+.

**With pip:**

```bash
pip install kiss-agent
```

**With uv:**

```bash
uv tool install kiss-agent
```

### First Run

Start the app, then connect a provider from inside the UI:

```bash
kiss
```

Run `/connect` to authenticate a provider, then `/model` to pick the model you want to use.

If you prefer environment variables, you can still set provider credentials manually and then use `/model`.

`settings.jsonc.example` is an advanced reference for optional settings. It is not the recommended first-run path.

### Usage

```bash
kiss                               # Rich UI (default)
kiss --tui                         # Textual TUI
kiss "Explain this codebase"       # headless
```

## Documentation

- [**Architecture Overview**](https://github.com/goejja/kiss-agent/blob/main/docs/ARCHITECTURE.md): High-level technical design.
- [**Capabilities Overview**](https://github.com/goejja/kiss-agent/blob/main/docs/CAPABILITIES.md): Overview of what the agent can do.
- [**Configuration Reference**](https://github.com/goejja/kiss-agent/blob/main/docs/CONFIGURATION.md): Detailed settings and CLI flags.
- [**Tool System & Permissions**](https://github.com/goejja/kiss-agent/blob/main/docs/TOOLS.md): How agents interact with your files.
- [**Agent Loop**](https://github.com/goejja/kiss-agent/blob/main/docs/AGENT_LOOP.md): Details on the core execution and streaming.
- [**Turn Engine & Phases**](https://github.com/goejja/kiss-agent/blob/main/docs/TURN_ENGINE.md): Deep dive into the unified turn engine and phase flow.
- [**Context Compaction**](https://github.com/goejja/kiss-agent/blob/main/docs/COMPACTION.md): How history and tokens are managed.
- [**Observability**](https://github.com/goejja/kiss-agent/blob/main/docs/OBSERVABILITY.md): Tracing and local diagnostics.
- [**Terminal UI**](https://github.com/goejja/kiss-agent/blob/main/docs/TERMINAL_UI.md): Rich and Textual backend design and parity rules.

## Current Capabilities

- Write Guard to prevent accidental overwrite of existing files.
- Intent-aware tool gating and per-role tool access controls.
- Thinking and cycle budgets with budget-exceeded turn finish handling.
- Quality monitor with automatic correction retry for empty/malformed responses.
- Stateful Bash sessions with reset command and cwd visibility in status UI.
- Evidence store and snapshot restore/export support for durable context hints.
- Dynamic skill loading with cache, mtime invalidation, and tool-category expansion.

## License

MIT — do whatever you want with this stupid agent.
