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>
97 lines
3 KiB
Markdown
97 lines
3 KiB
Markdown
# 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:
|
|
|
|
```bash
|
|
go install forge.lthn.ai/core/cli/cmd/core@latest
|
|
```
|
|
|
|
Ensure your Go bin directory is in your PATH. See [Getting Started](getting-started.md) 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.):
|
|
|
|
```bash
|
|
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:
|
|
|
|
```bash
|
|
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`:
|
|
|
|
```bash
|
|
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:
|
|
|
|
```bash
|
|
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
|
|
|
|
- [Getting Started](getting-started.md) - Installation and first steps
|
|
- [User Guide](user-guide.md) - Detailed usage information
|
|
- [Troubleshooting](troubleshooting.md) - Solving common issues
|