Summary
This is an incremental update to the architecture diagram. Since the last run (f5a2c2a), Go files changed across all packages, and a new internal/tools/ directory was added with two build tools.
Changed packages: pkg/cli, pkg/workflow, pkg/parser, pkg/console, pkg/constants, pkg/types, and all utility packages received code changes. The structural addition is internal/tools/ (2 new entry points).
Architecture Diagram
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β ENTRY POINTS β
β ββββββββββββββββββββββββββββββ ββββββββββββββββββββββββββ ββββββββββββββββββββββββββββββββββ β
β β cmd/gh-aw β β cmd/gh-aw-wasm β β internal/tools/ (Γ2) β β
β β GitHub CLI extension bin β β WebAssembly target β β actions-build, gen-metadata β β
β ββββββββββββββ¬ββββββββββββββββ ββββββββββββββ¬ββββββββββββ ββββββββββββββββ¬ββββββββββββββββββ β
β β β β β
βββββββββββββββββΌββββββββββββββββββββββββββββββββββΌβββββββββββββββββββββββββββββββΌββββββββββββββββββββ€
β βΌ CORE PACKAGES βΌ βΌ β
β ββββββββββββββββββββ ββββββββββββββββββββββββ ββββββββββββββββββββββ βββββββββββββββββββββ β
β β pkg/cli ββββΆβ pkg/workflow ββββΆβ pkg/parser β β pkg/console β β
β β Command impls β β Workflow compilation β β MD/YAML parsing βββββ Terminal UI β β
β ββββββββββββββββββββ ββββββββββββββββββββββββ ββββββββββββββββββββββ βββββββββββββββββββββ β
β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β pkg/constants Β· pkg/types (shared primitives, no deps) β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β UTILITIES β
β ββββββββββββ ββββββββββββββββ ββββββββββββββ βββββββββββββ ββββββββββββ ββββββββββββ β
β βpkg/loggerβ βpkg/stringutilβ βpkg/fileutilβ βpkg/gitutilβ βpkg/stylesβ β pkg/tty β β
β ββββββββββββ ββββββββββββββββ ββββββββββββββ βββββββββββββ ββββββββββββ ββββββββββββ β
β βββββββββββββ βββββββββββββββ βββββββββββββββ ββββββββββββββββ ββββββββββββββ ββββββββββββββ β
β βpkg/envutilβ βpkg/repoutil β βpkg/sliceutilβ βpkg/semverutilβ βpkg/timeutilβ βpkg/mathutilβ β
β βββββββββββββ βββββββββββββββ βββββββββββββββ ββββββββββββββββ ββββββββββββββ ββββββββββββββ β
β ββββββββββββββββ β
β β pkg/testutil β (test support only) β
β ββββββββββββββββ β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Change Log
Packages added since last run:
internal/tools/actions-build β build/validate custom GitHub Actions (imports pkg/cli)
internal/tools/generate-action-metadata β generate action.yml and README.md for JS modules (imports pkg/cli)
New dependencies detected:
- Both internal tools depend on
pkg/cli, extending its role beyond the main CLI binary
Structural shifts:
- A new
internal/tools/ tier appears as build-time entry points alongside cmd/ binaries. These tools reuse pkg/cli functions directly for their build pipelines.
Package Reference
| Package |
Layer |
Description |
| cmd/gh-aw |
Entry |
GitHub CLI extension binary entry point |
| cmd/gh-aw-wasm |
Entry |
WebAssembly target entry point |
| internal/tools/actions-build |
Internal |
Build/validate custom GitHub Actions |
| internal/tools/generate-action-metadata |
Internal |
Generate action.yml and README.md for JS modules |
| pkg/cli |
Core |
Command implementations (cobra commands) |
| pkg/workflow |
Core |
Workflow compilation engine (MD β GitHub Actions YAML) |
| pkg/parser |
Core |
Markdown frontmatter and YAML parsing |
| pkg/console |
Core |
Terminal UI rendering and formatting |
| pkg/constants |
Shared |
Shared constants and semantic type aliases |
| pkg/types |
Shared |
Shared type definitions across packages |
| pkg/logger |
Utility |
Namespace-based debug logging, zero overhead when disabled |
| pkg/stringutil |
Utility |
String manipulation utilities |
| pkg/fileutil |
Utility |
File path and file operation utilities |
| pkg/gitutil |
Utility |
Git repository utilities |
| pkg/styles |
Utility |
Centralized terminal color and style definitions |
| pkg/tty |
Utility |
TTY (terminal) detection utilities |
| pkg/envutil |
Utility |
Environment variable reading and validation |
| pkg/repoutil |
Utility |
GitHub repository slug and URL utilities |
| pkg/sliceutil |
Utility |
Generic slice utility functions |
| pkg/semverutil |
Utility |
Semantic versioning primitives |
| pkg/timeutil |
Utility |
Time formatting utilities |
| pkg/mathutil |
Utility |
Basic mathematical utility functions |
| pkg/testutil |
Utility |
Test support utilities (test-only) |
References: Β§23940712069
Generated by Architecture Diagram Generator Β· β 1.1M Β· β·
Summary
This is an incremental update to the architecture diagram. Since the last run (
f5a2c2a), Go files changed across all packages, and a newinternal/tools/directory was added with two build tools.Changed packages:
pkg/cli,pkg/workflow,pkg/parser,pkg/console,pkg/constants,pkg/types, and all utility packages received code changes. The structural addition isinternal/tools/(2 new entry points).Architecture Diagram
Change Log
Packages added since last run:
internal/tools/actions-buildβ build/validate custom GitHub Actions (importspkg/cli)internal/tools/generate-action-metadataβ generateaction.ymlandREADME.mdfor JS modules (importspkg/cli)New dependencies detected:
pkg/cli, extending its role beyond the main CLI binaryStructural shifts:
internal/tools/tier appears as build-time entry points alongsidecmd/binaries. These tools reusepkg/clifunctions directly for their build pipelines.Package Reference
References: Β§23940712069