Skip to content

Commit d89814c

Browse files
Merge pull request #2394 from ArmDeveloperEcosystem/main
Production update
2 parents 5e3a0a0 + 935f905 commit d89814c

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

55 files changed

+1427
-606
lines changed

.github/copilot-instructions.md

Lines changed: 222 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,222 @@
1+
# Project Overview
2+
3+
This project is a static website created using Hugo and markdown files. The purpose of the content is to explain how-to topics to software developers targeting various Arm platforms.
4+
5+
Assume the audience is made up of Arm software developers. Bias information toward Arm platforms. For Linux, assume systems are aarch64 architecture and not x86. Readers also use macOS and Windows on Arm systems, and assume Arm architecture where relevant.
6+
7+
## Project structure
8+
9+
The key directories are:
10+
11+
### Top Level Structure
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
17+
18+
### Content Organization:
19+
20+
The /content directory is organized into:
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
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
32+
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+
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/.
39+
40+
## Content requirements
41+
42+
Read the files in the directory `content/learning-paths/cross-platform/_example-learning-path` for information about how Learning Path content should be created. Some additional help is listed below.
43+
44+
### Content structure
45+
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+
48+
The _index.md file should contain the following front matter and content sections:
49+
50+
Front Matter (YAML format):
51+
- `title`: Imperative heading following the [verb] + [technology] + [outcome] format
52+
- `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
53+
- `layout`: Template type (usually "learningpathall")
54+
- `minutes_to_complete`: Realistic time estimate for completion
55+
- `prerequisites`: List of required knowledge, tools, or prior learning paths
56+
- `author_primary`: Main contributor's name, multiple authors can be listed separated using - on new lines
57+
- `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/
58+
- `armips`: Relevant Arm IP, stick to Neoverse, Cortex-A, Cortex-M, etc. Don't list specific CPU models or Arm architecture versions
59+
- `tools_software_languages`: Open category listing Programming languages, frameworks, and development tools used
60+
- `skilllevels`: Skill levels allowed are only Introductory and Advanced
61+
- `operatingsystems`: Operating systems used, must match the closed list on https://learn.arm.com/learning-paths/cross-platform/_example-learning-path/write-2-metadata/
62+
63+
64+
All Learning Paths should generally include:
65+
Title: [Imperative verb] + [technology/tool] + [outcome]
66+
Introduction paragraph: Context + user goal + value proposition
67+
Prerequisites section with explicit requirements and links
68+
Learning objectives: 3-4 bulleted, measurable outcomes with action verbs
69+
Step-by-step sections with logical progression
70+
Clear next steps/conclusion
71+
72+
For title formatting:
73+
- MUST use imperative voice ("Deploy", "Configure", "Build", "Create")
74+
- MUST include SEO keywords (technology names, tools)
75+
- Examples: "Deploy applications on Arm servers", "Configure Arm processors for optimal performance"
76+
77+
Learning Path should always be capitalized.
78+
79+
### Writing style
80+
81+
Voice and Tone:
82+
- Second person ("you", "your") - NEVER first person ("I", "we")
83+
- Active voice - AVOID passive constructions
84+
- Present tense for descriptions
85+
- Imperative mood for commands
86+
- Confident and developer-friendly tone
87+
- Encouraging language for complex tasks
88+
89+
Sentence Structure:
90+
- Average 15-20 words per sentence
91+
- Split complex sentences for scalability
92+
- Plain English - avoid jargon overload
93+
- US spellings required (organize/optimize/realize, not organise/optimise/realise)
94+
- "Arm" capitalization required (Arm processors/Neoverse, never ARM or arm; exceptions: "arm64" and "aarch64" are permitted in code, commands, and outputs)
95+
- Define acronyms on first use
96+
- Parallel structure in all lists
97+
98+
### Arm naming and architecture terms
99+
100+
- Use Arm for the brand in prose (for example, "Arm processors", "Arm servers").
101+
- Use arm64 or aarch64 for the CPU architecture; these are acceptable and interchangeable labels. Prefer whichever term a tool, package, or OS uses natively.
102+
- Do not use ARM in any context.
103+
- ARM64 is used by Windows on Arm and Microsoft documentation, so it is acceptable to use ARM64 when specifically referring to Windows on Arm.
104+
- 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).
105+
106+
### Heading guidelines
107+
108+
HEADING TYPES:
109+
- Conceptual headings: When explaining technology/motivation ("What is containerization?")
110+
- Imperative headings: When user takes action ("Configure the database")
111+
- Interrogative headings: For FAQ content ("How does Arm differ from x86?")
112+
- ALL headings: Use sentence case (first word capitalized, rest lowercase except proper nouns)
113+
114+
HIERARCHY:
115+
H1: Page title (imperative + technology + outcome)
116+
H2: Major workflow steps or conceptual sections
117+
H3: Sub-procedures or detailed explanations
118+
H4: Specific technical details or troubleshooting
119+
120+
### Code samples and formatting
121+
122+
CONTEXT-BEFORE-CODE RULE:
123+
- ALWAYS provide explanation before code blocks
124+
- Format: [What it does][Code][Expected outcome][Key parameters]
125+
126+
CODE FORMATTING:
127+
128+
Use markdown tags for programming languages like bash, python, yaml, json, etc.
129+
130+
Use console or bash for general commands. Try to use the same one throughout a Learning Path.
131+
132+
Correct format:
133+
134+
Use the following command to install required packages:
135+
136+
```bash
137+
sudo apt-get update && sudo apt-get install -y python3 nodejs
138+
```
139+
140+
Use the output tag to show expected command output.
141+
142+
```output
143+
Reading package lists... Done
144+
Building dependency tree... Done
145+
```
146+
147+
FORMATTING STANDARDS:
148+
- **Bold text**: UI elements (buttons, menu items, field names)
149+
- **Italic text**: Emphasis and new terms
150+
- **Code formatting**: Use for file names, commands, code elements
151+
152+
Use shortcodes for common pitfalls, warnings, important notes
153+
154+
{{% notice Note %}}
155+
An example note to pay attention to.
156+
{{% /notice %}}
157+
158+
{{% notice Warning %}}
159+
A warning about a common pitfall.
160+
{{% /notice %}}
161+
162+
## Avoid looking like AI-generated content
163+
164+
### Bullet List Management
165+
WARNING SIGNS OF OVER-BULLETING:
166+
- More than 3 consecutive sections using bullet lists
167+
- Bullet points that could be combined into narrative paragraphs
168+
- Lists where items don't have parallel structure
169+
- Bullet points that are actually full sentences better suited for paragraphs
170+
171+
CONVERSION STRATEGY:
172+
173+
Use flowing narrative instead of excessive bullets.
174+
175+
For example, use this format instead of the list below it.
176+
177+
Arm processors deliver improved performance while enhancing security through hardware-level protections. This architecture provides enhanced scalability for cloud workloads and reduces operational costs through energy efficiency.
178+
179+
Key benefits include:
180+
• Improved performance
181+
• Better security
182+
• Enhanced scalability
183+
• Reduced costs
184+
185+
### Natural Writing Patterns
186+
187+
HUMAN-LIKE TECHNIQUES:
188+
- Vary sentence length: Mix short, medium, and complex sentences
189+
- Use transitional phrases: "Additionally", "However", "As a result", "Furthermore"
190+
- Include contextual explanations: Why something matters, not just what to do
191+
- Add relevant examples: Real-world scenarios that illustrate concepts
192+
- Connect ideas logically: Show relationships between concepts and steps
193+
194+
CONVERSATIONAL ELEMENTS:
195+
196+
Instead of: "Execute the following command:"
197+
Use: "Now that you've configured the environment, run the following command to start the service:"
198+
199+
Instead of: "This provides benefits:"
200+
Use: "You'll notice several advantages with this approach, particularly when working with..."
201+
202+
## Hyperlink guidelines
203+
204+
Some links are useful in content, but too many links can be distracting and readers will leave the platform following them. Try to put only necessary links in the content and put other links in the "Next Steps" section at the end of the content. Flag any page with too many links for review.
205+
206+
### Internal links
207+
208+
Use a relative path format for internal links that are on learn.arm.com.
209+
For example, use: descriptive link text pointing to a relative path like learning-paths/category/path-name/
210+
211+
Examples:
212+
- learning-paths/servers-and-cloud-computing/csp/ (Arm-based instance)
213+
- learning-paths/cross-platform/docker/ (Docker learning path)
214+
215+
### External links
216+
217+
Use the full URL for external links that are not on learn.arm.com, these open in a new tab.
218+
219+
This instruction set enables high-quality Arm Learning Paths content while maintaining consistency and technical accuracy.
220+
221+
222+

