feat: implement project command management with LLM-enhanced discovery
Summary
This PR implements a comprehensive project command management system with LLM-enhanced command discovery across the desktop app and manager components.
Key Features
- Command Discovery System: Implements a 3-phase LLM-enhanced command discovery workflow that analyzes project files and repository metadata to intelligently identify install, build, run, and test commands
- Desktop App UI: Complete command management interface with command cards, execution history, branch/worktree selector, and real-time status updates
- API Integration: New project commands API endpoints for discovery, listing, execution, and history management
- Database Layer: SQLite-backed storage for project commands with proper schema management
- E2E Testing: Comprehensive test coverage for LLM-enhanced command discovery workflow
Changes
Manager (Backend)
- Added
command_discovery.rswith LLM-enhanced detection logic (782 lines) - Added
database/project_commands.rsfor command persistence (382 lines) - Added
handlers/project_commands.rswith API endpoints (732 lines) - Implemented
schema_provider.rsfor automatic JSON schema generation (174 lines) - Enhanced LLM agent with better tool-calling and recursion handling
- Added comprehensive E2E tests for command discovery
Desktop App (Frontend)
- Implemented command discovery UI with build/dependency management fixes
- Added
CommandCardcomponent for displaying commands (113 lines) - Enhanced project detail page with commands list and execution history (864 lines)
- Added branch/worktree selector for Git repository navigation
- Implemented API client methods for command operations
- Added configurable SSH and HTTP client logging
Documentation & Specs
- Added
DESKTOP_APP_UI_CONVENTIONS.md(577 lines) - Multiple task documentation files for implementation guidance
- Enhanced README with debugging instructions
Testing
- E2E tests for LLM-enhanced command discovery
- Integration tests for command API endpoints
- Manual testing across multiple project types
Technical Improvements
- Replaced hardcoded Claude model IDs with constants
- Modularized database code with proper separation of concerns
- Fixed state management issues in desktop app (project detail state clearing, favorites persistence)
- Improved error handling and logging throughout
Breaking Changes
None - this is a new feature addition that doesn't affect existing functionality.
🤖 Generated with Claude Code
📊 Code Complexity Analysis
- Lines added: 7514
- Lines removed: 547
- Net change: 6967
💡 Suggestion: This is a large PR with 7514 added lines. Consider:
- Breaking it into smaller, focused PRs
- Adding comprehensive tests for the new functionality
- Updating documentation as needed
Automated analysis by GitHub Actions
🤖 Automated Code Review Summary
This automated review was generated to help ensure code quality and security standards.
Rust Code Analysis
-
⚠️ Code formatting: Some Rust files are not formatted according to rustfmt standards.
- Run
cargo fmtto fix formatting issues.
- Run
-
⚠️ Linting: Clippy found potential issues in Rust code.
- Run
cargo clippy --workspace --all-targets -- --deny warningsto see detailed warnings.
- Run
Security Analysis
-
⚠️ Potential secrets: Found references to passwords, secrets, or tokens.
- Please verify no hardcoded credentials are present.
-
ℹ️ Debug output: Found debug print statements.
- Consider removing or replacing with proper logging.
Recommendations
- Run the full CI pipeline to ensure all tests pass
- Consider adding tests for any new functionality
- Update documentation if API changes are involved
- Follow the development workflow described in CLAUDE.md
This review was automatically generated. Please address any issues before merging.
Deploying nocodo with
Cloudflare Pages
| Latest commit: |
ddaaab0
|
| Status: | ✅ Deploy successful! |
| Preview URL: | https://a0a3ef0c.nocodo.pages.dev |
| Branch Preview URL: | https://project-install-build-run-co.nocodo.pages.dev |
📊 Code Complexity Analysis
- Lines added: 7542
- Lines removed: 547
- Net change: 6995
💡 Suggestion: This is a large PR with 7542 added lines. Consider:
- Breaking it into smaller, focused PRs
- Adding comprehensive tests for the new functionality
- Updating documentation as needed
Automated analysis by GitHub Actions
🤖 Automated Code Review Summary
This automated review was generated to help ensure code quality and security standards.
Rust Code Analysis
-
⚠️ Code formatting: Some Rust files are not formatted according to rustfmt standards.
- Run
cargo fmtto fix formatting issues.
- Run
-
⚠️ Linting: Clippy found potential issues in Rust code.
- Run
cargo clippy --workspace --all-targets -- --deny warningsto see detailed warnings.
- Run
Security Analysis
-
⚠️ Potential secrets: Found references to passwords, secrets, or tokens.
- Please verify no hardcoded credentials are present.
-
ℹ️ Debug output: Found debug print statements.
- Consider removing or replacing with proper logging.
Recommendations
- Run the full CI pipeline to ensure all tests pass
- Consider adding tests for any new functionality
- Update documentation if API changes are involved
- Follow the development workflow described in CLAUDE.md
This review was automatically generated. Please address any issues before merging.
📊 Code Complexity Analysis
- Lines added: 7652
- Lines removed: 547
- Net change: 7105
💡 Suggestion: This is a large PR with 7652 added lines. Consider:
- Breaking it into smaller, focused PRs
- Adding comprehensive tests for the new functionality
- Updating documentation as needed
Automated analysis by GitHub Actions
🤖 Automated Code Review Summary
This automated review was generated to help ensure code quality and security standards.
Rust Code Analysis
-
⚠️ Code formatting: Some Rust files are not formatted according to rustfmt standards.
- Run
cargo fmtto fix formatting issues.
- Run
-
⚠️ Linting: Clippy found potential issues in Rust code.
- Run
cargo clippy --workspace --all-targets -- --deny warningsto see detailed warnings.
- Run
Security Analysis
-
⚠️ Potential secrets: Found references to passwords, secrets, or tokens.
- Please verify no hardcoded credentials are present.
-
ℹ️ Debug output: Found debug print statements.
- Consider removing or replacing with proper logging.
Recommendations
- Run the full CI pipeline to ensure all tests pass
- Consider adding tests for any new functionality
- Update documentation if API changes are involved
- Follow the development workflow described in CLAUDE.md
This review was automatically generated. Please address any issues before merging.