cmd

package
v0.54.1 Latest Latest
Warning

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

Go to latest
Published: Mar 12, 2026 License: BSD-2-Clause Imports: 13 Imported by: 0

Documentation

Overview

Package cmd implements CLI commands for the dark-factory tool.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func FindPromptFile added in v0.54.1

func FindPromptFile(ctx context.Context, dir, id string) (string, error)

FindPromptFile finds a prompt file by id in dir, supporting: - absolute or relative path with directory component (checked directly) - exact filename with .md extension - filename without .md extension - numeric prefix match (e.g. "122" matches "122-some-name.md")

func FindSpecFile added in v0.54.1

func FindSpecFile(ctx context.Context, specsDir, id string) (string, error)

FindSpecFile finds a spec by absolute/relative path, exact filename, or numeric prefix match within specsDir.

func FindSpecFileInDirs added in v0.54.1

func FindSpecFileInDirs(ctx context.Context, id string, dirs ...string) (string, error)

FindSpecFileInDirs searches dirs in order and returns the first match. Falls back to the existing FindSpecFile logic for each dir.

Types

type ApproveCommand added in v0.54.1

type ApproveCommand interface {
	Run(ctx context.Context, args []string) error
}

ApproveCommand executes the approve subcommand.

func NewApproveCommand added in v0.54.1

func NewApproveCommand(
	inboxDir string,
	queueDir string,
	promptManager prompt.Manager,
	currentDateTimeGetter libtime.CurrentDateTimeGetter,
) ApproveCommand

NewApproveCommand creates a new ApproveCommand.

type CombinedListCommand added in v0.54.1

type CombinedListCommand interface {
	Run(ctx context.Context, args []string) error
}

CombinedListCommand shows combined prompt and spec list.

func NewCombinedListCommand added in v0.54.1

func NewCombinedListCommand(
	inboxDir string,
	queueDir string,
	completedDir string,
	lister spec.Lister,
	counter prompt.Counter,
	currentDateTimeGetter libtime.CurrentDateTimeGetter,
) CombinedListCommand

NewCombinedListCommand creates a new CombinedListCommand.

type CombinedStatusCommand added in v0.54.1

type CombinedStatusCommand interface {
	Run(ctx context.Context, args []string) error
}

CombinedStatusCommand shows combined prompt and spec status.

func NewCombinedStatusCommand added in v0.54.1

func NewCombinedStatusCommand(
	checker status.Checker,
	formatter status.Formatter,
	lister spec.Lister,
	counter prompt.Counter,
) CombinedStatusCommand

NewCombinedStatusCommand creates a new CombinedStatusCommand.

type ListCommand added in v0.54.1

type ListCommand interface {
	Run(ctx context.Context, args []string) error
}

ListCommand executes the list subcommand.

func NewListCommand added in v0.54.1

func NewListCommand(
	inboxDir string,
	queueDir string,
	completedDir string,
	currentDateTimeGetter libtime.CurrentDateTimeGetter,
) ListCommand

NewListCommand creates a new ListCommand.

type PromptEntry added in v0.54.1

type PromptEntry struct {
	Status string `json:"status"`
	File   string `json:"file"`
}

PromptEntry represents a single prompt entry in the list output.

type PromptShowCommand added in v0.54.1

type PromptShowCommand interface {
	Run(ctx context.Context, args []string) error
}

PromptShowCommand executes the prompt show subcommand.

func NewPromptShowCommand added in v0.54.1

func NewPromptShowCommand(
	inboxDir, inProgressDir, completedDir, logDir string,
	currentDateTimeGetter libtime.CurrentDateTimeGetter,
) PromptShowCommand

NewPromptShowCommand creates a new PromptShowCommand.

type PromptShowOutput added in v0.54.1

type PromptShowOutput struct {
	File      string   `json:"file"`
	Status    string   `json:"status"`
	Specs     []string `json:"specs,omitempty"`
	Summary   string   `json:"summary,omitempty"`
	Created   string   `json:"created,omitempty"`
	Queued    string   `json:"queued,omitempty"`
	Started   string   `json:"started,omitempty"`
	Completed string   `json:"completed,omitempty"`
	LogPath   string   `json:"log_path,omitempty"`
}

PromptShowOutput holds all fields for JSON output.

type PromptVerifyCommand added in v0.54.1

type PromptVerifyCommand interface {
	Run(ctx context.Context, args []string) error
}

