Skip to content

Features

The functional domains of goga — one directory per domain, one common page model.

A domain is a user-facing functional area of the product: what it solves, how it is configured, which CLI commands drive it, which hook points it offers to tool packages, and which Python API its package facade exposes. The DSL itself and the AST goga builds from it are covered in Cells; language-specific contract extraction lives in Languages.

The domains

Domain What it solves CLI
Pipelines Running agent-driven cycles: pipeline-files, workflows, shipped pipelines, unattended/CI runs goga pipeline
Build Executing build plans in an isolated container goga build
Topics Organizing work: branches, the board, todo entries, creation, switching, deletion, publication goga topics
History The .goga/history/ artifact tree, the status scale, orphan cleanup, scriptable paths goga history
Tools The tool ecosystem: using, packaging, and naming goga-tool packages goga tool
Connect Installing goga skills and commands into AI agents goga connect
Upgrade Upgrading goga (and tools) with agent re-sync goga upgrade
Install Installing and removing tool packages into the running interpreter goga install, goga uninstall
Init Interactive project initialization and template scaffolding goga init
Usages Syncing cell-level usages from declared git dependencies goga usages
Schema JSON schema trees from CODEMANIFEST files goga schema
Contract Comparing CODEMANIFEST declarations with the implementation goga contract
Hooks The extension platform connecting domains and tool packages goga hooks
Lint Validating CODEMANIFEST files goga lint

The page model

Every domain directory is built on the same core page model (a domain may add topic-specific pages on top):

Page Content
Overview (index.md) The functional area — which tasks the domain solves, its model and boundaries
CLI (cli.md) The full normative command reference: synopsis, options, behavior, exit codes
Configuration (configuration.md) The .goga/config.yml sections the domain reads (or a statement that it reads none)
Hooks (hooks.md) The hook points the domain offers to tool packages (or a statement that it offers none)
API (api.md) The facade API of the domain's Python package: types, signatures, parameters, purpose, usage examples

The command reference for the whole product — one table, every command mapped to its domain — is kept in the CLI cross-road.