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 ¶
- func AddApplyCommand(parent *cli.Command)
- func AddCommitCommand(parent *cli.Command)
- func AddDevCommands(root *cli.Command)
- func AddFileSyncCommand(parent *cli.Command)
- func AddHealthCommand(parent *cli.Command)
- func AddPullCommand(parent *cli.Command)
- func AddPushCommand(parent *cli.Command)
- func AddWorkCommand(parent *cli.Command)
- func NewService(opts ServiceOptions) func(*framework.Core) (any, error)
- type GitHubIssue
- type GitHubPR
- type Service
- type ServiceOptions
- type StatusBundle
- type StatusBundleOptions
- type TaskStatus
- type TaskWork
- type WorkBundle
- type WorkBundleOptions
- type WorkflowRun
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func AddApplyCommand ¶
AddApplyCommand adds the 'apply' command to dev.
func AddCommitCommand ¶
AddCommitCommand adds the 'commit' command to the given parent command.
func AddDevCommands ¶
AddDevCommands registers the 'dev' command and all subcommands.
func AddFileSyncCommand ¶
AddFileSyncCommand adds the 'sync' command to dev for file syncing.
func AddHealthCommand ¶
AddHealthCommand adds the 'health' command to the given parent command.
func AddPullCommand ¶
AddPullCommand adds the 'pull' command to the given parent command.
func AddPushCommand ¶
AddPushCommand adds the 'push' command to the given parent command.
func AddWorkCommand ¶
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.
type ServiceOptions ¶
type ServiceOptions struct {
RegistryPath string
}
ServiceOptions for configuring the dev service.
type StatusBundle ¶
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.
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 WorkBundle ¶
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.
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