Skip to content

Commit 93d191e

Browse files
committed
Update copilot-instructions.md for Go port phase 7
1 parent af920a9 commit 93d191e

1 file changed

Lines changed: 18 additions & 17 deletions

File tree

.github/copilot-instructions.md

Lines changed: 18 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ This is a C# based repository that produces several CLIs that are used by custom
2727
- `pkg/scriptgen/`: PowerShell script generation (ported from C#)
2828
- `pkg/github/`: GitHub API client (REST + GraphQL)
2929
- `pkg/ado/`: Azure DevOps API client
30+
- `pkg/bbs/`: Bitbucket Server API client
3031
- `pkg/storage/`: Cloud storage clients (Azure Blob, AWS S3, GitHub-owned multipart)
3132
- `pkg/archive/`: Archive upload orchestration
3233
- `pkg/logger/`, `pkg/env/`: Shared Go packages
@@ -43,24 +44,24 @@ This is a C# based repository that produces several CLIs that are used by custom
4344

4445
## Go Port Sync Requirements
4546

46-
**Current state:** `gei` and `ado2gh` are fully ported to Go. This includes the ADO API client, all ado2gh commands (migrate-repo, generate-script, inventory-report, etc.), and all gei commands. The GitHub API client, shared commands, and cloud storage clients are also ported.
47+
**Current state:** All three CLIs (`gei`, `ado2gh`, `bbs2gh`) are fully ported to Go. Every command has behavioral parity with the C# version. Any C# behavioral change must be reflected in the Go port.
4748

48-
**When making C# changes, check if the Go port needs updating:**
49+
**When making C# changes, you MUST make the corresponding Go change:**
4950

50-
| C# Area | Go Equivalent | Sync Required? |
51-
|----------|--------------|----------------|
52-
| `src/gei/Commands/` (any command) | `cmd/gei/` | **Yes** — all gei commands are ported |
53-
| `src/ado2gh/Commands/` (any command) | `cmd/ado2gh/` | **Yes** — all ado2gh commands are ported |
54-
| `GenerateScriptCommandHandler.cs` (any CLI) | `cmd/{cli}/generate_script.go` + `pkg/scriptgen/generator.go` | **Yes** — scripts must be identical |
55-
| `src/Octoshift/Services/GithubApi.cs` | `pkg/github/client.go` | **Yes** — API behavior must match |
56-
| `src/Octoshift/Services/GithubClient.cs` | `pkg/github/client.go` | **Yes** — HTTP/auth behavior must match |
57-
| `src/Octoshift/Services/AdoApi.cs` | `pkg/ado/client.go` | **Yes** — API behavior must match |
58-
| Shared commands in `src/Octoshift/Commands/` | `internal/sharedcmd/` | **Yes** — command behavior must match |
59-
| `src/Octoshift/Services/AzureApi.cs` | `pkg/storage/azure/client.go` | **Yes** — upload behavior must match |
60-
| `src/Octoshift/Services/AwsApi.cs` | `pkg/storage/aws/client.go` | **Yes** — upload behavior must match |
61-
| `src/Octoshift/Services/HttpDownloadService.cs` | `pkg/storage/ghowned/client.go` | **Yes** — multipart upload must match |
62-
| `src/Octoshift/Services/ArchiveUploader.cs` | `pkg/archive/uploader.go` | **Yes** — orchestration must match |
63-
| BBS API client (`src/Octoshift/Services/BbsApi.cs`) | Not yet ported | No |
64-
| `bbs2gh` commands | Not yet ported | No |
51+
| C# Area | Go Equivalent |
52+
|----------|--------------|
53+
| `src/gei/Commands/` (any command) | `cmd/gei/` |
54+
| `src/ado2gh/Commands/` (any command) | `cmd/ado2gh/` |
55+
| `src/bbs2gh/Commands/` (any command) | `cmd/bbs2gh/` |
56+
| `GenerateScriptCommandHandler.cs` (any CLI) | `cmd/{cli}/generate_script.go` + `pkg/scriptgen/generator.go` |
57+
| `src/Octoshift/Services/GithubApi.cs` | `pkg/github/client.go` |
58+
| `src/Octoshift/Services/GithubClient.cs` | `pkg/github/client.go` |
59+
| `src/Octoshift/Services/AdoApi.cs` | `pkg/ado/client.go` |
60+
| `src/Octoshift/Services/BbsApi.cs` | `pkg/bbs/client.go` |
61+
| Shared commands in `src/Octoshift/Commands/` | `internal/sharedcmd/` |
62+
| `src/Octoshift/Services/AzureApi.cs` | `pkg/storage/azure/client.go` |
63+
| `src/Octoshift/Services/AwsApi.cs` | `pkg/storage/aws/client.go` |
64+
| `src/Octoshift/Services/HttpDownloadService.cs` | `pkg/storage/ghowned/client.go` |
65+
| `src/Octoshift/Services/ArchiveUploader.cs` | `pkg/archive/uploader.go` |
6566

6667
**Testing:** Run `go test ./...` to verify Go changes. Run `golangci-lint run` to check for lint issues.

0 commit comments

Comments
 (0)