-
Notifications
You must be signed in to change notification settings - Fork 366
[architecture] Update architecture diagram - 2026-04-25 #28412
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| @@ -1,5 +1,74 @@ | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| # Architecture Diagram | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| > Last updated: 2026-04-25 · Source: [Issue #28411](https://github.com/github/gh-aw/issues) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ## Overview | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| This diagram shows the package structure and dependencies of the `gh-aw` codebase. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ``` | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ┌──────────────────────────────────────────────────────────────────────────────────────────────────┐ | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| │ ENTRY POINTS │ | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| │ ┌──────────────────┐ ┌──────────────────────┐ │ | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| │ │ cmd/gh-aw │ │ cmd/gh-aw-wasm │ │ | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| │ │ (main binary) │ │ (WebAssembly target)│ │ | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| │ └────────┬─────────┘ └──────────┬───────────┘ │ | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| │ │ │ │ | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ├────────────┼──────────────────────────────────────────────────────────┼──────────────────────────┤ | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| │ ▼ CORE PACKAGES ▼ │ | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| │ ┌─────────────────┐ ┌──────────────────┐ ┌────────────────────────┐ │ | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| │ │ cli │───▶│ workflow │───▶│ parser │ │ | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| │ │ CLI commands │ │ Workflow compiler │ │ Markdown/YAML parsing │ │ | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| │ └────────┬────────┘ └────────┬─────────┘ └───────────┬────────────┘ │ | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| │ │ │ │ │ | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| │ │ ┌────────▼─────────┐ ┌───────────▼────────────┐ │ | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| │ └────────────▶│ console │ │ actionpins │ │ | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| │ │ Terminal UI │ │ Action pin resolver │ │ | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| │ └──────────────────┘ └────────────────────────┘ │ | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| │ │ | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| │ ┌──────────────────┐ ┌──────────────────┐ │ | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| │ │ agentdrain │ │ stats │ │ | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| │ │ Agent draining │ │ Numeric stats │ │ | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| │ └──────────────────┘ └──────────────────┘ │ | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| │ │ | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ├──────────────────────────────────────────────────────────────────────────────────────────────────┤ | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| │ UTILITY PACKAGES │ | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| │ ┌─────────┐ ┌─────────┐ ┌──────────┐ ┌──────────┐ ┌───────────┐ ┌──────────┐ ┌──────────┐ │ | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| │ │ logger │ │ styles │ │ tty │ │constants │ │ types │ │ fileutil │ │ gitutil │ │ | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| │ └─────────┘ └─────────┘ └──────────┘ └──────────┘ └───────────┘ └──────────┘ └──────────┘ │ | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| │ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ │ | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Comment on lines
+20
to
+39
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| │ │ cli │───▶│ workflow │───▶│ parser │ │ | |
| │ │ CLI commands │ │ Workflow compiler │ │ Markdown/YAML parsing │ │ | |
| │ └────────┬────────┘ └────────┬─────────┘ └───────────┬────────────┘ │ | |
| │ │ │ │ │ | |
| │ │ ┌────────▼─────────┐ ┌───────────▼────────────┐ │ | |
| │ └────────────▶│ console │ │ actionpins │ │ | |
| │ │ Terminal UI │ │ Action pin resolver │ │ | |
| │ └──────────────────┘ └────────────────────────┘ │ | |
| │ │ | |
| │ ┌──────────────────┐ ┌──────────────────┐ │ | |
| │ │ agentdrain │ │ stats │ │ | |
| │ │ Agent draining │ │ Numeric stats │ │ | |
| │ └──────────────────┘ └──────────────────┘ │ | |
| │ │ | |
| ├──────────────────────────────────────────────────────────────────────────────────────────────────┤ | |
| │ UTILITY PACKAGES │ | |
| │ ┌─────────┐ ┌─────────┐ ┌──────────┐ ┌──────────┐ ┌───────────┐ ┌──────────┐ ┌──────────┐ │ | |
| │ │ logger │ │ styles │ │ tty │ │constants │ │ types │ │ fileutil │ │ gitutil │ │ | |
| │ └─────────┘ └─────────┘ └──────────┘ └──────────┘ └───────────┘ └──────────┘ └──────────┘ │ | |
| │ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ │ | |
| │ │ pkg/cli │───▶│ pkg/workflow │───▶│ pkg/parser │ │ | |
| │ │ CLI commands │ │ Workflow compiler │ │ Markdown/YAML parsing │ │ | |
| │ └────────┬────────┘ └────────┬─────────┘ └───────────┬────────────┘ │ | |
| │ │ │ │ │ | |
| │ │ ┌────────▼─────────┐ ┌───────────▼────────────┐ │ | |
| │ └────────────▶│ pkg/console │ │ pkg/actionpins │ │ | |
| │ │ Terminal UI │ │ Action pin resolver │ │ | |
| │ └──────────────────┘ └────────────────────────┘ │ | |
| │ │ | |
| │ ┌──────────────────┐ ┌──────────────────┐ │ | |
| │ │ pkg/agentdrain │ │ pkg/stats │ │ | |
| │ │ Agent draining │ │ Numeric stats │ │ | |
| │ └──────────────────┘ └──────────────────┘ │ | |
| │ │ | |
| ├──────────────────────────────────────────────────────────────────────────────────────────────────┤ | |
| │ UTILITY PACKAGES │ | |
| │ ┌────────────┐ ┌────────────┐ ┌────────────┐ ┌────────────┐ ┌────────────┐ ┌────────────┐ │ | |
| │ │ pkg/logger │ │ pkg/styles │ │ pkg/tty │ │pkg/constants│ │ pkg/types │ │pkg/fileutil│ │ | |
| │ └────────────┘ └────────────┘ └────────────┘ └────────────┘ └────────────┘ └────────────┘ │ | |
| │ ┌────────────┐ ┌────────────┐ │ |
Copilot
AI
Apr 25, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This update appends the new 2026-04-25 diagram above the existing 2026-04-24/2026-04-23 sections, leaving multiple full diagrams and duplicate "Overview"/"Package Reference" sections in the same file. If the intent is to keep only the latest diagram, remove the older dated sections to avoid confusing/contradictory documentation.
See below for a potential fix:
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The "Source: Issue #28411" link currently points to the repository issues index (https://github.com/github/gh-aw/issues) rather than the specific issue. Update the URL to include the issue number (or adjust the link text if you intentionally don’t want to deep-link).