Skip to content

Repository Manager wiring: Tauri commands, DI, typed IPC (v0.0.5)#5

Merged
s1rry merged 2 commits into
mainfrom
feature/repo-manager-ipc
Jul 4, 2026
Merged

Repository Manager wiring: Tauri commands, DI, typed IPC (v0.0.5)#5
s1rry merged 2 commits into
mainfrom
feature/repo-manager-ipc

Conversation

@s1rry

@s1rry s1rry commented Jul 4, 2026

Copy link
Copy Markdown
Owner

What

Sub-step 4b — plumbing that connects the 4a backend to the frontend. No UI yet, no AI.

  • DI / composition root (src-tauri/src/di.rs): builds Git2Reader and JsonRecentProjectsStore into AppState, resolving <app-data>/clones and <app-data>/recent-projects.json. First real dependency injection — command handlers depend only on core ports.
  • IPC commands (src-tauri/src/commands.rs): open_folder, clone_repository, list_recent_projects, remove_recent_project. Each clones the injected ports, delegates to a core use case, maps the typed error to a string. No logic in the handlers (ADR-0001).
  • Typed frontend IPC (src/lib/ipc/repository.ts): the only place the UI talks to Rust for repositories; types mirror the core entities as they serialize.

Verification

  • cargo build -p devpilot-desktop and clippy -D warnings: clean.
  • pnpm build (tsc strict + vite): clean.
  • End-to-end behavior is exercised live in the next sub-step (4c), which adds the RepositoryView UI on top of this layer.

Next: 4c — RepositoryView (open-folder dialog, clone form, recent list, metadata panel).

🤖 Generated with Claude Code

s1rry and others added 2 commits July 4, 2026 13:24
First real dependency injection in the composition root: di.rs builds
Git2Reader and JsonRecentProjectsStore into AppState under the app data
directory. Thin IPC commands (open_folder, clone_repository,
list_recent_projects, remove_recent_project) delegate to core use cases and
map typed errors to strings. Frontend gains a typed lib/ipc layer mirroring
the core entities. No UI yet — that is the next sub-step.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@s1rry s1rry merged commit 8520b4e into main Jul 4, 2026
4 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