suggest

package
v0.0.2 Latest Latest
Warning

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

Go to latest
Published: Sep 17, 2026 License: MIT Imports: 6 Imported by: 0

Documentation

Overview

Package suggest implements AI-driven feature idea generation. It brainstorms concrete feature suggestions for a project and returns them in a structured format suitable for interactive user review.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func BuildPrompt

func BuildPrompt(goal, instructions, fileTree, recentLog, memCtx, existingTasks string, count int) string

BuildPrompt constructs the prompt for generating feature suggestions.

func CategoryLabel

func CategoryLabel(c Category) string

CategoryLabel returns a human-readable category label.

func EffortLabel

func EffortLabel(e Effort) string

EffortLabel returns a human-readable effort label.

Types

type Category

type Category string

Category classifies the type of a suggestion.

const (
	CategoryFeature     Category = "feature"
	CategoryUX          Category = "ux"
	CategoryPerformance Category = "performance"
	CategorySecurity    Category = "security"
	CategoryDX          Category = "dx" // developer experience
	CategoryIntegration Category = "integration"
	CategoryDocs        Category = "docs"
)

type Effort

type Effort string

Effort is a rough implementation size estimate.

const (
	EffortXS Effort = "xs" // < 1 hour
	EffortS  Effort = "s"  // 1–4 hours
	EffortM  Effort = "m"  // 4–16 hours
	EffortL  Effort = "l"  // 1–5 days
	EffortXL Effort = "xl" // > 1 week
)

type Result

type Result struct {
	Suggestions []*Suggestion `json:"suggestions"`
	Summary     string        `json:"summary"`
}

Result holds all AI-generated suggestions and an optional summary.

func Generate

func Generate(ctx context.Context, p provider.Provider, prompt, model string, timeout time.Duration) (*Result, error)

Generate calls the provider to brainstorm feature suggestions.

func Parse

func Parse(output string) (*Result, error)

Parse extracts a Result from the AI's JSON response.

type Suggestion

type Suggestion struct {
	ID          int      `json:"id"`
	Title       string   `json:"title"`
	Description string   `json:"description"`
	Rationale   string   `json:"rationale"`
	Category    Category `json:"category"`
	Effort      Effort   `json:"effort"`
}

Suggestion is a single AI-brainstormed feature idea.

Jump to

Keyboard shortcuts

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