create

package
v0.7.0-alpha.2 Latest Latest
Warning

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

Go to latest
Published: Jan 3, 2026 License: MIT Imports: 17 Imported by: 0

Documentation

Overview

Package create provides the command to create new issues.

Index

Constants

This section is empty.

Variables

View Source
var CreateCmd = &cobra.Command{
	Use:     "create",
	Aliases: []string{"new", "add"},
	RunE: func(cmd *cobra.Command, _ []string) error {
		presenter := ui.NewPresenter(cmd.OutOrStdout(), cmd.ErrOrStderr())
		ctx := cmd.Context()

		provider, err := newProvider(ctx, globals.AppLogger, globals.LoadedAppConfig)
		if err != nil {
			presenter.Error("Failed to initialize work item provider: %v", err)

			return err
		}

		if aiAssist {
			return runAIAssistedCreation(ctx, presenter, provider)
		}

		if issueTitle == "" {
			form := huh.NewForm(
				huh.NewGroup(

					huh.NewSelect[string]().Title("What kind of issue is this?").
						Options(
							huh.NewOption("Task", "Task"),
							huh.NewOption("Story", "Story"),
							huh.NewOption("Bug", "Bug"),
							huh.NewOption("Chore", "Chore"),
							huh.NewOption("PBI (Rigorous)", "PBI"),
						).
						Value(&issueType),
					huh.NewInput().Title("Title?").Value(&issueTitle),
				),
			)
			err := form.Run()
			if err != nil {
				return fmt.Errorf("input form failed: %w", err)
			}

			if issueType == "PBI" && issueBody == "" {
				issueBody = pbiTemplate
			}

			bodyForm := huh.NewForm(
				huh.NewGroup(
					huh.NewText().Title("Body?").Value(&issueBody),
				),
			)
			err = bodyForm.Run()
			if err != nil {
				return fmt.Errorf("input form failed: %w", err)
			}
		}

		if issueTitle == "" {

			return errors.New("title cannot be empty")
		}

		if issueType == "PBI" && issueBody == "" {
			issueBody = pbiTemplate
		}

		newItem := workitem.WorkItem{
			Title: issueTitle,
			Body:  issueBody,
			Type:  workitem.Type(issueType),
		}

		return createItem(ctx, presenter, provider, newItem)
	},
}

CreateCmd represents the project issues create command.

Functions

This section is empty.

Types

This section is empty.

Jump to

Keyboard shortcuts

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