MCPcopy
hub / github.com/github/gh-aw

github.com/github/gh-aw @v0.82.2 sqlite

repository ↗ · DeepWiki ↗ · release v0.82.2 ↗
18,937 symbols 98,914 edges 3,175 files 11,306 documented · 60%
README

GitHub Agentic Workflows

Write agentic workflows in natural language markdown, and run them in GitHub Actions.

[!NOTE] Releases 0.68.4 through 0.71.3 are being retired due to a bug that impacts billing. If you are running one of these versions, please upgrade to the latest release as soon as possible.

Contents

Quick Start

Ready to get your first agentic workflow running? Follow our step-by-step Quick Start Guide to install the extension, add a sample workflow, and see it in action.

Overview

Learn about the concepts behind agentic workflows, explore available workflow types, and understand how AI can automate your repository tasks. See How It Works. Supports GitHub Copilot, Claude (Anthropic), Codex (OpenAI), and Gemini (Google) — pick whichever AI account you already have.

Guardrails

Guardrails, safety and security are foundational to GitHub Agentic Workflows. Workflows run with read-only permissions by default, with write operations only allowed through sanitized safe-outputs. The system implements multiple layers of protection including sandboxed execution, input sanitization, network isolation, supply chain security (SHA-pinned dependencies), tool allow-listing, and compile-time validation. Access can be gated to team members only, with human approval gates for critical operations, ensuring AI agents operate safely within controlled boundaries. See the Security Architecture for comprehensive details on threat modeling, implementation guidelines, and best practices.

Using agentic workflows in your repository requires careful attention to security considerations and careful human supervision, and even then things can still go wrong. Use it with caution, and at your own risk.

Documentation

For complete documentation, examples, and guides, see the Documentation. If you are an agent, see llms.txt source and llms-full.txt source.

If you are running a version between 0.68.4 and 0.71.3, upgrading is strongly recommended due to a bug that impacts billing.

Contributing

For development setup and contribution guidelines, see CONTRIBUTING.md.

Custom Go linters

To build and test repository custom linters:

  • go test ./pkg/linters/<linter-name>/...
  • go build ./cmd/linters
  • make golint-custom

make golint-custom builds cmd/linters and runs the custom analyzers against ./cmd/... and ./pkg/....

🌍 Community Contributions

