scan

package
v0.1.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 25, 2026 License: AGPL-3.0 Imports: 2 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type DocumentService

type DocumentService interface {
	ListRepos() []RepoInfo
	SearchDocs(query string) []FileEntry
	GetFileContent(ctx context.Context, repo, path string) (string, error)
	Status() (scanning bool, lastScan time.Time, repoCount int)
	TriggerScan() bool
}

DocumentService is the inbound port called by internal/adapter/mcp tools.

type FileEntry

type FileEntry struct {
	RepoName string `json:"repo_name"`
	Path     string `json:"path"`
	SHA      string `json:"sha"`
	Type     string `json:"type"`
}

FileEntry represents an indexed documentation file.

type RepoInfo

type RepoInfo struct {
	Name        string      `json:"name"`
	FullName    string      `json:"full_name"`
	Description string      `json:"description"`
	HTMLURL     string      `json:"html_url"`
	Files       []FileEntry `json:"files"`
}

RepoInfo holds metadata about a repository that contains documentation.

type ScannerGateway

type ScannerGateway interface {
	Start(ctx context.Context)
	SetOnScanComplete(func([]RepoInfo))
	Status() (scanning bool, lastScan time.Time, repoCount int)
	TriggerScan() bool
	TriggerRepoScan(ctx context.Context, owner, repo string)
}

ScannerGateway is the outbound port implemented by internal/infra/github.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL