Skip to content

Commit 24e99c2

Browse files
Merge pull request #2947 from ArmDeveloperEcosystem/main
Production update
2 parents d22b7d4 + 2ef0d2e commit 24e99c2

179 files changed

Lines changed: 2635 additions & 697 deletions

File tree

Some content is hidden

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

.devcontainer/devcontainer.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,6 @@
77

88
"remoteUser": "ubuntu",
99

10-
"postStartCommand": "nohup bash -c 'hugo ; bin/pagefind --site public --output-subdir ../static/pagefind ; hugo server --baseURL=/ --liveReloadPort=443 --appendPort=false --bind=0.0.0.0 &' "
10+
"postStartCommand": "nohup bash -c 'hugo ; hugo server --baseURL=/ --liveReloadPort=443 --appendPort=false --bind=0.0.0.0 &' "
1111

1212
}

.github/copilot-instructions.md

Lines changed: 125 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
# Project Overview
22

3-
This project is a collection of "learning paths" (long-form tutorials) and "install guides" (shorter software installation guides), hosted on a static website using Hugo and markdown files. The content explains how to develop software on Arm for software developers targeting various Arm platforms.
3+
This project is a collection of "Learning Paths" (long-form tutorials) and "install guides" (shorter software installation guides), hosted on a static website using Hugo and markdown files. The content explains how to develop software on Arm for software developers targeting various Arm platforms.
44

55
Assume the audience is made up of Arm software developers. Bias all 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.
66

77
## Project structure
88

99
The key directories are:
1010

11-
### Top level structure
11+
### Top-level structure
1212

1313
- `/content` - The main directory containing all Learning Paths and install guides as markdown files
1414
- `/themes` - HTML templates and styling elements that render the content into the final website
@@ -42,6 +42,9 @@ The `/content` directory is the primary workspace where contributors add new Lea
4242

4343
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.
4444

45+
- Learning Paths: use for end-to-end tasks (prepare → configure → use → validate). Must include `_index.md` and `_next-steps.md`.
46+
- Install guides: use for installation + verification only. Do not include workflow content or benchmarks.
47+
4548
### Content structure
4649

4750
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.
@@ -64,6 +67,65 @@ Front Matter (YAML format):
6467
- `skilllevels`: Skill levels allowed are only Introductory and Advanced
6568
- `operatingsystems`: Operating systems used, must match the closed list on https://learn.arm.com/learning-paths/cross-platform/_example-learning-path/write-2-metadata/
6669

70+
### Install guide requirements
71+
72+
Install guides focus on installing and verifying one tool on Arm platforms. They do not teach workflows or applied usage.
73+
74+
### Front matter requirements
75+
76+
Install guides must include:
77+
- `title`
78+
- `minutes_to_complete`
79+
- `official_docs`
80+
- `author_primary`
81+
- `weight: 1`
82+
- `layout: installtoolsall`
83+
84+
#### Fixed fields for install guides
85+
86+
- `weight: 1` (always)
87+
- `tool_install: true` (set to false only if intentionally hidden)
88+
- `layout: installtoolsall` (always)
89+
- `multi_install` and `multitool_install_part` (set based on whether the install guide is multi-page)
90+
91+
Do not modify fixed template fields.
92+
93+
If `multi_install` is set to true, the first page must act as an overview for the series. Sub-pages must set `multitool_install_part: true`.
94+
95+
### Required content structure
96+
97+
Install guides should include:
98+
99+
1. Overview
100+
- What the tool is
101+
- Supported Arm platforms (aarch64, Windows on Arm, macOS on Arm where applicable)
102+
103+
2. Install steps
104+
- Clear OS-specific sections when necessary
105+
- Commands grouped logically
106+
- Explanation before each code block
107+
108+
3. Verify installation
109+
- One or two commands
110+
- Expected output shown
111+
112+
4. Troubleshooting
113+
- Common failure cases
114+
- Clear fixes
115+
116+
Optional:
117+
- Uninstall instructions
118+
119+
### Scope boundaries
120+
121+
Install guides must NOT include:
122+
- End-to-end workflows
123+
- Performance benchmarking
124+
- Deep architectural explanation
125+
- Comparative marketing claims
126+
127+
Learning Paths may link to install guides for setup steps. Install guides should not duplicate workflow content.
128+
67129
### Further reading curation
68130

69131
Limit `further_reading` resources to four to six essential links. Prioritize:
@@ -135,15 +197,20 @@ Voice and Tone:
135197
- Walls of text cause people to bounce from the page
136198
- If you're explaining 3+ things in one section, split it into separate sections
137199
- 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:
200+
- For Learning Paths, include a short recap and forward-looking transition at the end of each major instructional section or module.
201+
202+
Example recap pattern for Learning Paths:
139203

140-
## What you’ve accomplished and what’s next:
204+
```md
205+
## What you've accomplished and what's next
141206

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
207+
In this section:
208+
- Briefly summarize what the user has learned or completed
209+
- Briefly describe what the user should expect in the next section or suggest further exploration
145210

146-
Keep this concise and encouraging. Do not repeat earlier content verbatim.
211+
Keep this concise and encouraging. Do not repeat earlier content verbatim.
212+
```
213+
This helps learners feel a sense of progress and understand the logical flow of the Learning Path.
147214

148215
### Word choice and style
149216

@@ -237,7 +304,7 @@ Voice and Tone:
237304
- Prefer verified external authoritative sources over speculative internal links
238305
- Test link formats against existing Learning Path examples
239306
- Never assume Learning Paths exist without verification
240-
- 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.
307+
- 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; for Learning Paths, put additional links in further_reading in _index.md (not _next-steps.md)
241308

