cli/AGENTS.md

2.2 KiB

Developer Guide

This guide provides instructions for building, testing, and interacting with the Core project.

Project Structure

The project is organized into the following main directories:

  • pkg/: Contains the core Go packages that make up the framework.
  • cmd/: Contains the entry points for the two main applications:
    • core-gui/: The Wails-based GUI application.
    • core/: The command-line interface (CLI) application.

Development Workflow

This project uses Task for task automation. The Taskfile.yml in the root directory defines a set of tasks to streamline common development operations.

Prerequisites

Available Tasks

To run any of the following tasks, open your terminal in the project's root directory and execute the task command.

General Tasks

  • task test: Runs all Go tests recursively for the entire project.
  • task check: A comprehensive check that runs go mod tidy, the full test suite, and a CodeRabbit review.
  • task review: Submits the current changes for a CodeRabbit review.
  • task cov: Generates a test coverage profile (coverage.txt).
  • task cov-view: Opens the HTML coverage report in your browser.

GUI Application (cmd/core-gui)

These tasks are run from the root directory and operate on the GUI application.

  • task gui:build: Builds the GUI application.
  • task gui:package: Packages a production build of the GUI application.
  • task gui:run: Runs the GUI application.
  • task gui:dev: Runs the GUI application in development mode, with hot-reloading enabled.

CLI Application (cmd/core)

These tasks are run from the root directory and operate on the CLI application.

  • task cli:build: Builds the CLI application.
  • task cli:build:dev: Builds the CLI application for development.

Building and Running

GUI Application

To run the GUI application in development mode:

task gui:dev

To build the final application for your platform:

task gui:build

CLI Application

To build the CLI application:

task cli:build

The executable will be located in the cmd/core/bin directory.