cli/docs/index.md
Snider 3993d0583e Secure SSH and TLS connections, and fix CI issues
Addresses security concerns from OWASP audit and CodeQL by enforcing strict
host key verification and TLS certificate verification.

Security Changes:
- Enforced strict SSH host key checking in pkg/container and devops.
- Removed insecure SSH host key verification from pkg/ansible.
- Added synchronous host key discovery during VM boot using ssh-keyscan.
- Updated UniFi client to enforce TLS certificate verification by default.
- Added --insecure flag and config option for UniFi to allow opt-in to
  skipping TLS verification for self-signed certificates.

CI and Maintenance:
- Fixed auto-merge workflow by providing repository context to 'gh' command.
- Resolved merge conflicts in .github/workflows/auto-merge.yml.
- Added unit tests for secured Ansible SSH client.
- Fixed formatting issues identified by QA checks.
2026-02-05 03:48:42 +00:00

2.8 KiB

Core CLI

Core is a unified CLI for the host-uk ecosystem - build, release, and deploy Go, Wails, PHP, and container workloads.

Installation

# Via Go (recommended)
go install github.com/host-uk/core/cmd/core@latest

# Or download binary from releases
curl -Lo core https://github.com/host-uk/core/releases/latest/download/core-$(go env GOOS)-$(go env GOARCH)
chmod +x core && sudo mv core /usr/local/bin/

# Verify
core doctor

See Getting Started for all installation options including building from source.

Command Reference

See cmd/ for full command documentation.

Command Description
go Go development (test, fmt, lint, cov)
php Laravel/PHP development
build Build Go, Wails, Docker, LinuxKit projects
ci Publish releases (dry-run by default)
sdk SDK generation and validation
dev Multi-repo workflow + dev environment
pkg Package search and install
vm LinuxKit VM management
docs Documentation management
setup Clone repos from registry
doctor Check development environment

Quick Start

# Go development
core go test              # Run tests
core go test --coverage   # With coverage
core go fmt               # Format code
core go lint              # Lint code

# Build
core build                # Auto-detect and build
core build --targets linux/amd64,darwin/arm64

# Release (dry-run by default)
core ci                   # Preview release
core ci --we-are-go-for-launch  # Actually publish

# Multi-repo workflow
core dev work             # Status + commit + push
core dev work --status    # Just show status

# PHP development
core php dev              # Start dev environment
core php test             # Run tests

Configuration

Core uses .core/ directory for project configuration:

.core/
├── release.yaml    # Release targets and settings
├── build.yaml      # Build configuration (optional)
└── linuxkit/       # LinuxKit templates

And repos.yaml in workspace root for multi-repo management.

Guides

Reference

Claude Code Skill

Install the skill to teach Claude Code how to use the Core CLI:

curl -fsSL https://raw.githubusercontent.com/host-uk/core/main/.claude/skills/core/install.sh | bash

See skill/ for details.