Documentation
¶
Index ¶
- type AuthStatus
- type Client
- func (c *Client) Clone(repoURL, dest string) error
- func (c *Client) CloneToTemp(repoURL string) (string, error)
- func (c *Client) GetAuthStatus() (*AuthStatus, error)
- func (c *Client) IsAvailable() bool
- func (c *Client) IsInstalled() bool
- func (c *Client) IssueClose(opts IssueCloseOptions) error
- func (c *Client) IssueCreate(opts IssueCreateOptions) (*Issue, error)
- func (c *Client) IssueList(opts IssueListOptions) ([]Issue, error)
- func (c *Client) IssueView(number int, repo string) (*Issue, error)
- func (c *Client) Login() error
- type Issue
- type IssueCloseOptions
- type IssueCreateOptions
- type IssueListOptions
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AuthStatus ¶
AuthStatus represents the authentication status from gh CLI
type Client ¶
type Client struct{}
Client wraps the gh CLI for GitHub operations
func (*Client) Clone ¶
Clone clones a GitHub repository to the specified destination. repoURL can be:
- Full URL: https://github.com/owner/repo
- Short form: owner/repo
If dest is empty, clones to the repo name in current directory.
func (*Client) CloneToTemp ¶
CloneToTemp clones a repository to a temporary directory and returns the path. The caller is responsible for cleaning up the directory.
func (*Client) GetAuthStatus ¶
func (c *Client) GetAuthStatus() (*AuthStatus, error)
GetAuthStatus returns the current authentication status
func (*Client) IsAvailable ¶
IsAvailable checks if the gh CLI is installed and authenticated
func (*Client) IsInstalled ¶
IsInstalled checks if the gh CLI is installed (regardless of auth status)
func (*Client) IssueClose ¶ added in v0.17.0
func (c *Client) IssueClose(opts IssueCloseOptions) error
IssueClose closes an issue
func (*Client) IssueCreate ¶ added in v0.17.0
func (c *Client) IssueCreate(opts IssueCreateOptions) (*Issue, error)
IssueCreate creates a new issue
func (*Client) IssueList ¶ added in v0.17.0
func (c *Client) IssueList(opts IssueListOptions) ([]Issue, error)
IssueList lists issues in a repository
type Issue ¶ added in v0.17.0
type Issue struct {
Number int `json:"number"`
Title string `json:"title"`
State string `json:"state"`
Author string `json:"author"`
Labels []string `json:"labels"`
Assignees []string `json:"assignees"`
CreatedAt string `json:"createdAt"`
URL string `json:"url"`
Body string `json:"body"`
}
Issue represents a GitHub issue
type IssueCloseOptions ¶ added in v0.17.0
type IssueCloseOptions struct {
Number int
Comment string
Reason string // "completed" or "not planned"
Repo string
}
IssueCloseOptions contains options for closing an issue