Rename project from SmartTools to CmdForge

Major rename operation:
- Rename Python package: smarttools -> cmdforge
- Update CLI entry point: smarttools -> cmdforge
- Update all imports and module references
- Update pyproject.toml with new name, URLs, entry point
- Update all HTML templates with new branding
- Update documentation (CLAUDE.md, README.md, docs/*, wiki/*)
- Update environment variables:
  - SMARTTOOLS_ENV -> CMDFORGE_ENV
  - SMARTTOOLS_REGISTRY_DB -> CMDFORGE_REGISTRY_DB
  - SMARTTOOLS_TOKEN -> CMDFORGE_TOKEN
  - SMARTTOOLS_REGISTRY_* -> CMDFORGE_REGISTRY_*
- Update Dockerfile and docker-compose.yml
- Update tests to use new package name
- Update scripts and examples
- Update package.json and tailwind.config.js

All 158 unit tests pass. The CLI is working correctly with the
new cmdforge command.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <[email protected]>
This commit is contained in:
rob
2026-01-02 22:15:55 -04:00
co-authored by Claude Opus 4.5
parent 2939dd806b
commit 497fe87fc5
113 changed files with 822 additions and 822 deletions
+48 -48
View File
@@ -1,4 +1,4 @@
# SmartTools
# CmdForge
**A lightweight personal tool builder for AI-powered CLI commands.**
@@ -20,7 +20,7 @@ echo "Price $49.99, SKU ABC-123" | json-extract --fields "price, sku"
# Output: {"price": 49.99, "sku": "ABC-123"}
```
## Why SmartTools?
## Why CmdForge?
- **Unix Philosophy** - Tools that do one thing well, composable with pipes
- **Provider Agnostic** - Works with Claude, GPT, Gemini, DeepSeek, local models
@@ -30,17 +30,17 @@ echo "Price $49.99, SKU ABC-123" | json-extract --fields "price, sku"
## Try It Now (60 seconds)
See SmartTools in action without installing anything on your system:
See CmdForge in action without installing anything on your system:
```bash
# Pull the container
docker pull gitea.brrd.tech/rob/smarttools:latest
docker pull gitea.brrd.tech/rob/cmdforge:latest
# Run it
docker run -it --rm gitea.brrd.tech/rob/smarttools bash
docker run -it --rm gitea.brrd.tech/rob/cmdforge bash
# Inside the container - install OpenCode (includes free AI models)
smarttools providers install # Select option 4, then 'y'
cmdforge providers install # Select option 4, then 'y'
source ~/.bashrc
# Try it! This explains the README using the free Big Pickle model
@@ -55,21 +55,21 @@ For regular use, install natively:
```bash
# Clone and install
git clone https://gitea.brrd.tech/rob/SmartTools.git
cd SmartTools
git clone https://gitea.brrd.tech/rob/CmdForge.git
cd CmdForge
pip install -e .
# Ensure ~/.local/bin is in PATH
export PATH="$HOME/.local/bin:$PATH"
# Install an AI provider (interactive guide)
smarttools providers install
cmdforge providers install
# Launch the UI
smarttools ui
cmdforge ui
# Or create your first tool
smarttools create summarize
cmdforge create summarize
```
## Installation
@@ -77,16 +77,16 @@ smarttools create summarize
### Native Install
```bash
git clone https://gitea.brrd.tech/rob/SmartTools.git
cd SmartTools
git clone https://gitea.brrd.tech/rob/CmdForge.git
cd CmdForge
pip install -e .
```
### With Development Dependencies
```bash
git clone https://gitea.brrd.tech/rob/SmartTools.git
cd SmartTools
git clone https://gitea.brrd.tech/rob/CmdForge.git
cd CmdForge
pip install -e ".[dev]"
```
@@ -107,7 +107,7 @@ export PATH="$HOME/.local/bin:$PATH"
Then refresh wrapper scripts:
```bash
smarttools refresh
cmdforge refresh
```
## Usage
@@ -115,7 +115,7 @@ smarttools refresh
### UI Mode (Recommended for Beginners)
```bash
smarttools ui
cmdforge ui
```
Navigate with arrow keys, Tab, Enter, and mouse. Create tools visually with the built-in prompt editor.
@@ -123,13 +123,13 @@ Navigate with arrow keys, Tab, Enter, and mouse. Create tools visually with the
### CLI Mode
```bash
smarttools list # List all tools
smarttools create mytool # Create new tool
smarttools edit mytool # Edit in $EDITOR
smarttools delete mytool # Delete tool
smarttools run mytool # Run a tool
smarttools test mytool # Test with mock provider
smarttools refresh # Update executable wrappers
cmdforge list # List all tools
cmdforge create mytool # Create new tool
cmdforge edit mytool # Edit in $EDITOR
cmdforge delete mytool # Delete tool
cmdforge run mytool # Run a tool
cmdforge test mytool # Test with mock provider
cmdforge refresh # Update executable wrappers
```
### Running Tools
@@ -155,10 +155,10 @@ cat file.txt | mytool --provider mock
### Composing Tools
SmartTools follows Unix philosophy: each tool does one thing well, and tools chain together for complex workflows.
CmdForge follows Unix philosophy: each tool does one thing well, and tools chain together for complex workflows.
```bash
# Chain SmartTools together
# Chain CmdForge together
cat error.log | log-errors | summarize | translate --lang Spanish
# Code review pipeline: focus on changes, review, then summarize
@@ -208,7 +208,7 @@ translate-doc() {
## Example Tools
SmartTools comes with 28 pre-built examples you can install:
CmdForge comes with 28 pre-built examples you can install:
### Text Processing
@@ -259,14 +259,14 @@ SmartTools comes with 28 pre-built examples you can install:
### Install Example Tools
```bash
# Run the example installer (from the SmartTools directory)
# Run the example installer (from the CmdForge directory)
python examples/install.py
smarttools refresh
cmdforge refresh
```
## Providers
SmartTools works with any AI CLI tool. We've profiled 12 providers:
CmdForge works with any AI CLI tool. We've profiled 12 providers:
| Provider | Speed | Accuracy | Cost | Best For |
|----------|-------|----------|------|----------|
@@ -281,7 +281,7 @@ See [docs/PROVIDERS.md](docs/PROVIDERS.md) for setup instructions.
## Tool Anatomy
A tool is a YAML config file in `~/.smarttools/<name>/config.yaml`:
A tool is a YAML config file in `~/.cmdforge/<name>/config.yaml`:
```yaml
name: summarize
@@ -429,7 +429,7 @@ This lets you generate or modify Python code using AI directly within the tool b
## Philosophy
SmartTools is built on **Unix philosophy**:
CmdForge is built on **Unix philosophy**:
1. **Do one thing well** - Each tool solves one problem. `summarize` summarizes. `translate` translates. No bloated mega-tools.
@@ -444,15 +444,15 @@ SmartTools is built on **Unix philosophy**:
## Contributing
```bash
git clone https://gitea.brrd.tech/rob/smarttools.git
cd smarttools
git clone https://gitea.brrd.tech/rob/cmdforge.git
cd cmdforge
pip install -e ".[dev]"
pytest
```
## Support
If SmartTools saves you time, consider supporting the project:
If CmdForge saves you time, consider supporting the project:
**Bitcoin:** `3KeLqGv2Xo8jGYkqA1i68a6nXwgQnuJoza`
@@ -470,16 +470,16 @@ Pull and run the pre-built image directly:
```bash
# Pull from registry
docker pull gitea.brrd.tech/rob/smarttools:latest
docker pull gitea.brrd.tech/rob/cmdforge:latest
# Run SmartTools
docker run -it --rm gitea.brrd.tech/rob/smarttools smarttools --help
# Run CmdForge
docker run -it --rm gitea.brrd.tech/rob/cmdforge cmdforge --help
# List available tools
docker run -it --rm gitea.brrd.tech/rob/smarttools smarttools list
docker run -it --rm gitea.brrd.tech/rob/cmdforge cmdforge list
# Interactive shell
docker run -it --rm gitea.brrd.tech/rob/smarttools bash
docker run -it --rm gitea.brrd.tech/rob/cmdforge bash
```
### Build from Source
@@ -488,8 +488,8 @@ Alternatively, build the container yourself:
```bash
# Clone the repo
git clone https://gitea.brrd.tech/rob/SmartTools.git
cd SmartTools
git clone https://gitea.brrd.tech/rob/CmdForge.git
cd CmdForge
# Build the container
docker-compose build
@@ -498,7 +498,7 @@ docker-compose build
docker-compose run --rm test
# Use the CLI
docker-compose run --rm cli smarttools list
docker-compose run --rm cli cmdforge list
# Interactive shell
docker-compose run --rm shell
@@ -518,12 +518,12 @@ xhost +local:docker
docker run -it --rm \
-e DISPLAY=$DISPLAY \
-v /tmp/.X11-unix:/tmp/.X11-unix \
-v smarttools-data:/root/.smarttools \
-v cmdforge-data:/root/.cmdforge \
--network host \
gitea.brrd.tech/rob/smarttools bash
gitea.brrd.tech/rob/cmdforge bash
# Inside the container:
smarttools providers install
cmdforge providers install
```
**Using docker-compose (build from source):**
@@ -533,14 +533,14 @@ xhost +local:docker
docker-compose run --rm setup
# Inside the container:
smarttools providers install
cmdforge providers install
```
**After installing a provider:**
```bash
# Test the provider works
smarttools providers test claude
cmdforge providers test claude
```
**Available Providers:**