Add SDKRelease struct to hold SDK release results and toSDKConfig
helper function to convert release.SDKConfig to sdk.Config.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Add version field to SDK struct and SetVersion method that updates both
the internal version and the config's Package.Version. This enables the
release system to pass version information to SDK generators.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
S3.4 - Add `core release --target sdk` to generate SDKs as a
separate release target with breaking change detection.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Signs binaries with Developer ID and hardened runtime.
Notarization submits to Apple and staples ticket.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Defines interface for GPG, macOS, and Windows signing.
Config supports env var expansion for secrets.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Commands:
- core dev install/boot/stop/status
- core dev shell/serve/test
- core dev claude (sandboxed AI session)
- core dev update
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Starts Claude in immutable dev environment with auth forwarding.
Auto-boots VM, mounts project, forwards credentials.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Mounts project via SSHFS and runs auto-detected dev server.
Supports Laravel, Node.js, PHP, Go, Python projects.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Auto-detects test framework from project files.
Supports .core/test.yaml for custom configuration.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Connects to dev VM via SSH (default) or serial console (--console).
Supports SSH agent forwarding for credential access.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Manages dev VM lifecycle using LinuxKitManager.
Supports fresh boot, status checking, graceful stop.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Manages image downloads, manifest tracking, and update checking.
Tries sources in priority order (GitHub, CDN).
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Loads ~/.core/config.yaml with image source preferences.
Defaults to auto-detection with host-uk/core-images.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
13 tasks with TDD approach:
- Package structure and config
- Image sources (GitHub, CDN)
- ImageManager with manifest tracking
- Boot/Stop/Status
- Shell (SSH + serial console)
- Test detection and execution
- Serve with project mounting
- Claude sandbox with auth forwarding
- CLI commands
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Design for portable dev environment commands:
- core dev install/boot/shell/serve/test/update/status/stop
- core dev claude - sandboxed AI session with auth forwarding
- Image sources: GitHub Releases, Container Registry, CDN
- Mount & serve with auto-detection
- Test config via .core/test.yaml
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Updates go.mod and go.sum files across all workspace modules
after adding oasdiff and kin-openapi dependencies for SDK generation.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Add sdk-full.yaml example showing full SDK generation configuration
including spec path, languages, package naming, diff detection,
and publish settings.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Add SDKConfig struct and related types (SDKPackageConfig, SDKDiffConfig,
SDKPublishConfig) to support SDK generation configuration within the
release.yaml configuration file.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
SDK.Generate() and SDK.GenerateLanguage() now use the
generator registry to generate SDKs for configured languages.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Implements PHP SDK generator using Docker-only approach:
- Requires Docker with openapitools/openapi-generator-cli
- No native PHP generator tool; Docker is the only option
Includes tests following _Good convention for Available and Generate.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Implements Go SDK generator with two-level fallback:
1. Native oapi-codegen if installed (generates types and client)
2. Docker openapitools/openapi-generator-cli as fallback
Native generation also creates a minimal go.mod file.
Includes tests following _Good convention for Available and Generate.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Implements Python SDK generator with two-level fallback:
1. Native openapi-python-client if installed
2. Docker openapitools/openapi-generator-cli as fallback
Includes tests following _Good convention for Available and Generate.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Implements TypeScript SDK generator with three-level fallback:
1. Native openapi-typescript-codegen if installed globally
2. npx openapi-typescript-codegen if npx available
3. Docker openapitools/openapi-generator-cli as fallback
Includes tests following _Good convention for Available and Generate.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Defines the common interface for SDK generators with:
- Generate(), Available(), Install() methods
- Registry for managing multiple generators
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Initial pkg/sdk setup with Config types for OpenAPI SDK generation.
Includes language selection, diff config, and publish config.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
LinuxKit can now output docker format tarballs that can be loaded with
`docker load`. This gives you immutable, reproducible LinuxKit images
in Docker-compatible format.
Supported formats now include:
- iso, iso-bios, iso-efi
- raw, raw-bios, raw-efi
- qcow2, qcow2-bios, qcow2-efi
- vmdk, vhd, gcp, aws
- docker (tarball for `docker load`)
- tar, kernel+initrd
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Add publishers for distributing CLI binaries to package managers:
- npm: binary wrapper pattern with postinstall download
- Homebrew: formula generation + tap auto-commit
- Scoop: JSON manifest + bucket auto-commit
- AUR: PKGBUILD + .SRCINFO + AUR push
- Chocolatey: NuSpec + install script + optional push
Each publisher supports:
- Dry-run mode for previewing changes
- Auto-commit to own repos (tap/bucket/AUR)
- Generate files for PRs to official repos via `official` config
Also includes Docker and LinuxKit build helpers.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Context gathering:
- BuildTaskContext for AI consumption
- GatherRelatedFiles from task references
- Keyword search for related code
- Git status and recent commits
Task completion:
- AutoCommit with task reference and Co-Authored-By
- CreatePR using gh CLI
- SyncStatus back to agentic service
- CreateBranch with {type}/{id}-{title} format
CLI commands:
- core dev task <id> --context - show with AI context
- core dev task:commit <id> - auto-commit
- core dev task:pr <id> - create PR
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>