smarttools/README.md

80 lines
1.7 KiB
Markdown

# SmartTools
A lightweight personal tool builder for AI-powered CLI commands.
## What is this?
SmartTools lets you create custom AI-powered terminal commands. You define a tool once (name, prompt, provider), then use it like any Linux command.
```bash
# Create a summarizer, then use it like any command:
sum -i document.txt -o summary.txt --max 512
```
## Quick Example
A tool is just a YAML config:
```yaml
# ~/.smarttools/sum/config.yaml
name: sum
description: "Summarize documents"
prompt: |
Summarize the following text in {max} words or less:
{input}
provider: codex
provider_args: "-p"
inputs:
- name: max
flag: --max
default: 500
```
Then run it:
```bash
sum -i myfile.txt -o summary.txt
sum -i myfile.txt --dry-run # preview prompt
sum -i myfile.txt --provider mock # test without API
```
## Features
- **Simple UI** - Create/edit/delete tools with `dialog`-based interface
- **CLI-first** - Tools work like regular Linux commands
- **Provider-agnostic** - Use Codex, Claude, Gemini, or any CLI AI tool
- **Testing built-in** - `--dry-run`, `--show-prompt`, `--provider mock`
- **Minimal** - ~430 lines of Python, minimal dependencies
## Installation
```bash
pip install smarttools
```
## Usage
```bash
# Launch UI to manage tools
smarttools
# Or use CLI:
smarttools list
smarttools create mytool
smarttools edit mytool
smarttools delete mytool
smarttools test mytool
```
## Documentation
See [docs/DESIGN.md](docs/DESIGN.md) for the full design document.
## Philosophy
This is a **personal power tool**. You write the tools, you run the tools, you accept the responsibility. No trust tiers, no sandboxing, no signing - just like any bash script you write.
## License
MIT