Skip to content
@goforj

GoForj

Go tools forged for speed, clarity, and confidence.

GoForj: The composable stack for building with Go, illustrated by the Foundry workbench

Go tools forged for speed, clarity, and confidence.

Documentation · Application toolkit · All projects

GoForj is a composable stack for building Go applications, with focused libraries for everyday code, HTTP, background work, and infrastructure. The forj CLI brings them together in generated projects with explicit wiring and app-owned source.

Use the standalone libraries in an existing Go application, or start a GoForj project to build APIs, workers, scheduled jobs, command-line tools, and web apps.

Standalone libraries

Everyday Go

Library What it helps you build
collection Typed, fluent slice pipelines for mapping, filtering, sorting, grouping, and reducing.
str Immutable string transformations, Unicode-aware helpers, matching, and inflection.
env Typed environment configuration with dotenv loading, scoped keys, fallbacks, and required-value checks.
crypt Authenticated encryption for application payloads, with key rotation and compatibility with earlier payload formats.
godump Readable dumps and diffs of Go values, with terminal and HTML output, cycle handling, and field redaction.

HTTP and CLI applications

Library What it helps you build
web HTTP handlers, routing, middleware, WebSockets, and handler tests through focused contracts and an Echo adapter.
httpx Fluent HTTP clients with typed responses, authentication, retries, and request diagnostics, built on req.
console CLI output with semantic messages, tables, trees, interactive prompts, loaders, and progress indicators.
execx Subprocess workflows with explicit arguments, streaming output, typed decoding, and TTY support.
metrics Application instrumentation with counters, gauges, histograms, snapshots, and Prometheus text output, using only the standard library.

Background work and infrastructure

Library What it helps you build
queue Background jobs with pluggable backends, workers, retries, delayed jobs, uniqueness, chains, and batches.
events Typed event publication and fan-out, in-process or through distributed pub/sub drivers such as NATS, Redis, Kafka, and Google Pub/Sub.
scheduler Fluent cron, interval, and calendar schedules with filters, lifecycle hooks, and overlap protection.
cache Local, distributed, and SQL-backed caching with typed helpers, locks, counters, and rate limits.
storage One file-storage API for local disks, S3, Google Cloud Storage, Redis, SFTP, FTP, and rclone remotes.
mail Fluent email composition with delivery drivers for SMTP, SES, Resend, Postmark, Mailgun, and SendGrid.

Application and developer tooling

Project What it provides
goforj The application stack and forj CLI: project creation, component wiring, Vue/React/templ + htmx starters, and a local development workflow.
wire Compile-time dependency injection with generation caching, watch mode, and go tool support. Maintained fork of Google Wire, usable in any Go project.
atlas Project guidance, skills, and MCP tools that help coding agents inspect and navigate GoForj applications.

How we build

  • Explicit by default. Configuration and behavior stay visible and auditable.
  • Composable by design. Small packages expose narrow APIs and avoid unnecessary coupling.
  • Confidence through tests. Core behavior, failure paths, and integrations are exercised in CI.
  • Performance with evidence. Benchmarks guide decisions where speed or allocation behavior matters.

Project status

The GoForj framework is in public beta. Start building Go applications, explore the independently versioned libraries, and help shape the framework before 1.0.

Get started · Release status

Open an issue on the relevant project to share feedback.

Contributing

Bug reports, documentation improvements, benchmarks, focused fixes, and design discussions are welcome. Please use the issue tracker for the project your contribution affects.

License

GoForj projects are released under the MIT license unless a repository states otherwise.

Popular repositories Loading

  1. godump godump Public

    Configurable Go value and struct dumps with colorized output, type visibility controls, and field redaction.

    Go 1.8k 34

  2. wire wire Public

    Maintained Google Wire fork for compile-time dependency injection in Go, with generation caching, watch mode, and go tool support.

    Go 342 5

  3. str str Public

    Immutable fluent Go string helpers for Unicode-aware construction, matching, transformations, and inflection.

    Go 152 2

  4. httpx httpx Public

    Generics-first Go HTTP client built on req, with fluent requests, typed responses, authentication, retries, and diagnostics.

    Go 101 4

  5. collection collection Public

    Fluent generic Go collections for explicit slice pipelines, transformations, filtering, aggregation, and collection helpers.

    Go 35

  6. cache cache Public

    Go caching library with local, distributed, and SQL-backed drivers, plus typed helpers, locks, counters, and rate limits.

    Go 6

Repositories

Showing 10 of 23 repositories
  • .github Public

    GoForj community repository

    goforj/.github's past year of commit activity
    0 0 0 0 Updated Oct 29, 2026
  • docs Public
    goforj/docs's past year of commit activity
    Go 2 MIT 0 0 2 Updated Oct 28, 2026
  • goforj Public

    The composable stack for building with Go

    goforj/goforj's past year of commit activity
    Go 4 MIT 1 1 0 Updated Oct 25, 2026
  • harbor Public
    goforj/harbor's past year of commit activity
    Go 1 0 0 0 Updated Oct 22, 2026
  • wire Public

    Maintained Google Wire fork for compile-time dependency injection in Go, with generation caching, watch mode, and go tool support.

    goforj/wire's past year of commit activity
    Go 342 Apache-2.0 5 0 0 Updated Oct 21, 2026
  • web Public

    Go HTTP contracts, routing, middleware, testing helpers, and an Echo-backed server adapter for explicit application wiring.

    goforj/web's past year of commit activity
    Go 1 MIT 0 0 0 Updated Oct 20, 2026
  • str Public

    Immutable fluent Go string helpers for Unicode-aware construction, matching, transformations, and inflection.

    goforj/str's past year of commit activity
    Go 152 MIT 2 0 0 Updated Oct 20, 2026
  • storage Public

    Go storage library with one API for local files, S3, Google Cloud Storage, Redis, and remote filesystems.

    goforj/storage's past year of commit activity
    Go 3 MIT 0 0 0 Updated Oct 20, 2026
  • scheduler Public

    Fluent Go job scheduler built on gocron, with cron expressions, intervals, overlap protection, and runtime controls.

    goforj/scheduler's past year of commit activity
    Go 2 MIT 0 0 0 Updated Oct 20, 2026
  • queue Public

    Go job queue with pluggable backends, workers, retries, delayed jobs, uniqueness, and workflow primitives.

    goforj/queue's past year of commit activity
    Go 3 MIT 0 0 0 Updated Oct 20, 2026