cli

package
v0.2.0 Latest Latest
Warning

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

Go to latest
Published: Aug 26, 2025 License: MIT Imports: 29 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// MaxIterations limits how many batches we fetch to prevent infinite loops
	MaxIterations = 20
	// BatchSize is the number of runs to fetch in each iteration
	BatchSize = 100
	// BatchSizeForAllWorkflows is the larger batch size when searching for agentic workflows
	// There can be a really large number of workflow runs in a repository, so
	// we are generous in the batch size when used without qualification.
	BatchSizeForAllWorkflows = 250
	// MaxConcurrentDownloads limits the number of parallel artifact downloads
	MaxConcurrentDownloads = 10
)

Constants for the iterative algorithm

Variables

View Source
var ErrNoArtifacts = errors.New("no artifacts found for this run")

ErrNoArtifacts indicates that a workflow run has no artifacts

Functions

func AddWorkflowWithRepo

func AddWorkflowWithRepo(workflow string, number int, verbose bool, engineOverride string, repoSpec string, name string, force bool) error

AddWorkflowWithRepo adds a workflow from components to .github/workflows with optional repository installation

func AddWorkflowWithRepoAndPR

func AddWorkflowWithRepoAndPR(workflow string, number int, verbose bool, engineOverride string, repoSpec string, name string, force bool) error

AddWorkflowWithRepoAndPR adds a workflow from components to .github/workflows with optional repository installation and creates a PR

func AddWorkflowWithTracking added in v0.0.22

func AddWorkflowWithTracking(workflow string, number int, verbose bool, engineOverride string, name string, force bool, tracker *FileTracker) error

AddWorkflowWithTracking adds a workflow from components to .github/workflows with file tracking

func CompileWorkflows

func CompileWorkflows(markdownFile string, verbose bool, engineOverride string, validate bool, watch bool, writeInstructions bool) error

CompileWorkflows compiles markdown files into GitHub Actions workflow files

func DisableWorkflows

func DisableWorkflows(pattern string) error

DisableWorkflows disables workflows matching a pattern

func DownloadWorkflowLogs

func DownloadWorkflowLogs(workflowName string, count int, startDate, endDate, outputDir, engine string, verbose bool) error

DownloadWorkflowLogs downloads and analyzes workflow logs with metrics

func EnableWorkflows

func EnableWorkflows(pattern string) error

EnableWorkflows enables workflows matching a pattern

func GetVersion

func GetVersion() string

GetVersion returns the current version

func InspectWorkflowMCP

func InspectWorkflowMCP(workflowFile string, serverFilter string, toolFilter string, verbose bool) error

InspectWorkflowMCP inspects MCP servers used by a workflow and lists available tools, resources, and roots

func InstallPackage

func InstallPackage(repoSpec string, local bool, verbose bool) error

InstallPackage installs agent workflows from a GitHub repository

func IsRunnable

func IsRunnable(markdownPath string) (bool, error)

IsRunnable checks if a workflow can be run (has schedule or workflow_dispatch trigger)

func ListPackages

func ListPackages(local bool, verbose bool) error

ListPackages lists all installed packages

func ListWorkflows

func ListWorkflows(verbose bool) error

ListWorkflows lists available workflow components

func NewLogsCommand

func NewLogsCommand() *cobra.Command

NewLogsCommand creates the logs command

func NewMCPInspectCommand added in v0.2.0

func NewMCPInspectCommand() *cobra.Command

NewMCPInspectCommand creates the mcp-inspect command

func NewWorkflow

func NewWorkflow(workflowName string, verbose bool, force bool) error

NewWorkflow creates a new workflow markdown file with template content

func RemoveWorkflows

func RemoveWorkflows(pattern string, keepOrphans bool) error

RemoveWorkflows removes workflows matching a pattern

func RunWorkflowOnGitHub

func RunWorkflowOnGitHub(workflowIdOrName string, verbose bool) error

RunWorkflowOnGitHub runs an agentic workflow on GitHub Actions

func SetVersionInfo

func SetVersionInfo(v string)

SetVersionInfo sets the version information for the CLI

func StatusWorkflows

func StatusWorkflows(pattern string, verbose bool) error

func UninstallPackage

