Add native Windows support (#91)

- Native Windows daemon using TCP loopback endpoints
- Direct-mode fallback for CLI/daemon compatibility
- Comment operations over RPC
- PowerShell installer script
- Go 1.24 requirement
- Cross-OS testing documented

Co-authored-by: danshapiro <danshapiro@users.noreply.github.com>
Amp-Thread-ID: https://ampcode.com/threads/T-c6230265-055f-4af1-9712-4481061886db
Co-authored-by: Amp <amp@ampcode.com>
This commit is contained in:
Steve Yegge
2025-10-20 21:08:49 -07:00
parent 94a23cae39
commit a86f3e139e
58 changed files with 1707 additions and 729 deletions

View File

@@ -23,7 +23,7 @@ var labelCmd = &cobra.Command{
// executeLabelCommand executes a label operation and handles output
func executeLabelCommand(issueID, label, operation string, operationFunc func(context.Context, string, string, string) error) {
ctx := context.Background()
// Use daemon if available
if daemonClient != nil {
var err error
@@ -38,7 +38,7 @@ func executeLabelCommand(issueID, label, operation string, operationFunc func(co
Label: label,
})
}
if err != nil {
fmt.Fprintf(os.Stderr, "Error: %v\n", err)
os.Exit(1)
@@ -100,7 +100,7 @@ var labelListCmd = &cobra.Command{
ctx := context.Background()
var labels []string
// Use daemon if available
if daemonClient != nil {
resp, err := daemonClient.Show(&rpc.ShowArgs{ID: issueID})
@@ -108,7 +108,7 @@ var labelListCmd = &cobra.Command{
fmt.Fprintf(os.Stderr, "Error: %v\n", err)
os.Exit(1)
}
var issue types.Issue
if err := json.Unmarshal(resp.Data, &issue); err != nil {
fmt.Fprintf(os.Stderr, "Error parsing response: %v\n", err)
@@ -156,7 +156,7 @@ var labelListAllCmd = &cobra.Command{
var issues []*types.Issue
var err error
// Use daemon if available
if daemonClient != nil {
resp, err := daemonClient.List(&rpc.ListArgs{})
@@ -164,7 +164,7 @@ var labelListAllCmd = &cobra.Command{
fmt.Fprintf(os.Stderr, "Error: %v\n", err)
os.Exit(1)
}
if err := json.Unmarshal(resp.Data, &issues); err != nil {
fmt.Fprintf(os.Stderr, "Error parsing response: %v\n", err)
os.Exit(1)