1# Go opinion index
2
3This file is the mandatory entry point for Go-specific Amolith opinions. If a
4request explicitly names a Go leaf topic such as Wails, MCP, TUI, packaging, or
5CLI opinions, start here anyway. The ordering is intentional: agents should grok
6the baseline before applying a surface-specific preference.
7
8Always read [baseline.md](baseline.md) before applying Go-specific opinions.
9Then load the files for the project surface:
10
11- **Setup, modernisation, audit, or tooling**: read [mise.md](mise.md),
12 [preferred-libraries.md](preferred-libraries.md), and [testing.md](testing.md)
13 if verification or test posture is changing.
14- **Library**: read [preferred-libraries.md](preferred-libraries.md) and
15 [testing.md](testing.md). Read [licencing.md](licencing.md) when project
16 metadata or file coverage changes.
17- **CLI**: read [mise.md](mise.md), [preferred-libraries.md](preferred-libraries.md),
18 and [cli.md](cli.md). Read [packaging.md](packaging.md) for release/install
19 work.
20- **TUI**: read [mise.md](mise.md), [preferred-libraries.md](preferred-libraries.md),
21 [cli.md](cli.md), [tui.md](tui.md), and [testing.md](testing.md). Read
22 [packaging.md](packaging.md) for release/install work.
23- **MCP server**: read [mise.md](mise.md), [preferred-libraries.md](preferred-libraries.md),
24 [cli.md](cli.md), [mcp.md](mcp.md), and [testing.md](testing.md). Read
25 [packaging.md](packaging.md) only when system installation, services, or
26 managed config files are part of the product.
27- **Light web app**: read [mise.md](mise.md), [preferred-libraries.md](preferred-libraries.md),
28 [web.md](web.md), and [testing.md](testing.md).
29- **Wails desktop app**: read [mise.md](mise.md), [preferred-libraries.md](preferred-libraries.md),
30 [web.md](web.md), [wails.md](wails.md), [packaging.md](packaging.md), and
31 [testing.md](testing.md).
32- **Packaging/release work**: read [mise.md](mise.md), [packaging.md](packaging.md),
33 and [cli.md](cli.md) for binary version policy. Add [wails.md](wails.md) for
34 Wails desktop releases.
35- **Licencing**: read [../licencing.md](../licencing.md), then
36 [licencing.md](licencing.md) for Go/package metadata notes.
37
38If a generic reference and a Go reference conflict, keep the generic reference
39for cross-ecosystem intent and the Go reference for concrete Go tooling,
40libraries, command names, build flags, and implementation details.