techstack

package
v0.50.21 Latest Latest
Warning

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

Go to latest
Published: May 30, 2026 License: MIT Imports: 6 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func HasManifest

func HasManifest(projectDir string) bool

HasManifest reports whether projectDir already contains a dependency/build manifest that should be treated as a brownfield compatibility constraint.

func RenderMarkdown

func RenderMarkdown(decision Decision) string

RenderMarkdown returns a compact research.md section for the stack decision.

func ValidateDecision

func ValidateDecision(decision Decision) error

ValidateDecision enforces the freshness evidence required for stack decisions.

Types

type Candidate

type Candidate struct {
	Name       string
	Version    string
	Stability  string
	SourceRefs []SourceRef
	Notes      []string
}

Candidate is a selected or rejected technology/library version.

type Decision

type Decision struct {
	Mode            ProjectMode
	Selected        []Candidate
	Rejected        []Candidate
	Constraints     []string
	AllowPrerelease bool
	GeneratedAt     time.Time
}

Decision is the structured technology stack decision that PRD/SPEC research should preserve before implementation starts.

type ProjectMode

type ProjectMode string

ProjectMode identifies whether stack choices should preserve existing manifests or resolve current stable versions for a new project.

const (
	ModeGreenfield ProjectMode = "greenfield"
	ModeBrownfield ProjectMode = "brownfield"
)

func InferMode

func InferMode(projectDir, description string) ProjectMode

InferMode classifies the request as greenfield or brownfield. Explicit request wording wins over local manifests because users often ask for a new project from inside a meta workspace.

type SourceRef

type SourceRef struct {
	Name      string
	URL       string
	Version   string
	CheckedAt time.Time
}

SourceRef records the source used to justify a version choice.

Jump to

Keyboard shortcuts

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