242309
## Avoid looking like AI-generated content
243310

@@ -327,6 +394,7 @@ Avoid placeholders or generic phrases. Alt text should stand alone as a full des
327394
- Recommend profiling tools that work well on Arm platforms
328395
- Include guidance on measuring and optimizing for Arm-specific performance characteristics
329396
- Mention when performance improvements are architecture-specific
397+
- Applies to Learning Paths only. Install guides must not include benchmarking.
330398

331399
### AI optimization (AIO) guidance
332400

@@ -350,10 +418,10 @@ Avoid placeholders or generic phrases. Alt text should stand alone as a full des
350418

351419
When content trade-offs are required, prioritize the following in order:
352420

353-
1. Alignment with the stated purpose and positioning of the content
354-
2. Clarity and readability for the intended skill level
355-
3. Consistency with existing Learning Paths and install guides
356-
4. Completeness within the stated scope
421+
- Alignment with the stated purpose and positioning of the content
422+
- Clarity and readability for the intended skill level
423+
- Consistency with existing Learning Paths and install guides
424+
- Completeness within the stated scope
357425

358426
## Learning Path purpose and agentic selection principles
359427

@@ -413,4 +481,48 @@ Learning Paths should optimize for **selection**, not ranking.
413481

414482
If an AI agent were asked to complete this task, the Learning Path should be the safest source to select.
415483

484+
### Performance and Arm acceleration integrity
485+
486+
For Learning Paths that demonstrate Arm-specific performance features (for example SME2, SVE2, I8MM, DotProd, optimized microkernels), apply the following standards.
487+
488+
#### Observable outcome first
489+
- Clearly state what measurable improvement the learner will observe
490+
- Show performance results before introducing deep architectural explanation
491+
- Avoid introducing internal call stacks or microkernel details before the developer sees observable value
492+
493+
#### Reproducibility requirements
494+
If performance numbers are included, specify:
495+
- Toolchain or software version
496+
- Device or platform used
497+
- Thread count and CPU affinity configuration
498+
- Runtime feature flags
499+
- Model or workload configuration
500+
501+
Performance claims must be reproducible or explicitly labeled as illustrative.
502+
503+
#### Compile-time vs runtime clarity
504+
505+
Clearly distinguish between:
506+
- Compile-time feature enablement
507+
- Runtime feature activation
508+
- Automatic fallback behavior
509+
510+
If acceleration is claimed, include a method to verify that the accelerated path executed (for example logs, profiling output, kernel names, or hardware counters).
511+
512+
#### Controlled benchmarking
513+
514+
When comparing performance:
515+
- Change only one meaningful variable at a time
516+
- Control thread count and CPU binding intentionally
517+
- Quantify percentage improvement explicitly
518+
- Avoid presenting raw numbers without context
519+
520+
#### Differentiation reinforcement
521+
522+
Explicitly connect the observed improvement to the Arm architectural feature responsible for it.
523+
524+
Avoid generic statements such as “improves performance” without explaining how and why.
525+
526+
Performance-focused Learning Paths are strategic content. Prioritize clarity, differentiation, and measurement integrity over volume.
527+
416528

.github/workflows/content-checks.yml

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -44,9 +44,7 @@ jobs:
4444
# extended: true
4545
#
4646
# - name: Build
47-
# run: |
48-
# hugo --minify
49-
# bin/pagefind --site "public"
47+
# run: hugo --minify
5048
#
5149
# - name: Check HTML links
5250
# continue-on-error: true

.github/workflows/deploy.yml

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -67,9 +67,7 @@ jobs:
6767

6868
# Builds arm-software-developer repo
6969
- name: Build
70-
run: |
71-
hugo --minify
72-
bin/pagefind.aarch64 --site "public"
70+
run: hugo --minify
7371
env:
7472
HUGO_LLM_API: ${{ secrets.HUGO_LLM_API }}
7573
HUGO_RAG_API: ${{ secrets.HUGO_RAG_API }}

.github/workflows/spell-and-link-check.yml

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,9 +26,7 @@ jobs:
2626
extended: true
2727

2828
- name: Build
29-
run: |
30-
hugo --minify
31-
bin/pagefind --site "public"
29+
run: hugo --minify
3230

3331
- name: Check HTML links
3432
id: htmltest

.wordlist.txt

Lines changed: 28 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3549,7 +3549,6 @@ paddleocr
35493549
PaddleOCR
35503550
paddlepaddle
35513551
PaddlePaddle
3552-
Pagefind
35533552
pagemap
35543553
pagesize
35553554
Paladugu
@@ -5758,3 +5757,31 @@ swprofiles
57585757
techsupport
57595758
upscaler
57605759
walkthroughs
5760+
Ajeet
5761+
DML
5762+
EOS
5763+
JSONL
5764+
JoeStech
5765+
LoRA's
5766+
Precompute
5767+
Raina
5768+
TARGETARCH
5769+
TimescaleDB
5770+
datasheet
5771+
dequantized
5772+
devirtualize
5773+
hypertable
5774+
hypertables
5775+
introyt
5776+
nxk
5777+
psycopg
5778+
qsu
5779+
rhs
5780+
scalef
5781+
sdot
5782+
sft
5783+
timescaledb
5784+
tokenizer's
5785+
tokenizers
5786+
trainingyt
5787+
upsert

bin/pagefind

-21.7 MB
Binary file not shown.

bin/pagefind.aarch64

-21.1 MB
Binary file not shown.
10.5 KB
Loading
-6.67 KB
Loading

0 commit comments

Comments
 (0)