You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: .github/agents/agentic-workflows.agent.md
+41-7Lines changed: 41 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -15,7 +15,10 @@ This is a **dispatcher agent** that routes your request to the appropriate speci
15
15
-**Updating existing workflows**: Routes to `update` prompt
16
16
-**Debugging workflows**: Routes to `debug` prompt
17
17
-**Upgrading workflows**: Routes to `upgrade-agentic-workflows` prompt
18
+
-**Creating report-generating workflows**: Routes to `report` prompt — consult this whenever the workflow posts status updates, audits, analyses, or any structured output as issues, discussions, or comments
18
19
-**Creating shared components**: Routes to `create-shared-agentic-workflow` prompt
20
+
-**Fixing Dependabot PRs**: Routes to `dependabot` prompt — use this when Dependabot opens PRs that modify generated manifest files (`.github/workflows/package.json`, `.github/workflows/requirements.txt`, `.github/workflows/go.mod`). Never merge those PRs directly; instead update the source `.md` files and rerun `gh aw compile --dependabot` to bundle all fixes
21
+
-**Analyzing test coverage**: Routes to `test-coverage` prompt — consult this whenever the workflow reads, analyzes, or reports on test coverage data from PRs or CI runs
19
22
20
23
Workflows may optionally include:
21
24
@@ -27,7 +30,7 @@ Workflows may optionally include:
27
30
- Workflow files: `.github/workflows/*.md` and `.github/workflows/**/*.md`
**Load when**: The workflow being created or updated produces reports — recurring status updates, audit summaries, analyses, or any structured output posted as a GitHub issue, discussion, or comment
- "Create a shared component for Notion integration"
96
109
- "Wrap the Slack MCP server as a reusable component"
97
110
- "Design a shared workflow for database queries"
98
111
112
+
### Fix Dependabot PRs
113
+
**Load when**: User needs to close or fix open Dependabot PRs that update dependencies in generated manifest files (`.github/workflows/package.json`, `.github/workflows/requirements.txt`, `.github/workflows/go.mod`)
- "Fix the open Dependabot PRs for npm dependencies"
119
+
- "Bundle and close the Dependabot PRs for workflow dependencies"
120
+
- "Update @playwright/test to fix the Dependabot PR"
121
+
122
+
### Analyze Test Coverage
123
+
**Load when**: The workflow reads, analyzes, or reports test coverage — whether triggered by a PR, a schedule, or a slash command. Always consult this prompt before designing the coverage data strategy.
- "Create a workflow that comments coverage on PRs"
129
+
- "Analyze coverage trends over time"
130
+
- "Add a coverage gate that blocks PRs below a threshold"
131
+
99
132
## Instructions
100
133
101
134
When a user interacts with you:
@@ -136,8 +169,9 @@ gh aw compile --validate
136
169
137
170
## Important Notes
138
171
139
-
- Always reference the instructions file at https://github.com/github/gh-aw/blob/v0.46.1/.github/aw/github-agentic-workflows.md for complete documentation
172
+
- Always reference the instructions file at https://github.com/github/gh-aw/blob/v0.50.4/.github/aw/github-agentic-workflows.md for complete documentation
140
173
- Use the MCP tool `agentic-workflows` when running in GitHub Copilot Cloud
141
174
- Workflows must be compiled to `.lock.yml` files before running in GitHub Actions
142
175
-**Bash tools are enabled by default** - Don't restrict bash commands unnecessarily since workflows are sandboxed by the AWF
143
176
- Follow security best practices: minimal permissions, explicit network access, no template injection
177
+
-**Single-file output**: When creating a workflow, produce exactly **one** workflow `.md` file. Do not create separate documentation files (architecture docs, runbooks, usage guides, etc.). If documentation is needed, add a brief `## Usage` section inside the workflow file itself.
@@ -101,6 +116,8 @@ Each `content/category/slug.json` file has this structure:
101
116
102
117
## Category Display Names
103
118
119
+
Categories and their display names are defined in `html-generators/categories.properties`:
120
+
104
121
| ID | Display |
105
122
|----|---------|
106
123
|`language`| Language |
@@ -113,12 +130,59 @@ Each `content/category/slug.json` file has this structure:
113
130
|`datetime`| Date/Time |
114
131
|`security`| Security |
115
132
|`tooling`| Tooling |
133
+
|`enterprise`| Enterprise |
116
134
117
135
## Adding a New Pattern
118
136
119
137
1. Create `content/category/new-slug.json` with all required fields
120
138
2. Update `prev`/`next` in the adjacent patterns' JSON files
121
139
3. Run `jbang html-generators/generate.java`
140
+
4. (Optional) Create translated content files under `translations/content/{locale}/category/new-slug.json` with only translatable fields — or let the AI translation workflow handle it
141
+
142
+
## Internationalization (i18n)
143
+
144
+
The site supports multiple languages. See `specs/i18n/i18n-spec.md` for the full specification.
145
+
146
+
### Key Concepts
147
+
148
+
-**UI strings:** Hard-coded template text (labels, nav, footer) is extracted into `translations/strings/{locale}.yaml`. Templates use `{{dotted.key}}` tokens (e.g., `{{nav.allPatterns}}`, `{{sections.codeComparison}}`). Missing keys fall back to the English value with a build-time warning.
149
+
-**Content translations:** Translated pattern files under `translations/content/{locale}/` contain **only** translatable fields (`title`, `summary`, `explanation`, `oldApproach`, `modernApproach`, `whyModernWins`, `support.description`). All other fields (`oldCode`, `modernCode`, `slug`, `id`, `prev`, `next`, `related`, `docs`, etc.) are always taken from the English source.
150
+
-**Locale registry:**`html-generators/locales.properties` lists supported locales (format: `locale=Display name`). The first entry is the default.
151
+
-**English is a first-class locale:** All locales — including English — go through the same build pipeline.
152
+
-**Fallback:** If a pattern has no translation file for a locale, the English content is used and an "untranslated" banner is shown.
153
+
154
+
### Supported Locales
155
+
156
+
Defined in `html-generators/locales.properties`:
157
+
158
+
| Locale | Display Name |
159
+
|--------|-------------|
160
+
|`en`| English |
161
+
|`es`| Español |
162
+
|`pt-BR`| Português (Brasil) |
163
+
164
+
### Content Translation File Example
165
+
166
+
Translation files contain **only** translatable fields — no structural data:
0 commit comments