reuse

package
v0.10.0 Latest Latest
Warning

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

Go to latest
Published: Jun 13, 2026 License: MIT Imports: 6 Imported by: 0

Documentation

Overview

Package reuse provides requirements reuse tracking across projects.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type DuplicateGroup

type DuplicateGroup struct {
	Text     string           `json:"text"`
	Count    int              `json:"count"`
	Projects []string         `json:"projects"`
	Refs     []RequirementRef `json:"refs"`
}

DuplicateGroup represents exact or near-exact duplicates.

type Requirement

type Requirement struct {
	Project  string
	SpecType string
	Line     int
	Text     string
	Keywords []string
}

Requirement represents an extracted requirement.

type RequirementRef

type RequirementRef struct {
	Project  string `json:"project"`
	SpecType string `json:"spec_type"`
	Line     int    `json:"line"`
	Text     string `json:"text"`
}

RequirementRef references a specific requirement in a spec.

type ReuseCandidate

type ReuseCandidate struct {
	Type        string           `json:"type"`
	Description string           `json:"description"`
	Items       []RequirementRef `json:"items"`
	Suggestion  string           `json:"suggestion"`
	Priority    string           `json:"priority"` // high, medium, low
}

ReuseCandidate suggests potential reuse opportunities.

type ReuseReport

type ReuseReport struct {
	SimilarRequirements []SimilarGroup   `json:"similar_requirements"`
	DuplicatePatterns   []DuplicateGroup `json:"duplicate_patterns"`
	ReuseCandidates     []ReuseCandidate `json:"reuse_candidates"`
	Summary             ReuseSummary     `json:"summary"`
}

ReuseReport contains the analysis results.

type ReuseSummary

type ReuseSummary struct {
	TotalRequirements   int `json:"total_requirements"`
	UniquePatterns      int `json:"unique_patterns"`
	DuplicateCount      int `json:"duplicate_count"`
	ReuseCandidateCount int `json:"reuse_candidate_count"`
	ProjectsAnalyzed    int `json:"projects_analyzed"`
}

ReuseSummary provides aggregate statistics.

type SimilarGroup

type SimilarGroup struct {
	Pattern     string           `json:"pattern"`
	Description string           `json:"description"`
	Items       []RequirementRef `json:"items"`
	Similarity  float64          `json:"similarity"`
}

SimilarGroup represents requirements with similar wording.

type Tracker

type Tracker struct {
	// contains filtered or unexported fields
}

Tracker identifies similar requirements across projects.

func NewTracker

func NewTracker(specsDir string) *Tracker

NewTracker creates a new reuse tracker.

func (*Tracker) Analyze

func (t *Tracker) Analyze() (*ReuseReport, error)

Analyze performs the reuse analysis.

Jump to

Keyboard shortcuts

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