Documentation
¶
Index ¶
- func BuildEstimatePrompt(taskID string, beadList []beads.Bead) string
- func BuildLogAnalysisPrompt(params LogAnalysisParams) string
- func BuildPRPrompt(taskID string, workID string, branchName string, baseBranch string) string
- func BuildPlanPrompt(beadID string) string
- func BuildReviewPrompt(taskID string, workID string, branchName string, baseBranch string, ...) string
- func BuildTaskPrompt(taskID string, beadList []beads.Bead, branchName, baseBranch string) string
- func BuildUpdatePRDescriptionPrompt(taskID string, workID string, prURL string, branchName string, ...) string
- func RunPlanSession(ctx context.Context, beadID string, workDir string, stdin io.Reader, ...) error
- type CLIRunner
- type ClaudeRunnerMock
- type LogAnalysisParams
- type Runner
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func BuildEstimatePrompt ¶
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 ¶
BuildPRPrompt builds a prompt for PR creation.
func BuildPlanPrompt ¶
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 ¶
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 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.
}
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.