# golang-standards/project-layout

Standard Go Project Layout

Repository: https://github.com/golang-standards/project-layout
Canonical: https://ross.abutalabs.com/products/project-layout
Language: Makefile
License: NOASSERTION
License Family: other
Topics: go, golang, project-template, standards, project-structure
Last push: 2026-04-28T17:18:05+00:00

## Health v2 (maintenance only)
Score: 68/100 (v2, computed 2026-09-02T17:46:02.011165+00:00)
- activity 79, release rhythm 35, longevity 100
- inputs: {"age_days": 3280, "days_push": 127, "days_rel": null, "gap_med": null, "n_releases_24m": 0}
- flags: no_releases, no_license
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 56498, forks 5427 (observed 2026-08-28T04:12:18.477677+00:00)

## What it is
A community-maintained reference describing a standard directory layout for Go application projects, documenting common patterns like /cmd, /internal, and /pkg. It is a documentation and guidance resource, not an official standard from the Go team.

## Use cases
- structure a large go project
- go project directory layout conventions
- organize packages in a golang repository
- learn where to put internal packages in go
- set up a new go application skeleton

## When to choose
- you are starting a medium-to-large Go application with multiple contributors
- you want a common, recognizable layout for an open-source Go project
- you need guidance on internal vs public package placement

## When to avoid
- you are learning Go or building a small PoC - a single main.go and go.mod is enough
- you need an official standard - the Go core team provides its own module layout guidance
- you want opinionated architecture patterns like Clean Architecture

## Facets
- artifact type: learning-resource
- maturity: stable
- function: developer-tools, documentation, boilerplate
- domain: developer-tools, programming-languages, tutorials
- platform: go, cross-platform
- tags: project-structure, go-ecosystem, best-practices, reference-guide

## Member repositories
- golang-standards/project-layout (main) score 68

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:12:18.477677+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-29T16:18:41.000622+00:00, confidence not recorded.
  - readme: https://github.com/golang-standards/project-layout (fetched 2026-08-28T04:12:18.477677+00:00, sha 7ea00b3389ad)
- Data as of 2026-08-30T08:39:29.467469+00:00.