.wordlist.txt

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4960,4 +4960,20 @@ SqueezeNet
49604960
TIdentify
49614961
goroutines
49624962
mysqlslap
4963-
squeezenet
4963+
squeezenet
4964+
Aphex
4965+
Autoscale
4966+
Halide’s
4967+
KRaft
4968+
Kedify's
4969+
Kedify’s
4970+
MirrorMaker
4971+
NIC’s
4972+
Neoverse's
4973+
OpenBMC’s
4974+
Rebalance
4975+
StatefulSets
4976+
codemia
4977+
multidisks
4978+
testsh
4979+
uops

README.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,10 @@ All contributions are welcome as long as they relate to software development for
2020

2121
Note that all site content, including new contributions, is licensed under a [Creative Commons Attribution 4.0 International license](https://creativecommons.org/licenses/by/4.0/).
2222

23+
## AI Development Tools
24+
25+
When using AI coding assistants (GitHub Copilot, Amazon Q, Gemini, Cursor, etc.), refer to `.github/copilot-instructions.md` for project-specific guidelines including content requirements, writing style standards, and Arm terminology conventions for Learning Paths.
26+
2327
<br/>
2428

2529
# Other Arm Learning Resources

content/learning-paths/automotive/_index.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,9 +28,11 @@ tools_software_languages_filter:
2828
- Docker: 2
2929
- FVP: 1
3030
- GCC: 3
31+
- Perf: 1
3132
- Python: 2
3233
- Raspberry Pi: 1
3334
- ROS 2: 3
3435
- Rust: 1
36+
- topdown-tool: 1
3537
- Zenoh: 1
3638
---

content/learning-paths/cross-platform/_example-learning-path/appendix-1-formatting.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ Learning Paths are created using Markdown.
1212

1313
Refer to this section when you have questions on how to format your content correctly.
1414

15-
You can also refer to other Markdown resources, and if you are unsure, look [this page in GitHub](https://github.com/jasonrandrews/arm-learning-paths/blob/main/content/learning-paths/cross-platform/_example-learning-path/appendix-1-formatting.md?plain=1) to see how to do formatting.
15+
You can also refer to other Markdown resources, and if you are unsure, look [this page in GitHub](https://github.com/ArmDeveloperEcosystem/arm-learning-paths/blob/main/content/learning-paths/cross-platform/_example-learning-path/appendix-1-formatting.md?plain=1) to see how to do formatting.
1616

1717
## Learning Path Formatting
1818

0 commit comments

Comments
 (0)