From 7a8f2b3fd7f221b37d69997c673a5aab3aa8658b Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 1 Apr 2026 05:27:38 +0000 Subject: [PATCH 1/3] Initial plan From 3fcbfd287ea551114f578fe44fd83cfb3e1646b1 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 1 Apr 2026 05:34:31 +0000 Subject: [PATCH 2/3] docs: add Supported Languages & Ecosystems reference page Agent-Logs-Url: https://github.com/github/gh-aw/sessions/7999752f-f599-4da1-9a89-d333954822a5 Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com> --- docs/astro.config.mjs | 1 + .../docs/guides/network-configuration.md | 1 + docs/src/content/docs/reference/network.md | 2 +- .../docs/reference/supported-languages.md | 88 +++++++++++++++++++ 4 files changed, 91 insertions(+), 1 deletion(-) create mode 100644 docs/src/content/docs/reference/supported-languages.md diff --git a/docs/astro.config.mjs b/docs/astro.config.mjs index 23ec85a7921..fd093eb9b07 100644 --- a/docs/astro.config.mjs +++ b/docs/astro.config.mjs @@ -333,6 +333,7 @@ export default defineConfig({ { label: 'Safe Outputs (Staged Mode)', link: '/reference/staged-mode/' }, { label: 'Sandbox', link: '/reference/sandbox/' }, { label: 'Schedule Syntax', link: '/reference/schedule-syntax/' }, + { label: 'Supported Languages', link: '/reference/supported-languages/' }, { label: 'Templating', link: '/reference/templating/' }, { label: 'Threat Detection', link: '/reference/threat-detection/' }, { label: 'Token Reference', link: '/reference/tokens/' }, diff --git a/docs/src/content/docs/guides/network-configuration.md b/docs/src/content/docs/guides/network-configuration.md index 7427dc8186a..b78ecb5c2b3 100644 --- a/docs/src/content/docs/guides/network-configuration.md +++ b/docs/src/content/docs/guides/network-configuration.md @@ -193,6 +193,7 @@ View complete ecosystem domain lists in the [ecosystem domains source](https://g ## Related Documentation - [Network Permissions Reference](/gh-aw/reference/network/) - Complete network configuration reference +- [Supported Languages & Ecosystems](/gh-aw/reference/supported-languages/) - Language-first overview of ecosystem identifiers - [Playwright Reference](/gh-aw/reference/playwright/) - Browser automation and network requirements - [Security Guide](/gh-aw/introduction/architecture/) - Security best practices - [Troubleshooting](/gh-aw/troubleshooting/common-issues/) - Common issues and solutions diff --git a/docs/src/content/docs/reference/network.md b/docs/src/content/docs/reference/network.md index 0a179afd857..1b835730579 100644 --- a/docs/src/content/docs/reference/network.md +++ b/docs/src/content/docs/reference/network.md @@ -106,7 +106,7 @@ Mix ecosystem identifiers with specific domains for fine-grained control: | `playwright` | Playwright testing framework domains (see [Playwright Reference](/gh-aw/reference/playwright/)) | | `chrome` | Headless Chrome/Puppeteer browser testing (`*.google.com`, `*.googleapis.com`, `*.gvt1.com`) | -Common identifiers: `python` (PyPI/pip), `node` (npm/yarn/pnpm), `containers` (Docker Hub/GHCR), `go` (proxy.golang.org). See the [Network Configuration Guide](/gh-aw/guides/network-configuration/) for complete domain lists. +Common identifiers: `python` (PyPI/pip), `node` (npm/yarn/pnpm), `containers` (Docker Hub/GHCR), `go` (proxy.golang.org). See the [Network Configuration Guide](/gh-aw/guides/network-configuration/) for complete domain lists, or the [Supported Languages](/gh-aw/reference/supported-languages/) page for a language-first overview. ## Strict Mode Validation diff --git a/docs/src/content/docs/reference/supported-languages.md b/docs/src/content/docs/reference/supported-languages.md new file mode 100644 index 00000000000..41b9a9b05e4 --- /dev/null +++ b/docs/src/content/docs/reference/supported-languages.md @@ -0,0 +1,88 @@ +--- +title: Supported Languages & Ecosystems +description: Language ecosystem identifiers for configuring network access in agentic workflows +sidebar: + order: 1350 +--- + +Agentic workflows run inside an Ubuntu/Linux sandbox. Each programming language has a corresponding **ecosystem identifier** that grants the workflow access to that language's package registry and toolchain domains. Set these identifiers in the [`network.allowed`](/gh-aw/reference/network/) field of your workflow frontmatter. + +## Language Ecosystem Identifiers + +| Language | Ecosystem Identifier | Package Manager | +|----------|---------------------|-----------------| +| Python | `python` | pip, conda | +| JavaScript / TypeScript | `node` | npm, yarn, pnpm | +| Java | `java` | Maven, Gradle | +| Go | `go` | Go modules | +| Rust | `rust` | Cargo | +| C# / .NET | `dotnet` | NuGet | +| Ruby | `ruby` | Bundler, RubyGems | +| PHP | `php` | Composer | +| Swift | `swift` | SwiftPM (Linux only) | +| Kotlin | `kotlin` + `java` | Gradle | +| Dart | `dart` | pub | +| C / C++ | `defaults` | System toolchain (gcc, cmake) | + +> [!NOTE] +> Swift projects that depend on Apple-only frameworks (UIKit, AppKit, SwiftUI on macOS) are not supported — the sandbox runs Ubuntu Linux. + +## Infrastructure Ecosystems + +These identifiers are not language-specific but pair with any language workflow: + +| Identifier | Use for | +|------------|---------| +| `defaults` | Basic infrastructure: certificates, JSON schema, Ubuntu mirrors. Required by all workflows. Also provides the system C/C++ toolchain (gcc, cmake). | +| `github` | GitHub domains (`github.com`, `raw.githubusercontent.com`, etc.) | +| `containers` | Docker Hub, GitHub Container Registry, Quay, GCR | +| `linux-distros` | Debian, Ubuntu, Alpine package repositories (`apt`, `apk`) | + +## Configuration Examples + +### Single language + +```aw wrap +--- +network: + allowed: + - defaults + - python +--- +``` + +### JVM family (Java + Kotlin) + +```aw wrap +--- +network: + allowed: + - defaults + - java + - kotlin +--- +``` + +### Multi-language + +```aw wrap +--- +network: + allowed: + - defaults + - node + - python + - containers + - github +--- +``` + +## Less Common Languages + +Additional language ecosystems are available for less common languages including Elixir, Haskell, Julia, Perl, OCaml, Deno, and Terraform. See the full [Ecosystem Identifiers table](/gh-aw/reference/network/#ecosystem-identifiers) in the Network Permissions reference for the complete list. + +## Related Documentation + +- [Network Permissions](/gh-aw/reference/network/) — Complete network configuration reference including all ecosystem identifiers +- [Network Configuration Guide](/gh-aw/guides/network-configuration/) — Practical patterns and troubleshooting +- [Sandbox](/gh-aw/reference/sandbox/) — Sandbox environment details From 7800088efd8d9a18aa7c94416dcd8b9492766c1d Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 1 Apr 2026 11:42:46 +0000 Subject: [PATCH 3/3] docs: address review feedback on supported-languages page Agent-Logs-Url: https://github.com/github/gh-aw/sessions/06d9263d-3902-41ff-9001-d09004bc4943 Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com> --- docs/src/content/docs/reference/supported-languages.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/src/content/docs/reference/supported-languages.md b/docs/src/content/docs/reference/supported-languages.md index 41b9a9b05e4..c5c7287935a 100644 --- a/docs/src/content/docs/reference/supported-languages.md +++ b/docs/src/content/docs/reference/supported-languages.md @@ -33,7 +33,7 @@ These identifiers are not language-specific but pair with any language workflow: | Identifier | Use for | |------------|---------| -| `defaults` | Basic infrastructure: certificates, JSON schema, Ubuntu mirrors. Required by all workflows. Also provides the system C/C++ toolchain (gcc, cmake). | +| `defaults` | Basic infrastructure: certificates, JSON schema, Ubuntu mirrors. This is the default when `network:` is not specified, and is recommended as the starting baseline for most workflows. | | `github` | GitHub domains (`github.com`, `raw.githubusercontent.com`, etc.) | | `containers` | Docker Hub, GitHub Container Registry, Quay, GCR | | `linux-distros` | Debian, Ubuntu, Alpine package repositories (`apt`, `apk`) | @@ -79,10 +79,10 @@ network: ## Less Common Languages -Additional language ecosystems are available for less common languages including Elixir, Haskell, Julia, Perl, OCaml, Deno, and Terraform. See the full [Ecosystem Identifiers table](/gh-aw/reference/network/#ecosystem-identifiers) in the Network Permissions reference for the complete list. +Additional language ecosystems are available for less common languages including Elixir, Haskell, Julia, Perl, OCaml, Deno, and Terraform. See the [Ecosystem Identifiers table](/gh-aw/reference/network/#ecosystem-identifiers) in the Network Permissions reference for the most up-to-date list of supported identifiers. ## Related Documentation -- [Network Permissions](/gh-aw/reference/network/) — Complete network configuration reference including all ecosystem identifiers +- [Network Permissions](/gh-aw/reference/network/) — Network configuration reference and ecosystem identifiers table - [Network Configuration Guide](/gh-aw/guides/network-configuration/) — Practical patterns and troubleshooting - [Sandbox](/gh-aw/reference/sandbox/) — Sandbox environment details