Thank you to the community members whose issue reports were resolved in this project! This list is updated automatically and reflects all attributed contributions.

  • @adamhenson: #25345 (direct issue)
  • @ahmadabdalla: #27473 (direct issue)
  • @AkshatRaj00: #34302 (direct issue)
  • @AlexDeMichieli: #26645 (direct issue)
  • @alondahari: #42762 (direct issue), #42754 (direct issue), #42515 (direct issue), #42227 (direct issue), #41720 (direct issue), #41710 (direct issue), #41419 (direct issue), #41238 (direct issue)
  • @anthonymastreanvae: #41043 (direct issue), #39882 (direct issue), #39881 (direct issue), #39792 (direct issue), #32481 (direct issue), #32479 (direct issue), #30897 (direct issue), #30841 (direct issue)
  • @aoxiangtianyu-go: #39479 (direct issue)
  • @apenab: #25626 (direct issue)
  • @app/github-actions: #38226 (direct issue), #31288 (direct issue), #30740 (direct issue), #29561 (direct issue), #29343 (direct issue), #26257 (direct issue), #26256 (direct issue), #26255 (direct issue), #26254 (direct issue), #26253 (direct issue)
  • @arthurfvives: #35682 (direct issue), #35483 (direct issue), #35157 (direct issue), #30356 (direct issue), #30088 (direct issue), #26223 (direct issue), #25993 (direct issue), #25294 (direct issue)
  • @Artur-: #39532 (direct issue)
  • @askpaisa: #29240 (direct issue)
  • @astefan: #41024 (direct issue)
  • @b2pacific: #28720 (direct issue)
  • @bartul: #29499 (direct issue)
  • @bbonafed: #29174 (direct issue), #29173 (direct issue), #29172 (direct issue), #29171 (direct issue), #27670 (direct issue), #27472 (direct issue), #26719 (direct issue), #26045 (direct issue), #26043 (direct issue), #25646 (direct issue), #25224 (direct issue), #24949 (direct issue)
  • @benissimo: #39237 (direct issue), #38716 (direct issue), #36460 (direct issue), #36234 (direct issue), #36003 (direct issue), #35561 (direct issue)
  • @benvillalobos: #25717 (direct issue)
  • @bmerkle: #31689 (direct issue), #26621 (direct issue)
  • @boydj: #33777 (direct issue), #33605 (direct issue)
  • @Bra1nFartz: #35192 (direct issue)
  • @bryanchen-d: #35284 (direct issue), #35283 (direct issue), #35075 (direct issue), #34109 (direct issue), #34108 (direct issue), #30866 (direct issue), #30704 (direct issue), #30695 (direct issue), #30472 (direct issue), #28774 (direct issue), #26696 (direct issue), #26487 (direct issue), #25719 (direct issue)
  • @bryanknox: #25351 (direct issue)
  • @Calidus: #42490 (direct issue), #38210 (direct issue), #33188 (direct issue), #26923 (direct issue)
  • @chrisfregly: #25349 (direct issue)
  • @chrizbo: #34980 (direct issue), #32446 (direct issue), #31399 (direct issue), #28158 (direct issue)
  • @CiscoRob: #35032 (direct issue)
  • @cknight: #39837 (direct issue)
  • @clementbolin: #28888 (direct issue)
  • @cogni-ai-ee: #32803 (direct issue), #32741 (direct issue)
  • @consulthys: #39748 (direct issue), #39670 (direct issue), #39504 (direct issue)
  • @corygehr: #38681 (direct issue), #38214 (direct issue), #38150 (direct issue), #36969 (direct issue), #36709 (direct issue), #36696 (direct issue), #35272 (direct issue), #33622 (direct issue), #33436 (direct issue), #33367 (direct issue), #33366 (direct issue), #31577 (direct issue), #27638 (direct issue), #26539 (direct issue), #26270 (direct issue), #26268 (direct issue), #25680 (direct issue)
  • @Daidanny008: #27402 (direct issue)
  • @Dan-Albrecht: #33892 (direct issue)
  • @danielmeppiel: #35688 (direct issue), #29076 (direct issue), #28678 (direct issue)
  • @danquirk: #30403 (direct issue)
  • @DeagleGross: #35161 (direct issue)
  • @devantler: #25768 (direct issue), #25767 (direct issue)
  • @deyaaeldeen: #28966 (direct issue), #26486 (direct issue), #25573 (direct issue), #25359 (direct issue)
  • @dfrysinger: #34886 (direct issue), #34885 (direct issue)
  • @dgolombek: #40775 (direct issue)
  • @dholmes: #34949 (direct issue), #29228 (direct issue)
  • @dkurepa: #25511 (direct issue)
  • @drehelis: #42419 (direct issue), #41364 (direct issue), #39149 (direct issue), #25304 (direct issue)
  • @dsibilio: #36196 (direct issue)
  • @dsyme: #36244 (direct issue)
  • @duncankmckinnon: #25944 (direct issue)
  • @edburns: #26920 (direct issue)
  • @edgeq: #28315 (direct issue), #28308 (direct issue)
  • @ericstj: #30260 (direct issue)
  • @fbecar22: #39514 (direct issue)
  • @flatiron32: #36473 (direct issue)
  • @GandrotulaRajesh: #33981 (direct issue)
  • @h-no: #41006 (direct issue)
  • @h3y6e: #38797 (direct issue), #27794 (direct issue)
  • @haavamoa: #30191 (direct issue)
  • @heiskr: #39841 (direct issue)
  • @hermanho: #32197 (direct issue)
  • @hpsin: #35611 (direct issue)
  • @IEvangelist: #34998 (direct issue), #33285 (direct issue), #33069 (direct issue), #33068 (direct issue), #33067 (direct issue), #33060 (direct issue), #33043 (direct issue), #32536 (direct issue), #32354 (direct issue), #30848 (direct issue), #26908 (direct issue), #25467 (direct issue)
  • @ivancea: #42225 (direct issue), #40345 (direct issue), #40029 (direct issue)
  • @j-srodka: #25199 (direct issue)
  • @jamesadevine: #37806 (direct issue), #28957 (direct issue), #26407 (direct issue), #26406 (direct issue)
  • @JamesNK: #29310 (direct issue), #28867 (direct issue), #28863 (direct issue), #28704 (direct issue)
  • @JanKrivanek: #25656 (direct issue), #25439 (direct issue)
  • @jaroslawgajewski: #41172 (direct issue), #38575 (direct issue), #38341 (direct issue), #34917 (direct issue), #33644 (direct issue), #33640 (direct issue), #31678 (direct issue), #31658 (direct issue), #25593 (direct issue)
  • @JasonYeMSFT: #27424 (direct issue)
  • @jbaruch: #30832 (direct issue)
  • @jcooklin: #36785 (direct issue)
  • @jeffhandley: #41993 (direct issue), #30232 (direct issue), #30204 (direct issue), #26799 (direct issue), #26788 (direct issue)
  • @jfomhover: #25420 (direct issue)
  • @jitran: #38969 (direct issue), #37052 (direct issue), #33649 (direct issue)
  • @joesturge: #40063 (direct issue)
  • @johnpreed: #25687 (direct issue)
  • @jonathanpeppers: #38900 (direct issue), #32893 (direct issue), #30662 (direct issue)
  • @jsoref: #38928 (direct issue), #27230 (direct issue)
  • @jsquire: #26069 (direct issue)
  • @jtracey93: #26176 (direct issue)
  • @kaovilai: #32596 (direct issue), #32587 (direct issue), #32482 (direct issue), #32467 (direct issue)
  • @karl-petter-sj: #36209 (direct issue)
  • @katriendg: #38561 (direct issue)
  • @kbreit-insight: #24930 (direct issue)
  • @kkruel8100: #30867 (direct issue)
  • @kthompson: #25550 (direct issue)
  • @labudis: #30846 (direct issue)
  • @ladamski: #33641 (direct issue)
  • @lindeberg: #34006 (direct issue)
  • @lpcox: #35972 (direct issue), #35937 (direct issue), #30634 (direct issue), #29353 (direct issue), #29191 (direct issue)
  • @lupinthe14th: #26542 (direct issue), #26441 (direct issue)
  • @mason-tim: #33084 (direct issue), #33074 (direct issue), #31489 (direct issue), #30336 (direct issue), #29301 (direct issue)
  • @MatthewBunker: #39876 (direct issue), #39649 (direct issue)
  • @MatthewLabasan-NBCU: #26289 (direct issue)
  • @MattSkala: #40354 (direct issue)
  • @MauroDruwel: #30178 (direct issue), #30169 (direct issue), #29379 (direct issue), #29378 (direct issue)
  • @mdashrraf: #28657 (direct issue)
  • @michen00: #36857 (direct issue), #31869 (direct issue)
  • @microsasa: #41551 (direct issue), #38859 (direct issue), #27715 (direct issue)
  • @mnkiefer: #41789 (direct issue)
  • @mrfelton: #39764 (direct issue), #38782 (direct issue), #38326 (direct issue), #37366 (direct issue)
  • @mrjf: #32271 (direct issue), #32069 (direct issue), #31600 (direct issue), #29152 (direct issue), #28955 (direct issue), #28471 (direct issue), #28197 (direct issue)
  • @neta-vega: #26447 (direct issue), #25895 (direct issue)
  • @NicolasRannou: #31701 (direct issue)
  • @NikolajBjorner: #35762 (direct issue), #28812 (direct issue)
  • @norrietaylor: #37067 (direct issue), #36700 (direct issue), #36510 (direct issue), #33199 (direct issue), #32312 (direct issue), #32310 (direct issue), #30733 (direct issue), #30392 (direct issue)
  • @octatone: #31918 (direct issue)
  • @PaulAylward2: #34844 (direct issue)
  • @petercort: #28281 (direct issue)
  • @pethers: #28470 (direct issue)
  • @pgaskin: #26156 (direct issue)
  • @pholleran: #36324 (direct issue), #25313 (direct issue)
  • @polmichel: #34904 (direct issue), #32991 (direct issue)
  • @PureWeen: #28767 (direct issue), #27655 (direct issue)
  • @rabo-unumed: #31660 (direct issue), #31578 (direct issue), #31513 (direct issue)
  • @radiantspace: #40607 (direct issue), #38627 (direct issue)
  • @rhardouin: #30840 (direct issue), #30838 (direct issue)
  • @romainh-betclic: #28143 (direct issue)
  • @rspurgeon: #26475 (direct issue)
  • @Rubyj: #31542 (direct issue)
  • @ruokun-niu: #24961 (direct issue)
  • @ryckmansm: #36883 (direct issue), #31501 (direct issue)
  • @salekseev: #25137 (direct issue), #25122 (direct issue)
  • @samuelkahessay: #33016 (direct issue), #33015 (direct issue)
  • @sbodapati-gfm: #29417 (direct issue)
  • @seangibeault: #26910 (direct issue)
  • @sg650: #41494 (direct issue), #40886 (direct issue), #36485 (direct issue), #36466 (direct issue), #35294 (direct issue), #33787 (direct issue), #32044 (direct issue), #31617 (direct issue), #31616 (direct issue), #29009 (direct issue), #28612 (direct issue)
  • @shiran-gutsy: #27641 (direct issue)
  • @shubhamtanwar23: #39206 (direct issue), #39205 (direct issue), #39202 (direct issue)
  • @stefankrzyz: #27260 (direct issue)
  • @strawgate: #33597 (direct issue)
  • @susmahad: #26276 (direct issue), #25866 (direct issue), #25710 (direct issue)
  • @szabta89: #29064 (direct issue), #29063 (direct issue)
  • @tadelesh: #26001 (direct issue)
  • @thele

