Each command directory now has both index.md (reference) and
example.md (usage examples and configuration samples).
Also adds exception for docs/cmd/build in .gitignore.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add example.md alongside index.md for config/usage samples
- Add ci subcommands: init, changelog, version
- Fix ci/index.md to reference correct commands (was release)
- Update references from config.md to example.md
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add `core go cov` for coverage reports
- Generate HTML report with --html
- Open in browser with --open
- Fail on threshold with --threshold 80
- Colour-coded coverage output
- Update SKILL.md documentation
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add `core go install` for installing Go binaries
- Auto-detects cmd/ subdirectories
- Optional --no-cgo flag for pure Go builds
- Shows install location on success
- Update SKILL.md documentation
Dogfood the CLI daily for better DX.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Default behavior is now dry-run (safe)
- Add --were-go-for-launch flag to actually publish
- Update help text to make this clear
- Update SKILL.md documentation
Now you must explicitly opt-in to publishing:
core ci # Preview (dry-run)
core ci --were-go-for-launch # Actually publish
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Move SDK generation to `core build sdk` subcommand
- Make `core ci` publish-only (expects artifacts in dist/)
- Add release.Publish() for publishing pre-built artifacts
- Keep `core sdk diff` and `core sdk validate` for API validation
- Update SKILL.md documentation
This separation prevents accidental releases - running `core ci`
without first building will fail safely.
Workflow:
core build # Build binaries
core build sdk # Build SDKs
core ci # Publish what's in dist/
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Rename `release` command to `ci` for clarity
- Add build tag support for different binary variants:
- Default: full development binary (all commands)
- `-tags ci`: minimal CI binary (build, ci, sdk, doctor)
- Reorganize command registration into separate files:
- commands_dev.go: full fat (default)
- commands_ci.go: CI-only
Build CI variant: `go build -tags ci -o core-ci ./cmd/core/`
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Add Go development tools under `core go`:
- test: Run tests with coverage (CGO_ENABLED=0)
- fmt: Format code with goimports/gofmt
- lint: Run golangci-lint
- mod: Module management (tidy, download, verify, graph)
- work: Workspace management (sync, init, use)
Update SKILL.md with Go Development section.
Keep `core test` at root for backward compatibility.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Move all Wails-dependent packages to core-gui repo:
- pkg/core, pkg/display, pkg/docs, pkg/help, pkg/ide
- pkg/runtime, pkg/webview, pkg/workspace, pkg/ws
- pkg/plugin, pkg/config, pkg/i18n, pkg/module
- pkg/crypt, pkg/io, pkg/process
Add pkg/errors with simple E() helper for error wrapping.
Update go.work to only include CLI-relevant packages.
CLI now builds with CGO_ENABLED=0 - no linker warnings.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Create new pkg.go with search, install, list, update, outdated subcommands
- Remove separate search.go and install.go files
- Update root.go to use AddPkgCommands instead of individual commands
- Update skill documentation with pkg commands in quick reference, decision tree, and common mistakes
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
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>