Skip to content

Repository Scanner: languages, frameworks, dependencies, structure, git (v0.1.0)#7

Merged
s1rry merged 1 commit into
mainfrom
feature/repo-scanner
Jul 4, 2026
Merged

Repository Scanner: languages, frameworks, dependencies, structure, git (v0.1.0)#7
s1rry merged 1 commit into
mainfrom
feature/repo-scanner

Conversation

@s1rry

@s1rry s1rry commented Jul 4, 2026

Copy link
Copy Markdown
Owner

What

First milestone (v0.1.0): DevPilot analyzes a repository end to end. No AI.

Repository Scanner — scan a project folder and get a full report:

  • New devpilot-scan crate: pure manifest detectors (npm, Cargo, PyPI, Go) split from a filesystem adapter (FsProjectScanner) behind a new ProjectScanner core port. Detectors are pure functions over manifest text.
  • Detects: languages (file tree), frameworks + dependencies (manifests), folder structure (top-level + notable dirs), git info (branch, commit count, last commit, top contributors aggregated from history).
  • Core: ScanReport/Framework/Dependency/FolderSummary/GitSummary entities, ScanRepository use case.
  • Wiring: scan_folder Tauri command via DI; typed lib/ipc/scan.ts.
  • UI: Analysis view with overview cards, language bars, framework chips, dependency list, structure and git panels.

Verification

  • cargo fmt --check, clippy -D warnings, full cargo test --workspace: clean.
    • Detectors: 7 unit tests over manifest strings. Scanner: 3 integration tests on real temp manifests. Use case: 3 tests over mocks. Plus existing suite.
  • pnpm build (tsc strict + vite): clean.
  • Rendered live in the Vite preview: seeded a report showing all panels (languages, frameworks, dependencies, structure, git contributors) — no console errors.

Real scanning runs against the backend in pnpm tauri dev.

Architecture holds: devpilot-scan depends only on devpilot-core; the scanner reads the working copy directly, so it does not depend on devpilot-git (use case orchestrates both).

🤖 Generated with Claude Code

…it (v0.1.0)

First milestone — DevPilot analyzes a repository end to end. No AI.

New devpilot-scan crate: pure manifest detectors (npm, Cargo, PyPI, Go)
split from a filesystem adapter (FsProjectScanner) behind a new
ProjectScanner port. ScanRepository use case assembles a full ScanReport:
languages from the file tree, frameworks and dependencies from manifests,
folder structure, and git info (branch, commit count, last commit, top
contributors). Wired through DI as the scan_folder command with a typed
lib/ipc/scan layer, and surfaced in the Analysis view (overview cards,
language bars, framework chips, dependency list, structure and git panels).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@s1rry s1rry merged commit 39493b5 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