func UninstallPackage(repoSpec string, local bool, verbose bool) error

UninstallPackage removes an installed package

Types

type DownloadResult added in v0.0.25

type DownloadResult struct {
	Run      WorkflowRun
	Metrics  LogMetrics
	Error    error
	Skipped  bool
	LogsPath string
}

DownloadResult represents the result of downloading artifacts for a single run

type FileTracker added in v0.0.22

type FileTracker struct {
	CreatedFiles    []string
	ModifiedFiles   []string
	OriginalContent map[string][]byte // Store original content for rollback
	// contains filtered or unexported fields
}

FileTracker keeps track of files created or modified during workflow operations to enable proper staging and rollback functionality

func NewFileTracker added in v0.0.22

func NewFileTracker() (*FileTracker, error)

NewFileTracker creates a new file tracker

func (*FileTracker) GetAllFiles added in v0.0.22

func (ft *FileTracker) GetAllFiles() []string

GetAllFiles returns all tracked files (created and modified)

func (*FileTracker) RollbackAllFiles added in v0.0.22

func (ft *FileTracker) RollbackAllFiles(verbose bool) error

RollbackAllFiles rolls back both created and modified files

func (*FileTracker) RollbackCreatedFiles added in v0.0.22

func (ft *FileTracker) RollbackCreatedFiles(verbose bool) error

RollbackCreatedFiles deletes all files that were created during the operation

func (*FileTracker) RollbackModifiedFiles added in v0.0.22

func (ft *FileTracker) RollbackModifiedFiles(verbose bool) error

RollbackModifiedFiles restores all modified files to their original state

func (*FileTracker) StageAllFiles added in v0.0.22

func (ft *FileTracker) StageAllFiles(verbose bool) error

StageAllFiles stages all tracked files using git add

func (*FileTracker) TrackCreated added in v0.0.22

func (ft *FileTracker) TrackCreated(filePath string)

TrackCreated adds a file to the created files list

func (*FileTracker) TrackModified added in v0.0.22

func (ft *FileTracker) TrackModified(filePath string)

TrackModified adds a file to the modified files list and stores its original content

type GitHubWorkflow

type GitHubWorkflow struct {
	ID    int64  `json:"id"`
	Name  string `json:"name"`
	Path  string `json:"path"`
	State string `json:"state"`
}

GitHubWorkflow represents a GitHub Actions workflow from the API

type IncludeDependency

type IncludeDependency struct {
	SourcePath string // Path in the source (local)
	TargetPath string // Relative path where it should be copied in .github/workflows
}

IncludeDependency represents a file dependency from @include directives

type LogMetrics

type LogMetrics = workflow.LogMetrics

LogMetrics represents extracted metrics from log files This is now an alias to the shared type in workflow package

type Package

type Package struct {
	Name      string
	Path      string
	Workflows []string
	CommitSHA string
}

Package represents an installed package

type WorkflowMatch

type WorkflowMatch struct {
	Path        string
	PackageName string
	Org         string
	Repo        string
}

WorkflowMatch represents a workflow match in package search

type WorkflowRun

type WorkflowRun struct {
	DatabaseID    int64     `json:"databaseId"`
	Number        int       `json:"number"`
	URL           string    `json:"url"`
	Status        string    `json:"status"`
	Conclusion    string    `json:"conclusion"`
	WorkflowName  string    `json:"workflowName"`
	CreatedAt     time.Time `json:"createdAt"`
	StartedAt     time.Time `json:"startedAt"`
	UpdatedAt     time.Time `json:"updatedAt"`
	Event         string    `json:"event"`
	HeadBranch    string    `json:"headBranch"`
	HeadSha       string    `json:"headSha"`
	DisplayTitle  string    `json:"displayTitle"`
	Duration      time.Duration
	TokenUsage    int
	EstimatedCost float64
	LogsPath      string
}

WorkflowRun represents a GitHub Actions workflow run with metrics

type WorkflowSourceInfo

type WorkflowSourceInfo struct {
	IsPackage          bool
	PackagePath        string
	QualifiedName      string
	NeedsQualifiedName bool
	SourcePath         string
}

WorkflowSourceInfo contains information about where a workflow was found

Jump to

Keyboard shortcuts

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