Documentation
¶
Index ¶
- type AnalyzeOptions
- type CoordinatedContent
- type DevOpsMode
- func (d *DevOpsMode) GenerateServerYAMLWithLLM(opts DevOpsSetupOptions) (string, error)
- func (d *DevOpsMode) Resources(ctx context.Context, opts ResourceOptions) error
- func (d *DevOpsMode) Secrets(ctx context.Context, opts SecretsOptions) error
- func (d *DevOpsMode) Setup(ctx context.Context, opts DevOpsSetupOptions) error
- type DevOpsSetupOptions
- type DeveloperMode
- func (d *DeveloperMode) Analyze(ctx context.Context, opts *AnalyzeOptions) error
- func (d *DeveloperMode) ConfirmDeploymentType(opts *SetupOptions, analysis *analysis.ProjectAnalysis) error
- func (d *DeveloperMode) GenerateClientYAMLWithLLM(opts *SetupOptions, analysis *analysis.ProjectAnalysis) (string, error)
- func (d *DeveloperMode) GenerateClientYAMLWithStreamingLLM(opts *SetupOptions, analysis *analysis.ProjectAnalysis, ...) (string, error)
- func (d *DeveloperMode) GenerateComposeYAMLWithLLM(analysis *analysis.ProjectAnalysis) (string, error)
- func (d *DeveloperMode) GenerateDockerfileWithLLM(analysis *analysis.ProjectAnalysis) (string, error)
- func (d *DeveloperMode) GenerateMultipleFiles(ctx context.Context, req MultiFileGenerationRequest) (*MultiFileGenerationResult, error)
- func (d *DeveloperMode) GetLLMProvider() llm.Provider
- func (d *DeveloperMode) Setup(ctx context.Context, opts *SetupOptions) error
- type MultiFileGenerationRequest
- type MultiFileGenerationResult
- type ProgressDisplay
- type ResourceCategory
- type ResourceOptions
- type SchemaResource
- type SecretsOptions
- type SetupOptions
- type SimpleSpinner
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AnalyzeOptions ¶
AnalyzeOptions for developer analyze command
type CoordinatedContent ¶
type CoordinatedContent struct {
Dockerfile string
DockerCompose string
ClientYAML string
ServerYAML string
Metadata map[string]interface{}
}
CoordinatedContent holds the coordinated generated content
type DevOpsMode ¶
type DevOpsMode struct {
// contains filtered or unexported fields
}
DevOpsMode handles infrastructure-focused workflows
func NewDevOpsMode ¶
func NewDevOpsMode() *DevOpsMode
NewDevOpsMode creates a new DevOps mode instance
func NewDevOpsModeWithLLM ¶
func NewDevOpsModeWithLLM(llmProvider llm.Provider) *DevOpsMode
NewDevOpsModeWithLLM creates a new DevOps mode instance with LLM support
func (*DevOpsMode) GenerateServerYAMLWithLLM ¶
func (d *DevOpsMode) GenerateServerYAMLWithLLM(opts DevOpsSetupOptions) (string, error)
GenerateServerYAMLWithLLM generates server.yaml using LLM with validation
func (*DevOpsMode) Resources ¶
func (d *DevOpsMode) Resources(ctx context.Context, opts ResourceOptions) error
Resources manages shared infrastructure resources
func (*DevOpsMode) Secrets ¶
func (d *DevOpsMode) Secrets(ctx context.Context, opts SecretsOptions) error
Secrets manages authentication credentials and secrets
func (*DevOpsMode) Setup ¶
func (d *DevOpsMode) Setup(ctx context.Context, opts DevOpsSetupOptions) error
Setup creates infrastructure configuration with interactive wizard
type DevOpsSetupOptions ¶
type DevOpsSetupOptions struct {
Interactive bool
CloudProvider string
Environments []string
Resources []string
Templates []string
Prefix string
Region string
OutputDir string
}
SetupOptions for DevOps setup command
type DeveloperMode ¶
type DeveloperMode struct {
// contains filtered or unexported fields
}
DeveloperMode handles application-focused workflows
func NewDeveloperMode ¶
func NewDeveloperMode() *DeveloperMode
NewDeveloperMode creates a new developer mode instance
func NewDeveloperModeWithComponents ¶
func NewDeveloperModeWithComponents(provider llm.Provider, embeddingsDB *embeddings.Database, analyzer *analysis.ProjectAnalyzer) *DeveloperMode
NewDeveloperModeWithComponents creates a new developer mode with provided components (for reuse)
func (*DeveloperMode) Analyze ¶
func (d *DeveloperMode) Analyze(ctx context.Context, opts *AnalyzeOptions) error
Analyze performs detailed project analysis
func (*DeveloperMode) ConfirmDeploymentType ¶
func (d *DeveloperMode) ConfirmDeploymentType(opts *SetupOptions, analysis *analysis.ProjectAnalysis) error
ConfirmDeploymentType confirms the detected deployment type with the user
func (*DeveloperMode) GenerateClientYAMLWithLLM ¶
func (d *DeveloperMode) GenerateClientYAMLWithLLM(opts *SetupOptions, analysis *analysis.ProjectAnalysis) (string, error)
LLM-based file generation functions
func (*DeveloperMode) GenerateClientYAMLWithStreamingLLM ¶
func (d *DeveloperMode) GenerateClientYAMLWithStreamingLLM(opts *SetupOptions, analysis *analysis.ProjectAnalysis, progressCallback llm.StreamCallback) (string, error)
GenerateClientYAMLWithStreamingLLM generates client.yaml with streaming progress feedback
func (*DeveloperMode) GenerateComposeYAMLWithLLM ¶
func (d *DeveloperMode) GenerateComposeYAMLWithLLM(analysis *analysis.ProjectAnalysis) (string, error)
func (*DeveloperMode) GenerateDockerfileWithLLM ¶
func (d *DeveloperMode) GenerateDockerfileWithLLM(analysis *analysis.ProjectAnalysis) (string, error)
func (*DeveloperMode) GenerateMultipleFiles ¶
func (d *DeveloperMode) GenerateMultipleFiles(ctx context.Context, req MultiFileGenerationRequest) (*MultiFileGenerationResult, error)
GenerateMultipleFiles generates multiple coordinated files for a complete project setup
func (*DeveloperMode) GetLLMProvider ¶
func (d *DeveloperMode) GetLLMProvider() llm.Provider
GetLLMProvider returns the LLM provider for use by other components
func (*DeveloperMode) Setup ¶
func (d *DeveloperMode) Setup(ctx context.Context, opts *SetupOptions) error
Setup generates application configuration files
type MultiFileGenerationRequest ¶
type MultiFileGenerationRequest struct {
ProjectPath string `json:"project_path"`
SetupOptions *SetupOptions `json:"setup_options"`
ProjectAnalysis *analysis.ProjectAnalysis `json:"project_analysis"`
// File selection
GenerateDockerfile bool `json:"generate_dockerfile"`
GenerateDockerCompose bool `json:"generate_docker_compose"`
GenerateClientYAML bool `json:"generate_client_yaml"`
GenerateServerYAML bool `json:"generate_server_yaml"`
// Generation options
UseStreaming bool `json:"use_streaming"`
ValidateGenerated bool `json:"validate_generated"`
ForceOverwrite bool `json:"force_overwrite"`
}
MultiFileGenerationRequest represents a request to generate multiple coordinated files
type MultiFileGenerationResult ¶
type MultiFileGenerationResult struct {
Success bool `json:"success"`
// Generated content
DockerfileContent string `json:"dockerfile_content"`
DockerComposeContent string `json:"docker_compose_content"`
ClientYAMLContent string `json:"client_yaml_content"`
ServerYAMLContent string `json:"server_yaml_content"`
// File paths
DockerfilePath string `json:"dockerfile_path"`
DockerComposePath string `json:"docker_compose_path"`
ClientYAMLPath string `json:"client_yaml_path"`
ServerYAMLPath string `json:"server_yaml_path"`
// Generation metadata
GenerationTime float64 `json:"generation_time_seconds"`
ValidationResults map[string]bool `json:"validation_results"`
Warnings []string `json:"warnings"`
Errors []string `json:"errors"`
}
MultiFileGenerationResult contains the results of multi-file generation
type ProgressDisplay ¶
type ProgressDisplay struct {
// contains filtered or unexported fields
}
ProgressDisplay provides visual feedback during streaming generation
func NewProgressDisplay ¶
func NewProgressDisplay(prefix string) *ProgressDisplay
NewProgressDisplay creates a new progress display
func (*ProgressDisplay) GetContent ¶
func (p *ProgressDisplay) GetContent() string
GetContent returns the current content
func (*ProgressDisplay) IsCompleted ¶
func (p *ProgressDisplay) IsCompleted() bool
IsCompleted returns whether the operation is completed
func (*ProgressDisplay) Reset ¶
func (p *ProgressDisplay) Reset(prefix string)
Reset resets the progress display for reuse
func (*ProgressDisplay) StreamCallback ¶
func (p *ProgressDisplay) StreamCallback() llm.StreamCallback
StreamCallback returns a callback function that displays progress
type ResourceCategory ¶
type ResourceCategory struct {
Name string
Description string
Selected bool
Category string
ResourceType string
Provider string
}
ResourceCategory represents a categorized resource for user selection
type ResourceOptions ¶
type ResourceOptions struct {
Action string // list, add, remove, update
ResourceType string
ResourceName string
Environment string
Interactive bool
CopyFromEnv string
ScaleUp bool
ScaleDown bool
}
ResourceOptions for DevOps resource management
type SchemaResource ¶
type SchemaResource struct {
Name string `json:"name"`
Type string `json:"type"`
Provider string `json:"provider"`
Description string `json:"description"`
ResourceType string `json:"resourceType"`
GoPackage string `json:"goPackage"`
GoStruct string `json:"goStruct"`
}
SchemaResource represents a resource from the embedded schemas
type SecretsOptions ¶
type SecretsOptions struct {
Action string // init, auth, generate, import, rotate
Provider string
Interactive bool
SecretNames []string
Length int
ExportTo string
}
SecretsOptions for DevOps secrets management
type SetupOptions ¶
type SetupOptions struct {
Interactive bool
Environment string
Parent string
SkipAnalysis bool
SkipDockerfile bool
SkipCompose bool
Language string
Framework string
CloudProvider string
OutputDir string
// Multi-file generation options
GenerateAll bool // Generate all files in one coordinated operation
UseStreaming bool // Use streaming LLM responses for better UX
// Deployment type override (if user manually selected)
DeploymentType string // Override detected deployment type: "static", "single-image", "cloud-compose"
// Skip all confirmation prompts (useful for MCP/API usage)
SkipConfirmation bool
// Force overwrite existing files without prompting (useful for MCP/API usage)
ForceOverwrite bool
}
SetupOptions for developer setup command
type SimpleSpinner ¶
type SimpleSpinner struct {
// contains filtered or unexported fields
}
SimpleSpinner provides a basic spinner without progress estimation
func NewSimpleSpinner ¶
func NewSimpleSpinner(message string) *SimpleSpinner
NewSimpleSpinner creates a new simple spinner
func (*SimpleSpinner) Start ¶
func (s *SimpleSpinner) Start()
Start starts the spinner in a goroutine
func (*SimpleSpinner) Stop ¶
func (s *SimpleSpinner) Stop(success bool)
Stop stops the spinner and shows completion