Skip to content

feat: add scanner skeleton and Has repo description rule#2

Merged
packet-mover merged 1 commit intomainfrom
feat/has-repo-description
Apr 5, 2026
Merged

feat: add scanner skeleton and Has repo description rule#2
packet-mover merged 1 commit intomainfrom
feat/has-repo-description

Conversation

@packet-mover
Copy link
Copy Markdown
Contributor

@packet-mover packet-mover commented Apr 4, 2026

Summary

  • Establishes the project foundation: GitHubClient interface, scanner engine, rule evaluation pattern, and mock-based testing approach
  • Implements Rule 1 ("Has repo description"): passes if the GitHub repo description is non-empty, fails if blank or whitespace-only
  • Scanner skips archived repos and returns results sorted alphabetically

Files added

File Purpose
go.mod Go module definition
client.go Repo struct + GitHubClient interface
client_mock.go Mock client for testing
rules.go Rule definitions (currently: Has repo description)
scanner.go Scan() — lists repos, evaluates rules, returns results
main.go Entry point placeholder (reads config from env vars)
rules_test.go Rule unit tests (pass, fail empty, fail whitespace)
scanner_test.go Integration tests (skip archived, sort order, error propagation)

Test plan

  • go test ./... passes (7 tests)
  • Review that the interface shape supports future rules (ListFiles, GetFileContent, etc.)

Establishes the project foundation:
- GitHubClient interface and mock implementation
- Scanner with rule evaluation engine (skips archived repos, sorts alphabetically)
- First rule: "Has repo description" (pass if non-empty, fail if blank/whitespace)
- Tests covering pass, fail, edge cases, and scanner integration

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@packet-mover packet-mover merged commit 1e06f6b into main Apr 5, 2026
1 of 2 checks passed
@packet-mover packet-mover deleted the feat/has-repo-description branch April 5, 2026 19:09
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