PromptVerifyCommand executes the prompt verify subcommand.

func NewPromptVerifyCommand added in v0.54.1

func NewPromptVerifyCommand(
	queueDir string,
	completedDir string,
	promptManager prompt.Manager,
	releaser git.Releaser,
	pr bool,
	brancher git.Brancher,
	prCreator git.PRCreator,
	currentDateTimeGetter libtime.CurrentDateTimeGetter,
) PromptVerifyCommand

NewPromptVerifyCommand creates a new PromptVerifyCommand.

type RequeueCommand added in v0.54.1

type RequeueCommand interface {
	Run(ctx context.Context, args []string) error
}

RequeueCommand executes the requeue subcommand.

func NewRequeueCommand added in v0.54.1

func NewRequeueCommand(
	queueDir string,
	currentDateTimeGetter libtime.CurrentDateTimeGetter,
) RequeueCommand

NewRequeueCommand creates a new RequeueCommand.

type SpecApproveCommand added in v0.54.1

type SpecApproveCommand interface {
	Run(ctx context.Context, args []string) error
}

SpecApproveCommand executes the spec approve subcommand.

func NewSpecApproveCommand added in v0.54.1

func NewSpecApproveCommand(
	inboxDir string,
	inProgressDir string,
	completedDir string,
	currentDateTimeGetter libtime.CurrentDateTimeGetter,
) SpecApproveCommand

NewSpecApproveCommand creates a new SpecApproveCommand.

type SpecCompleteCommand added in v0.54.1

type SpecCompleteCommand interface {
	Run(ctx context.Context, args []string) error
}

SpecCompleteCommand executes the spec complete subcommand.

func NewSpecCompleteCommand added in v0.54.1

func NewSpecCompleteCommand(
	inboxDir string,
	inProgressDir string,
	completedDir string,
	currentDateTimeGetter libtime.CurrentDateTimeGetter,
) SpecCompleteCommand

NewSpecCompleteCommand creates a new SpecCompleteCommand.

type SpecEntry added in v0.54.1

type SpecEntry struct {
	Status           string `json:"status"`
	File             string `json:"file"`
	PromptsCompleted int    `json:"prompts_completed"`
	PromptsTotal     int    `json:"prompts_total"`
}

SpecEntry represents a single spec entry in the list output.

type SpecListCommand added in v0.54.1

type SpecListCommand interface {
	Run(ctx context.Context, args []string) error
}

SpecListCommand executes the spec list subcommand.

func NewSpecListCommand added in v0.54.1

func NewSpecListCommand(lister specpkg.Lister, counter prompt.Counter) SpecListCommand

NewSpecListCommand creates a new SpecListCommand.

type SpecShowCommand added in v0.54.1

type SpecShowCommand interface {
	Run(ctx context.Context, args []string) error
}

SpecShowCommand executes the spec show subcommand.

func NewSpecShowCommand added in v0.54.1

func NewSpecShowCommand(
	inboxDir, inProgressDir, completedDir string,
	counter prompt.Counter,
	currentDateTimeGetter libtime.CurrentDateTimeGetter,
) SpecShowCommand

NewSpecShowCommand creates a new SpecShowCommand.

type SpecShowOutput added in v0.54.1

type SpecShowOutput struct {
	File             string `json:"file"`
	Status           string `json:"status"`
	Approved         string `json:"approved,omitempty"`
	Prompted         string `json:"prompted,omitempty"`
	Verifying        string `json:"verifying,omitempty"`
	Completed        string `json:"completed,omitempty"`
	PromptsCompleted int    `json:"prompts_completed"`
	PromptsTotal     int    `json:"prompts_total"`
}

SpecShowOutput holds all fields for JSON output.

type SpecStatusCommand added in v0.54.1

type SpecStatusCommand interface {
	Run(ctx context.Context, args []string) error
}

SpecStatusCommand executes the spec status subcommand.

func NewSpecStatusCommand added in v0.54.1

func NewSpecStatusCommand(lister spec.Lister, counter prompt.Counter) SpecStatusCommand

NewSpecStatusCommand creates a new SpecStatusCommand.

type StatusCommand

type StatusCommand interface {
	Run(ctx context.Context, args []string) error
}

StatusCommand executes the status subcommand.

func NewStatusCommand

func NewStatusCommand(checker status.Checker, formatter status.Formatter) StatusCommand

NewStatusCommand creates a new StatusCommand.

Jump to

Keyboard shortcuts

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