go/docs/faq.md
Claude 3fdc3f3086
Some checks are pending
Security Scan / Go Vulnerability Check (push) Waiting to run
Security Scan / Secret Detection (push) Waiting to run
Security Scan / Dependency & Config Scan (push) Waiting to run
refactor: rename module from github.com/host-uk/core to forge.lthn.ai/core/cli
Move Go module path to production Forgejo instance.
Updates all imports, go.mod, go.sum, docs, and CI configs.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-15 23:35:00 +00:00

3 KiB

Frequently Asked Questions (FAQ)

Common questions and answers about the Core CLI and Framework.

General

What is Core?

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.

Is Core a CLI or a Framework?

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.


Installation

How do I install the Core CLI?

The recommended way is via Go:

go install forge.lthn.ai/core/cli/cmd/core@latest

Ensure your Go bin directory is in your PATH. See Getting Started for more options.

I get "command not found: core" after installation.

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"

Usage

Why does core ci not publish anything by default?

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-launch

How do I run tests for only one package?

You can pass standard Go test flags to core go test:

core go test ./pkg/my-package

What is core doctor for?

core 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.


Configuration

Where is Core's configuration stored?

  • Project-specific: In the .core/ directory within your project root.
  • Global: In ~/.core/ or as defined by CORE_CONFIG.
  • Registry: The repos.yaml file defines the multi-repo workspace.

How do I change the build targets?

You can specify targets in .core/release.yaml or use the --targets flag with the core build command:

core build --targets linux/amd64,darwin/arm64

Workspaces and Registry

What is a "workspace" in Core?

In 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.

What is repos.yaml?

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.


See Also