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>
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:
- Verify your environment:
core doctor - Run tests while you work:
core go test - Keep code clean:
core go fmt --fix core go lint - Build and preview:
core build
Working with Multiple Repositories
If you are working across many repositories in a workspace:
- Check status of all repos:
core dev work --status - Sync all changes:
core dev pull --all - 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
--helpflag with any command:core build --help - Check the FAQ for common questions.
- If you run into trouble, see the Troubleshooting Guide.