Add GitHub and CLI crates, update dependencies#2
Conversation
Introduces new crates for GitHub integration and CLI functionality. Updates dependencies and versions across multiple backend crates, adds new server routes and API tests, and scaffolds a comprehensive frontend with generated API types, UI components, and hooks.
|
Skipped: This PR changes more files than the configured file change limit: ( |
|
Caution Review failedThe pull request is closed. 📝 WalkthroughWalkthroughThis pull request adds a complete GitHub integration layer with API client support, introduces a CLI tool for project initialization and management, expands the backend with OpenAPI documentation, and delivers a comprehensive React-based frontend with UI components and WebSocket connectivity for real-time session management. Changes
Sequence Diagram(s)sequenceDiagram
participant CLI as CLI/User
participant Init as init_project
participant FS as File System
participant DB as SQLite
participant Migrations as Migrations
participant Config as Config
CLI->>Init: opencode init
Init->>FS: Create .opencode-studio dir
FS-->>Init: ✓ dirs created
Init->>Config: Derive project name
Config-->>Init: project name
Init->>Config: Create config.toml
Config->>FS: Write config
FS-->>Config: ✓ written
Init->>DB: Create/open database
DB-->>Init: pool ready
Init->>Migrations: Run migrations
Migrations->>DB: Apply schema
DB-->>Migrations: ✓ complete
Migrations-->>Init: ✓ done
Init->>CLI: Print setup summary
sequenceDiagram
participant Client as Frontend Client
participant Server as Server/create_router
participant State as AppState
participant Tasks as Task Routes
participant Executor as TaskExecutor
participant Events as Event Bus
participant Session as Session Repo
Client->>Server: POST /api/tasks/{id}/execute
Server->>Tasks: execute_task(state, id)
Tasks->>State: Extract AppState
Tasks->>Executor: run_full_cycle(task)
Executor->>Executor: Plan phase
Executor->>Events: Emit SessionStarted
Events->>Session: Store session
Executor->>Executor: Implementation phase
Executor->>Events: Emit TaskStatusChanged
Executor->>Executor: AI Review phase
alt Review passed
Executor->>State: Transition task to DONE
Executor->>Events: Emit ReviewPassed
else Review failed
Executor->>Executor: Iterate (if iterations < max)
Executor->>Events: Emit ReviewFailed
end
Executor->>Tasks: Return PhaseResult
Tasks->>Client: Json<ExecuteResponse>
Estimated code review effort🎯 5 (Critical) | ⏱️ ~120 minutes This PR introduces substantial new functionality across the entire stack: a production-grade GitHub client, CLI tooling, OpenAPI integration, 60+ UI components, and extensive backend route expansion. The changes span heterogeneous domains (Rust backend, TypeScript frontend, database schema enhancements) with intricate interdependencies, particularly around executor lifecycle management, event emission, and API contract changes. High-density logic in GitHub client (CI polling, data conversion), session/workspace orchestration, and comprehensive test coverage requiring careful validation. Poem
✨ Finishing touches
📜 Recent review detailsConfiguration used: defaults Review profile: CHILL Plan: Pro ⛔ Files ignored due to path filters (80)
📒 Files selected for processing (123)
Comment |
Introduces new crates for GitHub integration and CLI functionality. Updates dependencies and versions across multiple backend crates, adds new server routes and API tests, and scaffolds a comprehensive frontend with generated API types, UI components, and hooks.
Summary by CodeRabbit
Release Notes
New Features
Infrastructure
✏️ Tip: You can customize this high-level summary in your review settings.