claude

package
v0.1.0-alpha.3 Latest Latest
Warning

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

Go to latest
Published: Feb 2, 2026 License: MIT Imports: 18 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func BuildEstimatePrompt

func BuildEstimatePrompt(taskID string, beadList []beads.Bead) string

BuildEstimatePrompt builds a prompt for complexity estimation of beads.

func BuildLogAnalysisPrompt

func BuildLogAnalysisPrompt(params LogAnalysisParams) string

BuildLogAnalysisPrompt builds a prompt for Claude-based CI log analysis.

func BuildPRPrompt

func BuildPRPrompt(taskID string, workID string, branchName string, baseBranch string) string

BuildPRPrompt builds a prompt for PR creation.

func BuildPlanPrompt

func BuildPlanPrompt(beadID string) string

BuildPlanPrompt builds a prompt for planning an issue.

func BuildReviewPrompt

func BuildReviewPrompt(taskID string, workID string, branchName string, baseBranch string, rootIssueID string) string

BuildReviewPrompt builds a prompt for code review.

func BuildTaskPrompt

func BuildTaskPrompt(taskID string, beadList []beads.Bead, branchName, baseBranch string) string

BuildTaskPrompt builds a prompt for a task with multiple beads.

func BuildUpdatePRDescriptionPrompt

func BuildUpdatePRDescriptionPrompt(taskID string, workID string, prURL string, branchName string, baseBranch string) string

BuildUpdatePRDescriptionPrompt builds a prompt for updating a PR description.

func RunPlanSession

func RunPlanSession(ctx context.Context, beadID string, workDir string, stdin io.Reader, stdout, stderr io.Writer, cfg *project.Config) error

RunPlanSession runs an interactive Claude session for planning an issue. This launches Claude with the plan prompt and connects stdin/stdout/stderr for interactive use. The config parameter controls Claude settings like --dangerously-skip-permissions.

Types

type CLIRunner

type CLIRunner struct{}

CLIRunner implements Runner using the claude CLI.

func (*CLIRunner) Run

func (r *CLIRunner) Run(ctx context.Context, database *db.DB, taskID string, prompt string, workDir string, cfg *project.Config) error

Run implements Runner.Run.

type ClaudeRunnerMock

type ClaudeRunnerMock struct {
	// RunFunc mocks the Run method.
	RunFunc func(ctx context.Context, database *db.DB, taskID string, prompt string, workDir string, cfg *project.Config) error
	// contains filtered or unexported fields
}

ClaudeRunnerMock is a mock implementation of Runner.

func TestSomethingThatUsesRunner(t *testing.T) {

	// make and configure a mocked Runner
	mockedRunner := &ClaudeRunnerMock{
		RunFunc: func(ctx context.Context, database *db.DB, taskID string, prompt string, workDir string, cfg *project.Config) error {
			panic("mock out the Run method")
		},
	}

	// use mockedRunner in code that requires Runner
	// and then make assertions.

}

func (*ClaudeRunnerMock) Run

func (mock *ClaudeRunnerMock) Run(ctx context.Context, database *db.DB, taskID string, prompt string, workDir string, cfg *project.Config) error

Run calls RunFunc.

func (*ClaudeRunnerMock) RunCalls

func (mock *ClaudeRunnerMock) RunCalls() []struct {
	Ctx      context.Context
	Database *db.DB
	TaskID   string
	Prompt   string
	WorkDir  string
	Cfg      *project.Config
}

RunCalls gets all the calls that were made to Run. Check the length with:

len(mockedRunner.RunCalls())

type LogAnalysisParams

type LogAnalysisParams struct {
	TaskID       string
	WorkID       string
	BranchName   string
	RootIssueID  string
	WorkflowName string
	JobName      string
	LogContent   string
}

LogAnalysisParams contains parameters for building a log analysis prompt.

type Runner

type Runner interface {
	// Run executes Claude directly in the current terminal (fork/exec).
	Run(ctx context.Context, database *db.DB, taskID string, prompt string, workDir string, cfg *project.Config) error
}

Runner defines the interface for running Claude. This abstraction enables testing without spawning the actual claude CLI.

func NewRunner

func NewRunner() Runner

NewRunner creates a new Runner that uses the claude CLI.

Jump to

Keyboard shortcuts

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