v2.0.0
Go-Arch v2.0.0 π
Go-Arch is no longer just a CLI β it's a framework. This release covers the full roadmap: project evolution, a plugin ecosystem, executable generators, lifecycle hooks, and multi-project workspaces. The project was renamed from go-arch-cli β go-arch (GitHub redirects the old URL).
π Highlights
- Framework positioning β a CLI, an ecosystem of installable template packs, executable generators, hooks, and workspaces.
- Project renamed to
go-archβ installers andgo installuse the new name.
β¨ New Features
π¦ Plugins (installable template packs)
template install|list|remove|updateβ publishable, versioned template packs fetched via the Go module proxy (go-arch template install github.com/you/go-arch-express).- Pack contract v1:
go-arch.yamlmanifest withcontract_version,name,version,hooks,layout,binary_assets. new --template <pack>β scaffold from an installed pack (wizard bypass).- Engine resolution chain:
local > global > pack > embedded. - Upgrade re-renders pack-sourced files from the recorded pack (PROTECTED when missing).
βοΈ Generators (plugins v2)
- Executable generation logic in packs via YAML recipe DSLs (steps:
template,binary,run,prompt,use: builtin/<name>). - Pre-flight path sandboxing (zero writes on path escape).
generate <name>three-tier dispatch (pack β builtin β component) +--list.- MCP:
generate_componentgainsgeneratorArgs; newlist_generatorstool. GENERATOR_NAMEenv for generator hooks.
π Lifecycle Hooks
pre-new/post-new/pre-generate/post-generatein.go-arch.yaml(string shorthand or object form).- Timeouts (30s default),
ignore_failure, stop-on-first semantics. - MCP parity; upgrade never fires hooks.
ποΈ Multi-Project Workspaces
go-arch.workspace.yamlat the monorepo root mapping services to paths.workspace upgrade(dry-run by default,--yesapplies) andworkspace checkβ continue-on-error with per-service summary.--service <name>ongenerate/check/upgrade.- Opt-in: single-project behavior is byte-identical (ADR-7 intact).
β¬οΈ Project Evolution
go-arch upgradeβ propagates template changes via a fingerprint manifest without clobbering user edits (legacy whitelist fallback).generateauto-registers routes via a generated registry in templ+HTMX projects.doctorβ environment diagnostics.
π§ Breaking Changes
- Repository renamed
go-arch-cliβgo-archβ old URLs redirect. - None in CLI commands β all existing commands work as before.
π¦ Assets
Linux (tar.gz, .deb, .rpm, .apk, .pkg.tar.zst), macOS (amd64/arm64), Windows (amd64/arm64) + SHA-256 checksums.
π Install
curl -fsSL https://raw.githubusercontent.com/SalvucciFacundo/go-arch/main/install.sh | bash
# or
go install github.com/SalvucciFacundo/go-arch@latest