cli/docs/build.md
Snider a57fb4273d docs: restructure for VitePress with flat layout and examples
- Remove mkdocs files (requirements.txt, CNAME)
- Add CLI documentation: build.md, release.md, php.md, run.md
- Add configuration.md with full reference
- Add examples/ directory with sample configurations:
  - go-cli-release.yaml
  - wails-desktop-release.yaml
  - php-laravel-release.yaml
  - linuxkit-server.yml
  - linuxkit-docker-format.yml
  - full-release.yaml
  - minimal-release.yaml
  - official-repos.yaml
- Flatten existing framework docs into framework/
- Update index.md as CLI entry point

Ready for VitePress integration with core-php/docs.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-29 00:38:49 +00:00

1.9 KiB

core build

Build Go, Wails, Docker, and LinuxKit projects with automatic project detection.

Usage

core build [flags]

Flags

Flag Description
--type Project type: go, wails, docker, linuxkit (auto-detected)
--targets Build targets: linux/amd64,darwin/arm64,windows/amd64
--output Output directory (default: dist)
--ci CI mode - non-interactive, fail fast
--image Docker image name (for docker builds)

Examples

Go Project

# Auto-detect and build
core build

# Build for specific platforms
core build --targets linux/amd64,linux/arm64,darwin/arm64

# CI mode
core build --ci

Wails Project

# Build Wails desktop app
core build --type wails

# Build for all desktop platforms
core build --type wails --targets darwin/amd64,darwin/arm64,windows/amd64,linux/amd64

Docker Image

# Build Docker image
core build --type docker

# With custom image name
core build --type docker --image ghcr.io/myorg/myapp

LinuxKit Image

# Build LinuxKit ISO
core build --type linuxkit

Project Detection

Core automatically detects project type based on files:

Files Type
wails.json Wails
go.mod Go
Dockerfile Docker
composer.json PHP
package.json Node

Output

Build artifacts are placed in dist/ by default:

dist/
├── myapp-linux-amd64.tar.gz
├── myapp-linux-arm64.tar.gz
├── myapp-darwin-amd64.tar.gz
├── myapp-darwin-arm64.tar.gz
├── myapp-windows-amd64.zip
└── CHECKSUMS.txt

Configuration

Optional .core/build.yaml:

version: 1

project:
  name: myapp
  binary: myapp

build:
  main: ./cmd/myapp
  ldflags:
    - -s -w
    - -X main.version={{.Version}}

targets:
  - os: linux
    arch: amd64
  - os: linux
    arch: arm64
  - os: darwin
    arch: arm64