80 lines
1.7 KiB
Markdown
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
|