cli

package
v2.4.0 Latest Latest
Warning

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

Go to latest
Published: Apr 27, 2026 License: MIT Imports: 42 Imported by: 0

Documentation

Index

Constants

View Source
const (
	ExitSuccess         = 0
	ExitInputError      = 1
	ExitSpecError       = 2
	ExitGenerationError = 3
	ExitUnknownError    = 4
	ExitPublishError    = 5
)

Exit codes for structured error reporting.

Variables

This section is empty.

Functions

func Execute

func Execute() error

Types

type CheckResult

type CheckResult struct {
	Name    string `json:"name"`
	Passed  bool   `json:"passed"`
	Error   string `json:"error,omitempty"`
	Warning string `json:"warning,omitempty"`
}

CheckResult represents a single validation check.

type EmbossDelta

type EmbossDelta struct {
	ScorecardDelta int     `json:"scorecard_delta"`
	VerifyDelta    float64 `json:"verify_delta"`
	CommandDelta   int     `json:"command_delta"`
	PipelineFixed  bool    `json:"pipeline_fixed"`
}

type EmbossReport

type EmbossReport struct {
	Dir          string          `json:"dir"`
	Spec         string          `json:"spec"`
	Timestamp    string          `json:"timestamp"`
	Before       EmbossSnapshot  `json:"before"`
	After        *EmbossSnapshot `json:"after,omitempty"`
	Delta        *EmbossDelta    `json:"delta,omitempty"`
	Improvements []string        `json:"improvements,omitempty"`
	Mode         string          `json:"mode"` // "audit-only" or "full"
}

EmbossReport captures the before/after delta from an emboss cycle.

type EmbossSnapshot

type EmbossSnapshot struct {
	ScorecardTotal int     `json:"scorecard_total"`
	ScorecardGrade string  `json:"scorecard_grade"`
	VerifyPassRate float64 `json:"verify_pass_rate"`
	VerifyPassed   int     `json:"verify_passed"`
	VerifyTotal    int     `json:"verify_total"`
	DataPipeline   bool    `json:"data_pipeline"`
	CommandCount   int     `json:"command_count"`
}

type ExitError

type ExitError struct {
	Code   int
	Err    error
	Silent bool
}

ExitError wraps an error with a specific exit code. When Silent is true, main should exit with the code but not print the error message — used when structured output (--json) already contains the failure details.

func (*ExitError) Error

func (e *ExitError) Error() string

func (*ExitError) Unwrap

func (e *ExitError) Unwrap() error

type LibraryEntry

type LibraryEntry struct {
	CLIName      string    `json:"cli_name"`
	Dir          string    `json:"dir"`
	APIName      string    `json:"api_name,omitempty"`
	Category     string    `json:"category,omitempty"`
	CatalogEntry string    `json:"catalog_entry,omitempty"`
	Description  string    `json:"description,omitempty"`
	Modified     time.Time `json:"modified"`
}

LibraryEntry represents a CLI in the local library for listing purposes.

type MCPAuditFinding

type MCPAuditFinding struct {
	API        string `json:"api"`         // library directory basename
	HasMCP     bool   `json:"has_mcp"`     // the CLI emits an MCP server
	Transport  string `json:"transport"`   // "stdio", "http", "both", "unknown", "n/a"
	ToolDesign string `json:"tool_design"` // "endpoint-mirror", "intent", "code-orch", "n/a"
	EndpointCt int    `json:"endpoint_count"`
	IntentCt   int    `json:"intent_count"`
	Recommend  string `json:"recommend"` // short, actionable suggestion
}

MCPAuditFinding summarizes one CLI's MCP shape. Stable JSON field names so downstream tools (ci scripts, the future emboss-audit loop) can consume this without depending on go struct ordering.

type PackageResult

type PackageResult struct {
	StagedDir           string `json:"staged_dir"`
	CLIName             string `json:"cli_name"`
	APIName             string `json:"api_name"`
	Category            string `json:"category"`
	ModulePath          string `json:"module_path,omitempty"`
	ManuscriptsIncluded bool   `json:"manuscripts_included"`
	RunID               string `json:"run_id,omitempty"`
}

PackageResult is the JSON output of publish package.

type RenameResult

type RenameResult struct {
	Success       bool   `json:"success"`
	OldName       string `json:"old_name"`
	NewName       string `json:"new_name"`
	NewDir        string `json:"new_dir"`
	FilesModified int    `json:"files_modified"`
	Error         string `json:"error,omitempty"`
}

RenameResult is the JSON output of publish rename.

type ValidateResult

type ValidateResult struct {
	Passed     bool          `json:"passed"`
	CLIName    string        `json:"cli_name"`
	APIName    string        `json:"api_name"`
	HelpOutput string        `json:"help_output,omitempty"`
	Checks     []CheckResult `json:"checks"`
}

ValidateResult is the JSON output of publish validate.

Jump to

Keyboard shortcuts

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