1.7 KiB
1.7 KiB
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.
# 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:
# ~/.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:
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
pip install smarttools
Usage
# 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 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