Groups all LinuxKit VM commands under `core vm` for cleaner root help:
- core vm run - Run a VM from image or template
- core vm ps - List running VMs
- core vm stop - Stop a running VM
- core vm logs - View VM logs
- core vm exec - Execute command in VM
- core vm templates - Manage LinuxKit templates
Updates help text and output messages to use `core vm` prefix.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Simplifies CLI startup by removing the large ASCII art banner.
Now uses clir's standard header with version and description.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Adds full documentation for core php commands:
- Development server (dev, logs, status, stop, ssl)
- Testing (test with Pest/PHPUnit detection)
- Code quality (fmt, analyse)
- Building (Docker, LinuxKit)
- Deployment (Coolify with status tracking)
- Package management (link, unlink, update, list)
Updates quick reference, decision tree, and common mistakes
to include PHP workflows.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Adds a Claude Code skill that documents the core CLI commands and
guides Claude to use the correct command for different tasks.
Features:
- Command quick reference table
- Decision tree for common workflows
- Common mistakes to avoid
- Installation script for global install
Install globally:
curl -fsSL https://raw.githubusercontent.com/host-uk/core/main/.claude/skills/core/install.sh | bash
Or use from project .claude/skills/ directory.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Adds `core test` command with:
- Coverage summary by default, detailed with --coverage
- Verbose mode (--verbose) to stream test output
- Package filtering (--pkg ./pkg/...)
- Test name filtering (--run TestName)
- Short mode (--short) for skipping integration tests
- Race detection (--race)
- JSON output (--json) for CI/agents
Sets MACOSX_DEPLOYMENT_TARGET=26.0 to suppress macOS linker warnings.
Filters linker warnings from output for clean DX.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Add the runReleaseSDK function that calls release.RunSDK() to
enable SDK-only releases via `core release --target sdk`. The
function loads configuration, applies CLI overrides, and displays
styled output for the SDK generation process.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Add target flag to support different release targets (e.g., sdk).
The runReleaseSDK function will be implemented in a follow-up commit.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Add RunSDK function that orchestrates SDK-only releases by:
- Validating config and SDK configuration
- Determining version from git tags or config override
- Running optional breaking change detection via oasdiff
- Generating SDKs for configured languages (unless dry run)
The function supports dry run mode for previewing what would be done
without actually generating SDKs.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
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>