Skip to content

dgageot/gogo

Repository files navigation

gogo

A simple task runner.

Installation

go install github.com/dgageot/gogo@latest

Usage

Create a gogo.yaml in your project root:

tasks:
  default:
    cmd: echo "Hello, World!"

  build:
    cmd: go build -o bin/myapp ./...
    sources: go            # built-in preset: **/*.go + go.mod + go.sum
    generates:
      - bin/myapp

  test:
    cmd: go test ./...
    sources: go

Run a task:

gogo build
gogo test

List available tasks:

gogo -l

Watch sources and re-run on changes:

gogo -w test

Dry run — see what would execute:

gogo -n build

Features

A quick tour. Each item links to the canonical docs page.

  • Incremental builds — SHA-256 source checksums or generates: timestamp comparison (Sources & Checksums)
  • Source presets — reuse named glob lists; built-in go / go-vendored, or define your own (Sources & Checksums)
  • Watch mode — polls sources at a configurable interval: and re-runs (Watch Mode)
  • Concurrent dependencies with deduplication (Dependencies)
  • Variables — template expansion, sh: shell-evaluated values, built-in {{.GIT_*}} and {{.TASK_FILE_DIR}} (Variables)
  • Dotenv — global and per-task, with deterministic precedence (Dotenv)
  • 1Password secrets via op:// references and a top-level secrets: block (Secrets)
  • Preconditions & requires to guard tasks before they run (Preconditions)
  • Platform filtering to restrict tasks to specific OS/arch
  • Includes & flatten to split task files across subdirectories (Includes)
  • Dry run mode (gogo -n) to preview the plan (CLI Reference)

Full documentation: https://dgageot.github.io/gogo/

Secrets

gogo integrates with 1Password CLI to inject secrets into tasks. Use op:// references in your task environment:

tasks:
  deploy:
    env:
      DB_PASSWORD: op://vault/item/field
    cmd: deploy --password $DB_PASSWORD

When op:// values are detected, gogo wraps the command with op run which resolves secrets and handles authentication (including Touch ID).

License

Apache License 2.0 — see LICENSE for details.

About

A fast and capable task runner

Resources

License

Security policy

Stars

Watchers

Forks

Contributors