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/copilot-instructions.md
+99-32Lines changed: 99 additions & 32 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -10,52 +10,54 @@ The key directories are:
10
10
11
11
### Top level structure
12
12
13
-
/content - The main directory containing all Learning Paths and install guides as markdown files
14
-
/themes - HTML templates and styling elements that render the content into the final website
15
-
/tools - Python scripts for automated website integrity checking
16
-
config.toml - High-level Hugo configuration settings
13
+
-`/content` - The main directory containing all Learning Paths and install guides as markdown files
14
+
-`/themes` - HTML templates and styling elements that render the content into the final website
15
+
-`/tools` - Python scripts for automated website integrity checking
16
+
-`config.toml` - High-level Hugo configuration settings
17
17
18
-
### Content organization:
18
+
### Content organization
19
19
20
-
The /content directory is organized into:
20
+
The `/content` directory is organized into:
21
21
22
-
- learning-paths/ Core learning content organized by categories:
23
-
-- embedded-and-microcontrollers/ MCU, IoT, and embedded development topics
24
-
-- servers-and-cloud-computing/ Server, cloud, and enterprise computing topics
25
-
-- mobile-graphics-and-gaming/ Mobile app development, graphics, and gaming
26
-
-- cross-platform/ Cross-platform development and general programming topics, these appear in multiple categories on the website
27
-
-- laptops-and-desktops/ Desktop application development, primarily Windows on Arm and macOS
28
-
-- automotive/ Automotive and ADAS development
29
-
-- iot/ IoT-specific Learning Paths
22
+
-`learning-paths/` - Core learning content organized by categories:
23
+
-`embedded-and-microcontrollers/` - MCU, IoT, and embedded development topics
24
+
-`servers-and-cloud-computing/` - Server, cloud, and enterprise computing topics
25
+
-`mobile-graphics-and-gaming/` - Mobile app development, graphics, and gaming
26
+
-`cross-platform/` - Cross-platform development and general programming topics, these appear in multiple categories on the website
27
+
-`laptops-and-desktops/` - Desktop application development, primarily Windows on Arm and macOS
28
+
-`automotive/` - Automotive and ADAS development
29
+
-`iot/` - IoT-specific Learning Paths
30
30
31
-
- install-guides/ - Tool installation guides with supporting subdirectories organized by tool categories like docker/, gcc/, license/, browsers/, plus an _images/ directory for screenshots and diagrams
31
+
-`install-guides/` - Tool installation guides with supporting subdirectories organized by tool categories like `docker/`, `gcc/`, `license/`, `browsers/`, plus an `_images/` directory for screenshots and diagrams
32
32
33
33
These are special directories and not used for regular content creation:
34
-
migration/ Migration guides and resources, this maps to https://learn.arm.com/migration
35
-
lists/ Content listing and organization files, this maps to https://learn.arm.com/lists
36
-
stats/ Website statistics and analytics, this maps to https://learn.arm.com/stats
37
34
38
-
The /content directory is the primary workspace where contributors add new Learning Paths as markdown files, organized into category-specific subdirectories that correspond to the different learning path topics available on the site at https://learn.arm.com/.
35
+
-`migration/` - Migration guides and resources, this maps to https://learn.arm.com/migration
36
+
-`lists/` - Content listing and organization files, this maps to https://learn.arm.com/lists
37
+
-`stats/` - Website statistics and analytics, this maps to https://learn.arm.com/stats
38
+
39
+
The `/content` directory is the primary workspace where contributors add new Learning Paths as markdown files, organized into category-specific subdirectories that correspond to the different learning path topics available on the site at https://learn.arm.com/.
39
40
40
41
## Content requirements
41
42
42
43
Read the files in the directory `content/learning-paths/cross-platform/_example-learning-path` for information about how Learning Path content should be created. Also see the guidelines below.
43
44
44
45
### Content structure
45
46
46
-
Each Learning Path must have an _index.md file and a _next-steps.md file. The _index.md file contains the main content of the Learning Path. The _next-steps.md file contains links to related content and is included at the end of the Learning Path.
47
+
Each Learning Path must have an `_index.md` file and a `_next-steps.md` file. The `_index.md` file contains the main content of the Learning Path. The `_next-steps.md` file contains links to related content and is included at the end of the Learning Path.
47
48
48
49
Additional resources and 'next steps' content should be placed in the `further_reading` section of `_index.md`, NOT in `_next-steps.md`. The `_next-steps.md` file should remain minimal and unmodified as indicated by "FIXED, DO NOT MODIFY" comments in the template.
49
50
50
-
The _index.md file should contain the following front matter and content sections:
51
+
The `_index.md` file should contain the following front matter and content sections:
51
52
52
53
Front Matter (YAML format):
54
+
53
55
-`title`: Imperative heading following the [verb] + [technology] + [outcome] format
54
-
-`weight`: Numerical ordering for display sequence, weight is 1 for _index.md and each page is ordered by weight, no markdown files should have the same weight in a directory
56
+
-`weight`: Numerical ordering for display sequence, weight is 1 for `_index.md` and each page is ordered by weight, no markdown files should have the same weight in a directory
55
57
-`layout`: Template type (usually "learningpathall")
56
58
-`minutes_to_complete`: Realistic time estimate for completion
57
59
-`prerequisites`: List of required knowledge, tools, or prior learning paths
58
-
-`author`: Main contributor's name, multiple authors can be listed separated using - on new lines
60
+
-`author`: Main contributor's name, multiple authors can be listed separated using `-` on new lines
59
61
-`subjects`: Technology categories for filtering and search, this is a closed list and must match one of the subjects listed on https://learn.arm.com/learning-paths/cross-platform/_example-learning-path/write-2-metadata/
60
62
-`armips`: Relevant Arm IP, stick to Neoverse, Cortex-A, Cortex-M, etc. Don't list specific CPU models or Arm architecture versions
61
63
-`tools_software_languages`: Open category listing Programming languages, frameworks, and development tools used
@@ -64,7 +66,8 @@ Front Matter (YAML format):
64
66
65
67
### Further reading curation
66
68
67
-
Limit further_reading resources to four to six essential links. Prioritize:
69
+
Limit `further_reading` resources to four to six essential links. Prioritize:
70
+
68
71
- Direct relevance to the topic
69
72
- Arm-specific Learning Paths over generic external resources
70
73
- Foundation knowledge for target audience
@@ -74,14 +77,16 @@ Limit further_reading resources to four to six essential links. Prioritize:
74
77
Avoid overwhelming readers with too many links, which can cause them to leave the platform.
- Introduction paragraph: Context + user goal + value proposition
83
+
- Prerequisites section with explicit requirements and links
84
+
- Learning objectives: three to four bulleted, measurable outcomes with action verbs
85
+
- Step-by-step sections with logical progression
86
+
- Clear next steps/conclusion
83
87
84
88
For title formatting:
89
+
85
90
- MUST use imperative voice ("Deploy", "Configure", "Build", "Create")
86
91
- MUST include SEO keywords (technology names, tools)
87
92
- Examples: "Deploy applications on Arm servers", "Configure Arm processors for optimal performance"
@@ -91,19 +96,21 @@ The term "Learning Path" should always be capitalized.
91
96
### Writing style
92
97
93
98
Voice and Tone:
99
+
94
100
- Second person ("you", "your") - NEVER first person ("I", "we")
95
101
- Active voice - AVOID passive constructions
96
102
- Present tense for descriptions
97
103
- Imperative mood for commands
98
104
- Confident and developer-friendly tone
99
105
- Encouraging language for complex tasks
100
-
- Use inclusive language:
106
+
- Use inclusive language:
101
107
- Use "primary/subordinate" instead of "master/slave" terminology
102
108
- Don't use gendered examples or assumptions
103
109
- Be mindful of cultural references that might not translate globally
104
110
- Focus on clear, accessible language for all developers
105
111
106
112
### Sentence structure and clarity
113
+
107
114
- Average 15-20 words per sentence
108
115
- Split complex sentences for scalability
109
116
- Plain English - avoid jargon overload
@@ -113,6 +120,7 @@ Voice and Tone:
113
120
- Parallel structure in all lists
114
121
115
122
### Readability and section flow
123
+
116
124
- Flag any section over 700 words and suggest natural split points
117
125
- Warn if more than 300 words appear between code examples
118
126
- Identify paragraphs with sentences averaging over 20 words
@@ -127,11 +135,21 @@ Voice and Tone:
127
135
- Walls of text cause people to bounce from the page
128
136
- If you're explaining 3+ things in one section, split it into separate sections
129
137
- Each code block should be preceded by one to three sentences explaining what it does.
138
+
- For Learning Paths, include a short recap and forward-looking transition at the end of each major instructional section or module. Use a consistent heading such as:
139
+
140
+
## What you’ve accomplished and what’s next:
141
+
142
+
In this section:
143
+
- Briefly summarize what the user has learned or completed
144
+
- Briefly describe what the user should expect in the next section or suggest further exploration
145
+
146
+
Keep this concise and encouraging. Do not repeat earlier content verbatim.
130
147
131
148
### Word choice and style
149
+
132
150
- Use these preferred terms and phrases for consistency:
133
151
- Numbers and units: Spell out numbers one through five (one, two, three, four, five), after this use numerals (6, 7, 8...). Use proper spacing for units: "1 GB", "23 MB/day" (not "1GB", "23MB/day"). Use "K" for thousands: "64K" (not "64k"). Use abbreviations for data rates: "Gbps" (not "Gb per second").
134
-
- Common phrases: "To [action]" (not "Follow the steps below to [action]"), "for example" (not "e.g."), "that is" (not "i.e."), "because" (not "since"), "also" (not "in addition"), "to" (not "in order to"), "see" (not "refer to"), "use" (not "utilize" or "leverage"), "need" (not "require"), "can" or "might" (not "may"), "set up" as verb, "setup" as noun, "therefore" (not "ergo"), "namely" (not "viz."), "avoid" (not "try not to").
152
+
- Common phrases: "To [action]" (not "Follow the steps below to [action]"), "for example" (not "e.g."), "that is" (not "i.e."), "because" (not "since"), "also" (not "in addition"), "to" (not "in order to"), "see" (not "refer to"), "use" (not "utilize" or "leverage"), "need" (not "require"), "can" or "might" (not "may"), "set up" as verb, "setup" as noun, "therefore" (not "ergo"), "namely" (not "viz."), "avoid" (not "try not to").
135
153
- Avoid condescending language: Don't use "simply", "just", "obviously", "clearly" - what's simple to you might not be to the learner.
136
154
- Acknowledge when something can be tricky: Use phrases like "this step can be confusing at first" to validate learner experience.
137
155
- Normalize errors: Use phrases like "if you see this error, here's how to fix it" to reassure learners that errors are part of the learning process.
@@ -141,6 +159,7 @@ Voice and Tone:
141
159
## Content structure and consistency
142
160
143
161
### Cross-file and quality assurance
162
+
144
163
- Use the same technical terms consistently throughout all sections
145
164
- Apply the word choice and style guidelines uniformly across all files
146
165
- Maintain consistent capitalization of product names, technologies, and concepts
@@ -166,6 +185,7 @@ Voice and Tone:
166
185
## Formatting and code samples
167
186
168
187
### Heading guidelines
188
+
169
189
- Use sentence case for all headings (first word capitalized, rest lowercase except proper nouns)
170
190
- Heading types:
171
191
- Conceptual headings: When explaining technology/motivation ("What is containerization?")
@@ -178,6 +198,7 @@ Voice and Tone:
178
198
- H4: Specific technical details or troubleshooting
- Use markdown tags for programming languages like bash, python, yaml, json, etc.
@@ -188,13 +209,20 @@ Voice and Tone:
188
209
- Use shortcodes for common pitfalls, warnings, important notes.
189
210
190
211
## Arm naming and architecture terms
212
+
191
213
- Use Arm for the brand in prose (for example, "Arm processors", "Arm servers").
192
214
- Use arm64 or aarch64 for the CPU architecture; these are acceptable and interchangeable labels. Prefer whichever term a tool, package, or OS uses natively.
193
215
- Always use "Arm" (not "ARM") in all contexts except when referring to specific technical terms that require the original casing.
194
216
- ARM64 is used by Windows on Arm and Microsoft documentation, so it is acceptable to use ARM64 when specifically referring to Windows on Arm.
195
217
- In code blocks, CLI flags, package names, file paths, and outputs, keep the exact casing used by the tool (for example, --arch arm64, uname -m → aarch64).
196
218
219
+
## Product name emphasis
220
+
221
+
- Product names and technical technologies (for example, LiteRT, XNNPACK, KleidiAI, SME2) should appear in regular text.
222
+
- Avoid using italics or bold to emphasize product or technology names unless they are part of a heading or a UI label.
223
+
197
224
## Hyperlink guidelines
225
+
198
226
- Use the full path format for internal links: `/learning-paths/category/path-name/` (e.g., `/learning-paths/cross-platform/docker/`). Do NOT use relative paths like `../path-name/`.
199
227
- Use the full URL for external links that are not on learn.arm.com, these open in a new tab.
200
228
- When creating Learning Path content:
@@ -206,66 +234,96 @@ Voice and Tone:
206
234
- Some links are useful in content, but too many links can be distracting and readers will leave the platform following them. Include only necessary links in the content; place others in the "Next Steps" section at the end. Flag any page with too many links for review.
207
235
208
236
## Avoid looking like AI-generated content
237
+
209
238
- Warning signs of over-bulleting: More than 3 consecutive sections using bullet lists, bullet points that could be combined into narrative paragraphs, lists where items don't have parallel structure, bullet points that are actually full sentences better suited for paragraphs.
210
239
- Use flowing narrative instead of excessive bullets.
211
240
- Use natural writing patterns: Vary sentence length, use transitional phrases, include contextual explanations, add relevant examples, connect ideas logically.
212
241
- Use conversational elements: Instead of "Execute the following command:", use "Now that you've configured the environment, run the following command to start the service:". Instead of "This provides benefits:", use "You'll notice several advantages with this approach, particularly when working with...".
213
242
243
+
### Language smoothing
244
+
245
+
Avoid robotic or generic encouragement phrases such as:
246
+
- "Great job — let’s get started!"
247
+
- "Great job — your environment is ready!"
248
+
249
+
Use calm, natural transitions that focus on what happens next.
250
+
251
+
Also avoid multiple consecutive sentences starting with "This" (for example, "This ensures...", "This creates...", "This provides..."). Vary sentence structure to maintain natural flow.
252
+
214
253
## AI-specific guidelines for content creation and editing
215
254
216
255
### Context awareness
256
+
217
257
- Consider the learner's likely environment (development vs. production, local vs. cloud)
218
258
- Recognize when content assumes x86 defaults and suggest Arm alternatives
219
259
- Flag when third-party tools may have limited Arm support
220
260
- Suggest Arm-native alternatives when available (e.g., Arm compilers, optimized libraries)
221
261
222
262
### Technical depth consistency
263
+
223
264
- Maintain appropriate complexity level throughout the Learning Path
224
265
- Avoid oversimplifying for Advanced skill level content
0 commit comments