Common questions and answers about the Core CLI and Framework.
Core is a unified CLI and framework for building and managing Go, PHP, and Wails applications. It provides an opinionated set of tools for development, testing, building, and releasing projects within the host-uk ecosystem.
It is both. The Core Framework (pkg/core) is a library for building Go desktop applications with Wails. The Core CLI (cmd/core) is the tool you use to manage projects, run tests, build binaries, and handle multi-repository workspaces.
The recommended way is via Go:
go install forge.lthn.ai/core/cli/cmd/core@latestEnsure your Go bin directory is in your PATH. See Getting Started for more options.
This usually means your Go bin directory is not in your system's PATH. Add it by adding this to your shell profile (.bashrc, .zshrc, etc.):
export PATH="$PATH:$(go env GOPATH)/bin"Core is designed to be safe by default. core ci runs in dry-run mode to show you what would be published. To actually publish a release, you must use the --we-are-go-for-launch flag:
core ci --we-are-go-for-launchYou can pass standard Go test flags to core go test:
core go test ./pkg/my-packagecore doctor checks your development environment to ensure all required tools (Go, Git, Docker, etc.) are installed and correctly configured. It's the first thing you should run if something isn't working.
- Project-specific: In the
.core/directory within your project root. - Global: In
~/.core/or as defined byCORE_CONFIG. - Registry: The
repos.yamlfile defines the multi-repo workspace.
You can specify targets in .core/release.yaml or use the --targets flag with the core build command:
core build --targets linux/amd64,darwin/arm64In the context of the CLI, a workspace is a directory containing multiple repositories defined in a repos.yaml file. The core dev commands allow you to manage status, commits, and synchronization across all repositories in the workspace at once.
repos.yaml is the "registry" for your workspace. It lists the repositories, their types (foundation, module, product), and their dependencies. Core uses this file to know which repositories to clone during core setup.
- Getting Started - Installation and first steps
- User Guide - Detailed usage information
- Troubleshooting - Solving common issues