Update olddocs to reflect current implementation state

- REGISTRY.md: Mark phases 1-4, 6-8 complete; phase 5 partial
- WEB_UI.md: Update Phase 7 checklist with completion status
- DESIGN.md: Note TUI replaced by PySide6 GUI, update structure
- PROJECT.md: Update source structure and database schema
- PROVIDERS.md, META_TOOLS.md, COLLECTIONS.md: Add status notes
- Add "Features Implemented Beyond Original Design" sections

Co-Authored-By: Claude Opus 4.5 <[email protected]>
This commit is contained in:
rob
2026-01-17 03:35:42 -04:00
co-authored by Claude Opus 4.5
parent a46add05b7
commit 0d91eb7fa0
7 changed files with 396 additions and 182 deletions
+41 -16
View File
@@ -2,6 +2,11 @@
> A lightweight personal tool builder for AI-powered CLI commands
> **Document Status (January 2026)**: This is the original design document. The core concepts
> (tool format, steps, variables, providers) remain accurate. The Terminal UI section describes
> the original urwid TUI which has been replaced by a PySide6 desktop GUI. For the latest
> documentation, see the project-docs system.
## Overview
CmdForge lets you create custom AI-powered terminal commands. You define a tool once (name, steps, provider), then use it like any Linux command.
@@ -188,7 +193,11 @@ cmdforge check sum # Check dependencies for meta-tools
cmdforge ui # Launch interactive UI
```
## Terminal UI
## Terminal UI (Historical)
> **Note**: The urwid TUI described below has been replaced by a modern PySide6 desktop GUI.
> The GUI provides the same functionality with a more polished interface. Run `cmdforge` to
> launch the GUI, or `cmdforge ui` for legacy TUI mode if available.
A BIOS-style terminal UI using `urwid` with full mouse support.
@@ -281,16 +290,27 @@ The current section's title is highlighted with brackets: `[ Tool Info ]`
### Directory Structure
> **Note**: The structure below is simplified. See `src/cmdforge/` for the full implementation.
```
cmdforge/
src/cmdforge/
__init__.py
cli.py # Entry point, argument parsing
ui.py # UI dispatcher (chooses urwid/snack/dialog)
ui_urwid.py # Urwid-based BIOS-style UI
ui_snack.py # Snack/newt fallback UI
cli/ # CLI commands (list, create, edit, run, registry, etc.)
gui/ # PySide6 desktop GUI
main_window.py
pages/ # Tools, Registry, Providers, Profiles pages
dialogs/ # Step editors, Publish dialog, Connect dialog
web/ # Flask web application
app.py
routes.py
templates/
registry/ # Registry API
app.py
db.py
tool.py # Tool loading/saving/wrapper scripts
runner.py # Execute tools
providers.py # Provider abstraction
profiles.py # AI persona profiles
```
### Provider System
@@ -380,29 +400,34 @@ output: "{result}"
## What This Design Doesn't Include
Intentionally omitted (not needed for personal use):
Intentionally omitted for local tool execution (not needed for personal use):
- Trust tiers / security levels
- Cryptographic signing
- Container isolation / sandboxing
- Certification testing
- Distribution packaging
- PII redaction
- Audit logging
- Provider capability negotiation
**Why?** This is a personal tool builder. You write the tools, you run the tools, you accept the responsibility. Just like any bash script you write.
> **Note**: Some features were later added for the **registry** (community tool sharing):
> - Trust tiers → Publisher trust scores and badges
> - Security scanning → Scrutiny system with AI review
> - Audit logging → Admin audit trail for moderation actions
> - Distribution → Registry publishing with version management
## Dependencies
Required:
- Python 3.10+
- PyYAML
- urwid (for TUI)
- PySide6 (for GUI)
Optional fallbacks:
- python3-newt/snack (simpler TUI)
- dialog/whiptail (basic TUI)
Optional (for web/registry):
- Flask
- SQLite with FTS5
Legacy TUI (no longer primary):
- urwid
- python3-newt/snack
## Example Workflow