Skip to Content
DocumentationGetting Started

Getting Started

Gofasta is a Go backend toolkit: a CLI that scaffolds projects and generates code, backed by a library of independent pkg/* packages you can adopt or replace one at a time. This section is the shortest path from an empty directory to a running service.

Read the four pages in order the first time — each one assumes the previous.

The path

  1. Introduction — What Gofasta is, what it generates, and the design decisions behind it: plain Go code, no runtime wrapper, and an agent-native surface (AGENTS.md, structured CLI output, a debug endpoint set) that AI coding assistants can drive directly.
  2. Installation — Install the CLI with go install or the pre-built binary script. Covers macOS, Linux, and Windows (WSL), verifying the install with gofasta doctor, and optional shell completion for bash, zsh, and fish.
  3. Quick Start — Scaffold a project, bring the whole dev loop up with one command, and generate your first resource. About five minutes end to end.
  4. Project Structure — A tour of what gofasta new writes: app/ (models, services, controllers, DTOs, jobs, tasks), db/migrations/, cmd/, config.yaml, compose.yaml, and the supporting testutil/ and .github/workflows/ tree.

What you have at the end

A Go module you own outright — a REST (and optionally GraphQL) service with database migrations, JWT authentication, dependency injection wired by Wire, background jobs, and a Docker Compose file for its dependencies. No generated code calls back into a hidden runtime; every file is ordinary Go you can read, edit, or delete.

Where to go next

  • Guides — Task-focused walkthroughs: REST, GraphQL, migrations, authentication, background jobs, testing, deployment.
  • CLI Reference — Every command, flag, and output shape.
  • Package Library — The pkg/* packages a scaffolded project imports by default.
  • White Paper — The longer argument for the toolkit’s design.
Last updated on