Commit Graph
8 Commits
Author SHA1 Message Date
robandClaude Opus 4.5 436d6292ff Add Python syntax checking to Code Step dialog
Validates code with ast.parse() before accepting. Shows line number
and error message if syntax is invalid.

Co-Authored-By: Claude Opus 4.5 <[email protected]>
2026-01-14 14:27:55 -04:00
robandClaude Opus 4.5 2438aec831 Restore AI-assisted code generation in Code Step dialog
Feature was present in TUI but missing after GUI conversion. Now includes:
- Split layout: Code editor (left) | AI Assist panel (right)
- Provider selector dropdown for AI calls
- Prompt editor with smart default template showing available variables
- "Generate Code" button that calls AI in background thread
- Response feedback area showing success/error status
- Automatic markdown fence stripping from AI responses
- Available variables computed from tool arguments + previous step outputs

Co-Authored-By: Claude Opus 4.5 <[email protected]>
2026-01-14 14:20:58 -04:00
robandClaude Opus 4.5 9588c3f8b0 Add AI persona profiles for prompt injection
Profiles allow users to inject system instructions into prompts,
customizing the AI's behavior and persona for tool execution.

Features:
- Profile dataclass with name, description, system_prompt
- 8 built-in profiles: None, Comedian, Technical Writer, Teacher,
  Concise, Creative, Code Reviewer, Analyst
- Custom profile creation and storage in ~/.cmdforge/profiles/
- Profile selector in Prompt Step dialog
- Profile injection during tool execution
- Profiles page in GUI (Ctrl+4) for viewing and managing profiles

Co-Authored-By: Claude Opus 4.5 <[email protected]>
2026-01-14 05:22:31 -04:00
robandClaude Opus 4.5 9d56f703cd Fix sort field values to match API
- 'newest' -> 'published_at' (valid API field)
- Remove 'rating' sort (not supported by API)

Co-Authored-By: Claude Opus 4.5 <[email protected]>
2026-01-14 05:03:55 -04:00
robandClaude Opus 4.5 ebb70f5865 Fix Browse All to use list_tools instead of search_tools
search_tools requires a query, but list_tools allows browsing
without a search term. Use list_tools when no query or tags are set.

Co-Authored-By: Claude Opus 4.5 <[email protected]>
2026-01-14 05:01:01 -04:00
robandClaude Opus 4.5 305c09a929 Fix QTextEdit -> QTextBrowser for clickable links
setOpenExternalLinks is only available on QTextBrowser, not QTextEdit.

Co-Authored-By: Claude Opus 4.5 <[email protected]>
2026-01-14 04:58:39 -04:00
robandClaude Opus 4.5 518a04a8b0 Add tool marketplace UI enhancements
- Browse all tools on page load without search
- Category filter dropdown (Text, Developer, Data, etc.)
- Sort options (downloads, rating, newest, name)
- Star ratings display in results table
- Clickable tags for filtering
- Installed indicator (✓) for local tools
- Update available indicator (↑) for newer versions
- Pagination controls for large result sets
- Publisher reputation info in details

Co-Authored-By: Claude Opus 4.5 <[email protected]>
2026-01-14 04:51:10 -04:00
robandClaude Opus 4.5 4fe2d26244 Convert TUI to PySide6 desktop GUI
Major UI overhaul replacing the urwid-based Terminal UI with a modern
PySide6 desktop application.

New GUI features:
- Sidebar navigation (My Tools, Registry, Providers)
- Tool Builder with visual form for creating/editing tools
- Registry browser with search and one-click install
- Provider management page
- Connect dialog for account pairing
- Publish dialog for sharing tools

- Keyboard shortcuts (Ctrl+N, Ctrl+S, Ctrl+R, Ctrl+1/2/3, Escape, Ctrl+Q)
- Window geometry persistence (remembers size/position)
- Modern clean stylesheet

Removed:
- ui.py, ui_snack.py, ui_registry.py, ui_urwid.py
- ui_urwid/ directory (urwid TUI implementation)

Updated:
- pyproject.toml: PySide6 now required, removed urwid
- CLI entry points to launch GUI
- All documentation (README, CLAUDE.md, AGENTS.md, wiki)

Co-Authored-By: Claude Opus 4.5 <[email protected]>
2026-01-14 04:38:35 -04:00