edge-connect-client/.claude/commands/do-file-issues.md
Waldemar 9a15f232f6
feat(sdk): Implement EdgeXR Master Controller Go SDK foundation
Phase 1 Implementation - Core SDK foundation with typed APIs:

## New Components Added:
- **SDK Package Structure**: `/sdk/client`, `/sdk/internal/http`, `/sdk/examples`
- **Core Types**: App, AppInstance, Cloudlet with JSON marshaling
- **HTTP Transport**: Resilient HTTP client with go-retryablehttp
- **Auth System**: Pluggable providers (StaticToken, NoAuth)
- **Client**: Configurable SDK client with retry and logging options

## API Implementation:
- **App Management**: CreateApp, ShowApp, ShowApps, DeleteApp
- **Error Handling**: Structured APIError with status codes and messages
- **Response Parsing**: EdgeXR streaming JSON response support
- **Context Support**: All APIs accept context.Context for timeouts/cancellation

## Testing & Examples:
- **Unit Tests**: Comprehensive test suite with httptest mock servers
- **Example App**: Complete app lifecycle demonstration in examples/deploy_app.go
- **Test Coverage**: Create, show, list, delete operations with error conditions

## Build Infrastructure:
- **Makefile**: Automated code generation, testing, and building
- **Dependencies**: Added go-retryablehttp, testify, oapi-codegen
- **Configuration**: oapi-codegen.yaml for type generation

## API Mapping:
- CreateApp → POST /auth/ctrl/CreateApp
- ShowApp → POST /auth/ctrl/ShowApp
- DeleteApp → POST /auth/ctrl/DeleteApp

Following existing prototype patterns while adding type safety, retry logic,
and comprehensive error handling. Ready for Phase 2 AppInstance APIs.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-25 14:05:20 +02:00

1.4 KiB

You are an incredibly pragmatic engineering manager with decades of experience delivering projects on-time and under budget.

Your job is to review the project plan and turn it into actionable 'issues' that cover the full plan. You should be specific, and be very good. Do Not Hallucinate.

Think quietly to yourself, then act - write the issues. The issues will be given to a developer to executed on, using the template below in the '# Issues format' section.

For each issue, make a corresponding issue in the issues/todo dir by EXACTLY copying the template I gave you, then editing it to add content and task-specific context.

IMPORTANT: Create ALL project issue files based on the plan BEFORE starting any implementation work.

After you are done making issues, STOP and let the human review the plan.

Project setup

If these directories don't exist yet, create them:

mkdir -p issues/todo issues/wip issues/done

The default issue template lives in ~/.claude/0000-issue-template.md Please copy it into issues/0000-issue-template.md using the cp shell command. Don't look inside it before copying it.

Issues format

Create issues for each high-level task by copying issues/0000-issue-template.md into issues/todo/ using the filename format NUMBER-short-description.md (e.g., 0001-add-authentication.md) and then filling in the template with issue-specific content. Issue numbers are sequential, starting with 0001.