smarttools/README.md

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