cli/docs/user-guide.md
Vi d2ae87b108
fix: restore packages accidentally deleted during PR #313 rebase (#333)
During conflict resolution for PR #313 (streaming API), the agent
incorrectly assumed that modify/delete conflicts meant the PR intended
to remove these packages. This was wrong - PR #313 was only about
adding streaming API to pkg/io.

Restored packages:
- pkg/workspace - workspace management service
- pkg/unifi - UniFi controller client
- pkg/gitea - Gitea API client
- pkg/crypt/openpgp - OpenPGP encryption service
- internal/cmd/gitea - Gitea CLI commands
- internal/cmd/unifi - UniFi CLI commands

Also restored:
- Various test files (bench_test.go, integration_test.go, etc.)
- pkg/framework/core/interfaces.go (Workspace/Crypt interfaces)
- pkg/log/errors.go (error helpers)
- Documentation (faq.md, user-guide.md)

This allows PR #297 (MCP daemon mode) to proceed as it depends on
pkg/workspace.

Co-authored-by: Claude <developers@lethean.io>
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-05 11:16:23 +00:00

2.5 KiB

User Guide

This guide provides a comprehensive overview of how to use the Core CLI to manage your development workflow.

Key Concepts

Projects

A Project is a single repository containing code (Go, PHP, or Wails). Core helps you test, build, and release these projects using a consistent set of commands.

Workspaces

A Workspace is a collection of related projects. Core is designed to work across multiple repositories, allowing you to perform actions (like checking status or committing changes) on all of them at once.

Registry (repos.yaml)

The Registry is a configuration file that defines the repositories in your workspace. It includes information about where they are located on GitHub, their dependencies, and their purpose.


Daily Workflow

Working with a Single Project

For a typical day-to-day development on a single project:

  1. Verify your environment:
    core doctor
    
  2. Run tests while you work:
    core go test
    
  3. Keep code clean:
    core go fmt --fix
    core go lint
    
  4. Build and preview:
    core build
    

Working with Multiple Repositories

If you are working across many repositories in a workspace:

  1. Check status of all repos:
    core dev work --status
    
  2. Sync all changes:
    core dev pull --all
    
  3. Commit and push everything:
    core dev work
    

Building and Releasing

Core separates the building of artifacts from the releasing of those artifacts.

1. Build

The core build command detects your project type and builds binaries for your configured targets. Artifacts are placed in the dist/ directory.

2. Preview Release

Use core ci to see a summary of what would be included in a release (changelog, artifacts, etc.). This is a dry-run by default.

3. Publish Release

When you are ready to publish to GitHub:

core ci --we-are-go-for-launch

PHP and Laravel Development

Core provides a unified development server for Laravel projects that orchestrates several services:

core php dev

This starts FrankenPHP, Vite, Horizon, Reverb, and Redis as configured in your .core/php.yaml.


Common Workflows

For detailed examples of common end-to-end workflows, see the Workflows page.


Getting More Help

  • Use the --help flag with any command: core build --help
  • Check the FAQ for common questions.
  • If you run into trouble, see the Troubleshooting Guide.