-
Notifications
You must be signed in to change notification settings - Fork 341
ποΈ Architecture Diagram:Incremental Update: Architecture Diagram (2026-04-03)Β #24263
Copy link
Copy link
Closed as not planned
Closed as not planned
Copy link
Labels
Description
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 (importspkg/cli)internal/tools/generate-action-metadataβ generateaction.ymlandREADME.mdfor JS modules (importspkg/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 alongsidecmd/binaries. These tools reusepkg/clifunctions 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 Β· β·
- expires on Apr 10, 2026, 9:07 AM UTC
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
Type
Fields
Give feedbackNo fields configured for issues without a type.