Skip to content

Dev - #1

Merged
opx0 merged 4 commits into
mainfrom
dev
Dec 25, 2025
Merged

Dev#1
opx0 merged 4 commits into
mainfrom
dev

Conversation

@opx0

@opx0 opx0 commented Dec 25, 2025 •

Copy link
Copy Markdown
Owner

Summary by CodeRabbit

Release Notes

  • New Features

    • Added doctor command for system health checks with auto-fix capability
    • Added log export and OpenCode integration support
    • Added container management actions (start, stop, restart)
    • Added local AI support via Ollama with automatic model management
    • Added log recording capability in monitoring interface
    • Added GPU metrics and detection support
  • Infrastructure & Automation

    • Added GitHub Actions CI/CD workflows for automated testing and releases
    • Added GoReleaser for multi-platform builds
    • Added development Makefile with common targets
    • Added Ollama Docker Compose setup
  • UI Improvements

    • Enhanced monitoring interface with dedicated services and images panels
  • Documentation

    • Updated configuration path references
    • Added Ollama deployment guide

✏️ Tip: You can customize this high-level summary in your review settings.

@coderabbitai

coderabbitai Bot commented Dec 25, 2025 •

Copy link
Copy Markdown

Caution

Review failed

The pull request is closed.

📝 Walkthrough

Walkthrough

Adds comprehensive CI/CD automation, infrastructure tooling, new CLI commands (doctor health-check, export logs), Ollama AI integration with Docker enhancements, logging sinks, GPU provider abstraction, port conflict detection, TUI monitor tab refactoring with services/images management, and dependency updates to establish a full development environment for dev-cli.

Changes

Cohort / File(s) Summary
CI/CD Workflows
.github/workflows/ci.yml, .github/workflows/release.yml
GitHub Actions CI pipeline with lint, test, and matrix builds for multiple OS/arch combinations; release workflow triggered on v* tags with GoReleaser integration
Build & Lint Configuration
.golangci.yml, .goreleaser.yaml, Makefile
Golangci-lint configuration with focused linter set; GoReleaser multi-platform build config with version ldflags and archive strategies; Makefile with lint, test, build, install, and integration test targets
CLI Commands
cmd/doctor.go, cmd/export.go, cmd/watch.go
New doctor command for health checks with auto-fix capability; export command for log extraction and formatting; enhanced watch with OpenCode mode for saving error context instead of local AI analysis
Infrastructure Configuration & Core Services
internal/infra/config.go, internal/infra/registry.go
New Config type with timeout, Ollama, and logging settings; fluent builder methods; registry enhanced to support Ollama and GPU provider lazily initialization
Docker Integration
internal/infra/docker.go, internal/infra/docker_test.go
Expanded DockerClient with container lifecycle (start/stop/restart/kill/pause), inspection, log streaming with optional GPU snapshots, image/volume management, and pruning; comprehensive Testcontainers-based integration tests
Ollama AI Integration
internal/infra/ollama.go
New OllamaClient with Ping, ListModels, HasModel, PullModel (streaming), and EnsureModel/EnsureContainer workflows for container and model availability management
Logging Infrastructure
internal/infra/logsink.go
Flexible LogSink abstraction with FileLogSink, JSONLLogSink, MultiLogSink, and WriterLogSink; config-driven sink selection with thread-safe concurrent writes
GPU & System Utilities
internal/infra/system.go
GPU provider abstraction (GPUProvider interface) with Nvidia, AMD, Apple, and NoGPU implementations; port conflict detection and resolution utilities (CheckPortAvailable, FindAvailablePort, GetProcessOnPort)
TUI Monitor Enhancements
internal/tui/tabs/monitor/model.go, internal/tui/tabs/monitor/update.go, internal/tui/tabs/monitor/view.go, internal/tui/app.go
Two-pane list architecture for services and images with FocusServices/FocusImages focus states; recording capability with dedicated log files; refactored key bindings (Start, Stop, Restart, Record); container action messaging; stats tracking per service
Ollama Deployment
infra/ollama/docker-compose.yml, infra/ollama/README.md
Docker Compose configuration for Ollama service with GPU support, healthchecks, and persistent volumes; deployment guide with quick-start and CPU-only mode instructions
Documentation & Dependencies
README.md, go.mod
Updated config path references (dev-cli → devlogs); new direct dependencies (testcontainers-go, creack/pty); additional Docker and containerd related transitive dependencies

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~50 minutes

The changes span multiple layers (CLI commands, infrastructure, Docker/Ollama integration, TUI), introduce numerous new types and public methods (Docker operations, logging sinks, GPU providers), mix heterogeneous logic (health checks, streaming, GPU detection), and include infrastructure automation and configuration. While many individual cohorts are straightforward, the scope breadth, logic density in Docker/Ollama integrations, and TUI refactoring requiring careful focus state tracking demand substantial cross-file reasoning.

Poem

🐰 A rabbit's delight in this grand refactoring
Doctor checks health while Ollama awaits the call,
Services dance in lists, logs recorded with care,
GPU stats shimmer, ports conflict no more,
From workflows to widgets, the dev-cli stands tall! 🚀

✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch dev

📜 Recent review details

Configuration used: defaults

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between a7ecb45 and 22fa205.

⛔ Files ignored due to path filters (1)
  • go.sum is excluded by !**/*.sum
📒 Files selected for processing (24)
  • .github/workflows/ci.yml
  • .github/workflows/release.yml
  • .golangci.yml
  • .goreleaser.yaml
  • Makefile
  • README.md
  • cmd/doctor.go
  • cmd/export.go
  • cmd/watch.go
  • dev-cli
  • go.mod
  • infra/ollama/README.md
  • infra/ollama/docker-compose.yml
  • internal/infra/config.go
  • internal/infra/docker.go
  • internal/infra/docker_test.go
  • internal/infra/logsink.go
  • internal/infra/ollama.go
  • internal/infra/registry.go
  • internal/infra/system.go
  • internal/tui/app.go
  • internal/tui/tabs/monitor/model.go
  • internal/tui/tabs/monitor/update.go
  • internal/tui/tabs/monitor/view.go

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@opx0
opx0 merged commit 6f932b0 into main Dec 25, 2025
3 of 7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant