dev

package
v0.0.0-...-a4ad18f Latest Latest
Warning

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

Go to latest
Published: Feb 16, 2026 License: EUPL-1.2 Imports: 28 Imported by: 0

Documentation

Overview

Package dev provides multi-repo development workflow commands.

Git Operations:

  • work: Combined status, commit, and push workflow
  • health: Quick health check across all repos
  • commit: Claude-assisted commit message generation
  • push: Push repos with unpushed commits
  • pull: Pull repos that are behind remote

GitHub Integration (requires gh CLI):

  • issues: List open issues across repos
  • reviews: List PRs needing review
  • ci: Check GitHub Actions CI status
  • impact: Analyse dependency impact of changes

CI/Workflow Management:

  • workflow list: Show table of repos vs workflows
  • workflow sync: Copy workflow template to all repos

API Tools:

  • api sync: Synchronize public service APIs

Dev Environment (VM management):

  • install: Download dev environment image
  • boot: Start dev environment VM
  • stop: Stop dev environment VM
  • status: Check dev VM status
  • shell: Open shell in dev VM
  • serve: Mount project and start dev server
  • test: Run tests in dev environment
  • claude: Start sandboxed Claude session
  • update: Check for and apply updates

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func AddApplyCommand

func AddApplyCommand(parent *cli.Command)

AddApplyCommand adds the 'apply' command to dev.

func AddCommitCommand

func AddCommitCommand(parent *cli.Command)

AddCommitCommand adds the 'commit' command to the given parent command.

func AddDevCommands

func AddDevCommands(root *cli.Command)

AddDevCommands registers the 'dev' command and all subcommands.

func AddFileSyncCommand

func AddFileSyncCommand(parent *cli.Command)

AddFileSyncCommand adds the 'sync' command to dev for file syncing.

func AddHealthCommand

func AddHealthCommand(parent *cli.Command)

AddHealthCommand adds the 'health' command to the given parent command.

func AddPullCommand

func AddPullCommand(parent *cli.Command)

AddPullCommand adds the 'pull' command to the given parent command.

func AddPushCommand

func AddPushCommand(parent *cli.Command)

AddPushCommand adds the 'push' command to the given parent command.

func AddWorkCommand

func AddWorkCommand(parent *cli.Command)

AddWorkCommand adds the 'work' command to the given parent command.

func NewService

func NewService(opts ServiceOptions) func(*framework.Core) (any, error)

NewService creates a dev service factory.

Types

type GitHubIssue

type GitHubIssue struct {
	Number    int       `json:"number"`
	Title     string    `json:"title"`
	State     string    `json:"state"`
	CreatedAt time.Time `json:"createdAt"`
	Author    struct {
		Login string `json:"login"`
	} `json:"author"`
	Assignees struct {
		Nodes []struct {
			Login string `json:"login"`
		} `json:"nodes"`
	} `json:"assignees"`
	Labels struct {
		Nodes []struct {
			Name string `json:"name"`
		} `json:"nodes"`
	} `json:"labels"`
	URL string `json:"url"`

	// Added by us
	RepoName string `json:"-"`
}

GitHubIssue represents a GitHub issue from the API.

type GitHubPR

type GitHubPR struct {
	Number    int       `json:"number"`
	Title     string    `json:"title"`
	State     string    `json:"state"`
	IsDraft   bool      `json:"isDraft"`
	CreatedAt time.Time `json:"createdAt"`
	Author    struct {
		Login string `json:"login"`
	} `json:"author"`
	ReviewDecision string `json:"reviewDecision"`
	Reviews        struct {
		Nodes []struct {
			State  string `json:"state"`
			Author struct {
				Login string `json:"login"`
			} `json:"author"`
		} `json:"nodes"`
	} `json:"reviews"`
	URL string `json:"url"`

	// Added by us
	RepoName string `json:"-"`
}

GitHubPR represents a GitHub pull request.

type Service

type Service struct {
	*framework.ServiceRuntime[ServiceOptions]
}

Service provides dev workflow orchestration as a Core service.

func (*Service) OnStartup

func (s *Service) OnStartup(ctx context.Context) error

OnStartup registers task handlers.

type ServiceOptions

type ServiceOptions struct {
	RegistryPath string
}

ServiceOptions for configuring the dev service.

type StatusBundle

type StatusBundle struct {
	Core *framework.Core
}

StatusBundle contains the Core instance for status-only operations.

func NewStatusBundle

func NewStatusBundle(opts StatusBundleOptions) (*StatusBundle, error)

NewStatusBundle creates a bundle for status-only operations. Includes: dev (orchestration), git services. No agentic - commits not available.

func (*StatusBundle) Start

func (b *StatusBundle) Start(ctx context.Context) error

Start initialises the bundle services.

func (*StatusBundle) Stop

func (b *StatusBundle) Stop(ctx context.Context) error

Stop shuts down the bundle services.

type StatusBundleOptions

type StatusBundleOptions struct {
	RegistryPath string
}

StatusBundleOptions configures the status bundle.

type TaskStatus

type TaskStatus struct {
	RegistryPath string
}

TaskStatus displays git status for all repos.

type TaskWork

type TaskWork struct {
	RegistryPath string
	StatusOnly   bool
	AutoCommit   bool
	AutoPush     bool
}

TaskWork runs the full dev workflow: status, commit, push.

type WorkBundle

type WorkBundle struct {
	Core *framework.Core
}

WorkBundle contains the Core instance for dev work operations.

func NewWorkBundle

func NewWorkBundle(opts WorkBundleOptions) (*WorkBundle, error)

NewWorkBundle creates a bundle for dev work operations. Includes: dev (orchestration), git, agentic services.

func (*WorkBundle) Start

func (b *WorkBundle) Start(ctx context.Context) error

Start initialises the bundle services.

func (*WorkBundle) Stop

func (b *WorkBundle) Stop(ctx context.Context) error

Stop shuts down the bundle services.

type WorkBundleOptions

type WorkBundleOptions struct {
	RegistryPath string
	AllowEdit    bool // Allow agentic to use Write/Edit tools
}

WorkBundleOptions configures the work bundle.

type WorkflowRun

type WorkflowRun struct {
	Name       string    `json:"name"`
	Status     string    `json:"status"`
	Conclusion string    `json:"conclusion"`
	HeadBranch string    `json:"headBranch"`
	CreatedAt  time.Time `json:"createdAt"`
	UpdatedAt  time.Time `json:"updatedAt"`
	URL        string    `json:"url"`

	// Added by us
	RepoName string `json:"-"`
}

WorkflowRun represents a GitHub Actions workflow run

Jump to

Keyboard shortcuts

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