Extension points exported contracts — how you extend this code

MCPConfigProvider (Interface)
MCPConfigProvider handles MCP (Model Context Protocol) configuration Engines that support MCP servers should implement t [9 …
pkg/workflow/agentic_engine.go
SHAResolver (Interface)
SHAResolver resolves a GitHub Action's commit SHA for a given version tag. [4 implementers]
pkg/actionpins/actionpins.go
LogAnalysis (Interface)
LogAnalysis is a read-only interface for accessing domain analysis results. Both DomainAnalysis and FirewallAnalysis imp [1 …
pkg/cli/log_aggregation.go
HandlerConfig (Interface)
* Configuration object passed to handler main() function * Contains handler-specific configuration from GH_AW_SAFE_OUTP
actions/setup/js/types/handler-factory.d.ts
FileReader (FuncType)
FileReader is a function type that reads file content This abstraction allows for different file reading strategies (dis
pkg/parser/frontmatter_hash.go
CatchFrame (Interface)
(no doc)
eslint-factory/src/rules/no-unsafe-promise-catch-error-property.ts
AwPrompt (Interface)
(no doc)
docs/src/pages/_aw-prompts.ts
ModelEnvVarProvider (Interface)
ModelEnvVarProvider is implemented by engines whose CLIs natively read a specific environment variable for model selecti [9 …
pkg/workflow/agentic_engine.go

Core symbols most depended-on inside this repo

Errorf
called by 8954
pkg/linters/errormessage/testdata/src/errormessage/validation_target_validation.go
Run
called by 5639
pkg/linters/ctxbackground/testdata/src/ctxbackground/ctxbackground.go
Printf
called by 4933
pkg/logger/logger.go
Error
called by 3592
pkg/workflow/workflow_errors.go
NewCompiler
called by 2210
pkg/workflow/compiler_types.go
Error
called by 1428
pkg/cli/env_command.go
Print
called by 1325
pkg/logger/logger.go
TempDir
called by 1317
pkg/testutil/tempdir.go

Shape

Function 16,348
Method 1,412
Struct 970
Interface 111
TypeAlias 66
Class 16
FuncType 14

Languages

Go86%
TypeScript14%

Modules by API surface

pkg/workflow/expression_optimizer_test.go146 symbols
pkg/workflow/agentic_engine.go83 symbols
pkg/workflow/compiler_jobs_test.go77 symbols
actions/setup/js/handle_agent_failure.cjs75 symbols
pkg/workflow/compiler_orchestrator_workflow_test.go69 symbols
pkg/cli/remote_workflow_test.go68 symbols
pkg/cli/audit.go68 symbols
pkg/workflow/compiler_types.go63 symbols
pkg/cli/audit_diff_test.go62 symbols
actions/setup/js/send_otlp_span.cjs61 symbols
pkg/parser/import_field_extractor.go59 symbols
pkg/workflow/gh_cli_permissions_test.go57 symbols

Dependencies from manifests, versioned

charm.land/bubbles/v2v2.1.0 · 1×
charm.land/bubbletea/v2v2.0.7 · 1×
charm.land/huh/v2v2.0.3 · 1×
charm.land/lipgloss/v2v2.0.4 · 1×
cloud.google.com/gov0.123.0 · 1×
cloud.google.com/go/compute/metadatav0.9.0 · 1×
github.com/anthropics/anthropic-sdk-gov1.46.0 · 1×
github.com/atotto/clipboardv0.1.4 · 1×
github.com/aymanbagabas/go-osc52/v2v2.0.1 · 1×
github.com/aymanbagabas/go-udiffv0.4.1 · 1×
github.com/bahlo/generic-list-gov0.2.0 · 1×

For agents

$ claude mcp add gh-aw \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact