Commit Graph

19 Commits

Author SHA1 Message Date
rob c9e84d9241 refactor: Make participants versatile and reassign providers
Updates all 9 discussion participants to be context-aware:
- Added "FIRST: Understand the Context" sections to identify project type
- Broadened expertise beyond web-only assumptions
- Added context-aware checklists (web, desktop, CLI, library)
- Encouraged engagement with all aspects of discussions

Provider reassignments to match model strengths:
- Architect: opencode-grok (cutting edge, free)
- Pragmatist: deepseek (grounded, simplifies complexity)
- Backend: opencode-reasoner (reasoning about data flow, free)
- Frontend: claude (fast, great at UI coding)
- Designer: opencode-pickle (free, testing it out)
- QA: codex (methodical, good memory)
- Security: claude-sonnet (thorough analysis)
- DevOps: claude (practical)
- UX: gemini (large context for user journeys)

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-08 23:00:57 -04:00
rob d71b837c16 feat: Add --new flag to UI with prefill options for title, template, participants, context
Opens new discussion dialog on launch with optional pre-filled values.
Enables integration with development-hub for launching discussions from todos.

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-07 17:26:37 -04:00
rob 8d8958ff79 feat: Save new discussions in discussions/ subdirectory
When creating a discussion without an explicit output path, files are now
saved to discussions/ subdirectory instead of current directory. The
directory is created automatically if it doesn't exist.

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-07 16:55:40 -04:00
rob e1fb9d58ab revert: Use built-in tooltip instead of custom sticky tooltip
Custom tooltip was causing the modal dialog to close. Reverted to
the standard Dear PyGui tooltip which works reliably.

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-04 13:46:56 -04:00
rob 0317ea2a5b fix: Prevent tooltip from stealing focus and closing modal dialog
- Removed dpg.focus_item() call that was stealing focus
- Added no_bring_to_front_on_focus=True to prevent focus stealing
- Removed no_open_over_existing_popup parameter

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-04 13:42:29 -04:00
rob 6650280421 fix: Use item state polling for tooltip hover detection
Modal dialogs may block hover handler events, so now check
dpg.get_item_state("dictate_btn")["hovered"] in the main loop
instead of relying solely on the hover handler callback.

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-04 13:40:12 -04:00
rob b06b3f98b1 feat: Custom sticky tooltip for Dictate button with fade-out
- Tooltip appears on hover and stays while mouse is still
- Starts 2-second fade when mouse moves or button is clicked
- Custom popup window instead of built-in tooltip for better control
- Automatically cleaned up when dialog closes

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-04 13:05:32 -04:00
rob d30013778b feat: Add tooltip with dictation instructions to Dictate button
Explains double-click vs click-and-hold modes and the tip about
typing at insertion point first to set cursor position.

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-04 12:58:31 -04:00
rob f063739348 feat: Cursor-aware dictation insertion for walkie-talkie mode
- Walkie-talkie mode: inserts transcribed text at cursor position
- Continuous mode: appends transcribed text to end
- Tracks approximate cursor position by detecting where text edits occur
- Adds appropriate spacing around inserted text

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-04 12:15:37 -04:00
rob a2d6cb6f3c feat: Add dual-mode dictation (walkie-talkie + continuous)
- Press and hold: walkie-talkie mode, records while held, transcribes on release
- Double-click: continuous mode (existing behavior), click again to stop
- Uses Dear PyGui item handlers for mouse down/up detection
- Visual feedback shows current mode on button label

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-04 03:13:41 -04:00
rob 57efe6c931 feat: Implement continuous dictation with chunked transcription
- Add ContinuousRecorder class using sounddevice for gapless audio capture
- Record continuously and extract 10-second chunks with 0.5s overlap
- Overlap prevents words from being cut off at chunk boundaries
- Transcription happens in parallel with recording
- Text appears incrementally as chunks complete
- Add sounddevice and numpy as GUI dependencies

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-04 03:03:10 -04:00
rob 55aec4c7f2 refactor: Rename SmartTools to CmdForge throughout codebase
- Rename smarttools/ directory to cmdforge/
- Update all Python imports and references
- Update documentation (CLAUDE.md, README.md, docs/*.md)
- Update Docker and build configs
- Update discussion files
- Improve dictation error handling in GUI

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-04 02:15:24 -04:00
rob a39253c893 feat: Add cleanup command and improve artifact editor integration
Features:
- Add `discussions cleanup` command to find orphaned diagrams
  - Scans all discussions for DIAGRAM: references
  - Lists unreferenced files in diagrams/ folders with sizes
  - --delete flag removes orphans with confirmation prompt
- New Discussion dialog now shows and allows changing save location
- Add Browse button to select output directory for new discussions

Fixes:
- Fix silent failure when artifact-editor not installed (now shows error)
- Fix silent failure when artifact-editor missing GUI deps (PyQt6)
- Add error logging for subprocess failures in artifact editor

Dependencies:
- smarttools now installed automatically from git URL
- artifact-editor included in [gui] extra
- PyQt6/QScintilla included for artifact-editor GUI support

Also:
- Add diagrams/ to .gitignore (generated test artifacts)
- Update README with simplified installation instructions
- Document cleanup command in README and CLAUDE.md

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-30 20:07:44 -04:00
rob c592b93597 fix: VariableStore.get() default parameter and Docker improvements
- Add default parameter to VariableStore.get() method
- Install nano in Docker for TUI editor support
- Install dearpygui in Docker for GUI support
- Add GUI library dependencies (libgl1, libegl1, etc.)

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-29 11:57:05 -04:00
rob a39103c2ca Add missing participant SmartTools
Added 7 additional AI participants:
- discussion-backend: Backend/API perspective
- discussion-designer: Visual/UX design perspective
- discussion-devops: Infrastructure/deployment perspective
- discussion-frontend: Frontend/UI perspective
- discussion-performance: Performance/optimization perspective
- discussion-qa: Testing/quality perspective
- discussion-ux: User experience perspective

These are now bundled with the project and will be installed
automatically when building the Docker container.

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-24 01:28:57 -04:00
rob 896f855738 docs: Add Docker section and fix repo URLs
- Added Docker instructions for testing without local install
- Fixed URLs to point to Gitea instead of GitHub

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-24 01:22:02 -04:00
rob 0ee6e8ac7e Simplify docker-compose.yml to focus on this project only
Removed cross-project dependencies. Now clones SmartTools from Gitea
during build. Each project is self-contained and testable independently.

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-24 01:01:53 -04:00
rob 6d9f32b20c Complete implementation with Docker support
- Full discussion orchestration system
- GUI (Dear PyGui) and TUI (urwid) interfaces
- 14 SmartTools for parsing, voting, participants
- Docker and docker-compose for testing
- Templates for feature and brainstorm workflows
- Auto phase advancement on consensus

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-23 23:40:25 -04:00
rob 3b0c0339f7 Initial project structure for Orchestrated Discussions
- Core modules: markers, voting, participant, discussion, runner, cli
- Bundled participants: architect, security, pragmatist, etc.
- Example discussion file demonstrating format
- Comprehensive design document
- Basic test suite for markers and voting

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-08 07:57:43 -04:00