Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
72 commits
Select commit Hold shift + click to select a range
89f5a74
learning-paths faq and summary workflow test
chrismoroney Apr 30, 2026
4c5f94d
Generate Learning Path summary and FAQ content
Apr 30, 2026
cf77fea
Generate Learning Path summary and FAQ content
May 6, 2026
c9c4fdb
updates to configuration for faq
chrismoroney May 6, 2026
ca1a951
Generate Learning Path summary and FAQ content
May 6, 2026
c8dfa7c
test new flags and config
chrismoroney May 6, 2026
d9b0c1d
Merge branch 'STESOL-345' of https://github.com/chrismoroney/arm-lear…
chrismoroney May 6, 2026
c723aed
Generate Learning Path summary and FAQ content
May 6, 2026
fb9a9de
consistency tag with all lps
chrismoroney May 6, 2026
cf5467e
Generate Learning Path summary and FAQ content
May 6, 2026
11b692b
test with other metrics
chrismoroney May 8, 2026
e937ddc
Generate Learning Path summary and FAQ content
May 8, 2026
a102be7
test another run
chrismoroney May 8, 2026
bf35e1b
Generate Learning Path summary and FAQ content
May 8, 2026
f79ee7e
another dry run - more stats to capture
chrismoroney May 12, 2026
9e87669
Generate Learning Path summary and FAQ content
May 12, 2026
053e12a
prepare fresh run, use LLM run
chrismoroney May 15, 2026
1023e5a
update workflow
chrismoroney May 15, 2026
278c097
test with self hosted runner
chrismoroney May 15, 2026
4232f3e
Add RPi 5 to Device Connect LPs
annietllnd May 20, 2026
42fdd23
Make RPi5 optional
annietllnd May 20, 2026
16a21f6
sample summaries and faqs
chrismoroney Jun 4, 2026
9a8e0ee
remove summarys, test new prompts
chrismoroney Jun 8, 2026
4775ec7
generate_summary_faq feature
chrismoroney Jun 8, 2026
c13bb40
generate_summary_faq ai feature ready to commit
chrismoroney Jun 8, 2026
ebcc54b
Merge branch 'main' into STESOL-345
chrismoroney Jun 8, 2026
4998018
first pass review
anupras-mohapatra-arm Jun 12, 2026
c78671e
second pass
anupras-mohapatra-arm Jun 12, 2026
9e7eb50
add per-page descriptions
anupras-mohapatra-arm Jun 12, 2026
4bde64e
another pass of edits
anupras-mohapatra-arm Jun 12, 2026
309886c
nits
anupras-mohapatra-arm Jun 12, 2026
007cae2
adding Arm to title
anupras-mohapatra-arm Jun 12, 2026
f367999
restoring older content
anupras-mohapatra-arm Jun 12, 2026
0957cc9
consistency
anupras-mohapatra-arm Jun 12, 2026
0313b47
moving away from unusual UI capitalization in heading
anupras-mohapatra-arm Jun 12, 2026
c12fd8c
long sentence split
anupras-mohapatra-arm Jun 12, 2026
4c7bcfd
removing redundant steps from setup
anupras-mohapatra-arm Jun 12, 2026
5e21b70
edit
anupras-mohapatra-arm Jun 12, 2026
3348fda
reintroducing some content from deleted section
anupras-mohapatra-arm Jun 12, 2026
8e3a748
more alterations
anupras-mohapatra-arm Jun 12, 2026
4aab1bf
Resize images changed in the last week
pareenaverma Jun 15, 2026
9e277c1
Update vcpkg installation commands with fixed release URLs
jkrech Jun 15, 2026
a43be64
Merge pull request #3399 from jkrech/patch-1
pareenaverma Jun 15, 2026
7faadac
Merge pull request #3398 from ArmDeveloperEcosystem/resize-images
pareenaverma Jun 15, 2026
fd071ce
Merge pull request #3352 from annietllnd/main
pareenaverma Jun 15, 2026
3fe3c19
more tweaks
anupras-mohapatra-arm Jun 15, 2026
1dd1080
Add Topo VS Code extension page
matt-cossins Jun 15, 2026
e78a783
Added extra image
matt-cossins Jun 15, 2026
56e2e49
Update config.toml to preserve md directory in S3 bucket
pareenaverma Jun 15, 2026
9552cf5
Merge pull request #3404 from pareenaverma/content_review
pareenaverma Jun 15, 2026
bffa64e
add contributor
tgonzalezorlandoarm Jun 16, 2026
a1e0aa1
Merge pull request #3405 from tgonzalezorlandoarm/add-contributor
pareenaverma Jun 16, 2026
1607af6
Merge pull request #3403 from matt-cossins/topo_2
pareenaverma Jun 17, 2026
386c9b1
Merge branch 'main' into STESOL-345
chrismoroney Jun 17, 2026
5d764e1
Update placeholder/layout to avoid potential merge conflicts
chrismoroney Jun 17, 2026
4a0ba80
Go GC Tech Review
pareenaverma Jun 17, 2026
c359fd0
Merge pull request #3407 from pareenaverma/content_review
pareenaverma Jun 17, 2026
2949a19
Add Linux support for Docker sbx install guide
jasonrandrews Jun 17, 2026
5ecbdf7
Merge pull request #3408 from jasonrandrews/review
jasonrandrews Jun 17, 2026
55bed82
first pass edits
anupras-mohapatra-arm Jun 18, 2026
08c63aa
restoring many instances of GC'
anupras-mohapatra-arm Jun 18, 2026
89ea0ac
Merge pull request #3374 from chrismoroney/STESOL-345
pareenaverma Jun 18, 2026
1bdee92
second pass powered by skills
anupras-mohapatra-arm Jun 18, 2026
dce9f3e
adding metadata to each page with skill
anupras-mohapatra-arm Jun 18, 2026
036049e
SEO/AEO/GEO-related updates powered by skill
anupras-mohapatra-arm Jun 18, 2026
5afe961
updating some single-line comments to multi-line
anupras-mohapatra-arm Jun 18, 2026
33efd93
nits
anupras-mohapatra-arm Jun 18, 2026
8be4f0b
nit
anupras-mohapatra-arm Jun 18, 2026
c634147
Merge pull request #3410 from anupras-mohapatra-arm/servers-and-cloud…
jasonrandrews Jun 18, 2026
147f4ee
Merge pull request #3400 from anupras-mohapatra-arm/embedded-and-micr…
jasonrandrews Jun 18, 2026
6ade23a
spelling updates
jasonrandrews Jun 19, 2026
59993a8
Merge pull request #3411 from jasonrandrews/review
jasonrandrews Jun 19, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
13 changes: 12 additions & 1 deletion .wordlist.txt
Original file line number Diff line number Diff line change
Expand Up @@ -6313,4 +6313,15 @@ microVM
microVMs
microvm
npx
sbx
sbx
IndexByte
Mosquitto
SplitN
burstable
faqs
mqtt
perfrunbook
pprof
prj
reflashing
unwinder
14 changes: 10 additions & 4 deletions archetypes/learning-path/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,16 @@ prerequisites:

author: PLACEHOLDER NAME

# New Learning Paths are opted in for the next manual generated summary/FAQ run.
# The generator resets this to false after a successful write.
generate_summary_faq: true

# Optional one-shot controls: set either field to true to regenerate just that
# generated section the next time the summary/FAQ tool runs. The tool resets
# them to false after a successful write.
rerun_summary: false
rerun_faqs: false

### Tags
skilllevels: PLACEHOLDER SKILLLEVEL
subjects: PLACEHOLDER SUBJECT
Expand All @@ -27,8 +37,6 @@ tools_software_languages:
operatingsystems:
- PLACEHOLDER OS G



further_reading:
- resource:
title: PLACEHOLDER MANUAL
Expand All @@ -43,8 +51,6 @@ further_reading:
link: PLACEHOLDER GENERAL WEBSITE LINK
type: website



### FIXED, DO NOT MODIFY
# ================================================================================
weight: 1 # _index.md always has weight of 1 to order correctly
Expand Down
1 change: 1 addition & 0 deletions assets/contributors.csv
Original file line number Diff line number Diff line change
Expand Up @@ -125,3 +125,4 @@ Akash Malik,Arm,akashmalik19973,akash-malik-a65bab219,,
Matt Cossins,Arm,matt-cossins,,,
Sue Wu,Arm,,,,
Sabika Tasneem,Memgraph,,,,
Tomas Agustin Gonzalez Orlando,Arm,tgonzalezorlandoarm,tgorlando,,
74 changes: 74 additions & 0 deletions assets/css/content-pages.css
Original file line number Diff line number Diff line change
Expand Up @@ -261,6 +261,80 @@ html[theme='dark'] .incorrect-explain {color: #e86868} /* 27% lighter than arm's
color: var(--arm-green);
}



/* Generated AI-assisted summary/FAQ block
*******************************************************************/
.generated-summary-faq__heading {
align-items: center;
display: flex;
flex-wrap: wrap;
column-gap: 12px;
margin-bottom: 16px;
row-gap: 8px;
}

.generated-summary-faq__heading h3 {
line-height: 1.1;
margin: 0;
}

.generated-summary-faq__assist {
align-items: center;
display: inline-flex;
gap: 6px;
}

.generated-summary-faq__assist ads-modal {
display: inline-flex;
}

ads-tag.generated-summary-faq__ai-tag {
--ads-tag-background-color: transparent;
--ads-tag-background-color-hover: transparent;
--ads-tag-border-color: 1px solid var(--arm-web-safe-blue);
--ads-tag-border-color-hover: 1px solid var(--arm-green);
--ads-tag-color: var(--arm-web-safe-blue);
--ads-tag-color-hover: var(--arm-green);
}

html[theme='dark'] ads-tag.generated-summary-faq__ai-tag {
--ads-tag-border-color: 1px solid var(--arm-light-blue);
--ads-tag-border-color-hover: 1px solid var(--arm-green);
--ads-tag-color: var(--arm-light-blue);
--ads-tag-color-hover: var(--arm-green);
}

ads-button.generated-summary-faq__info {
--ads-button-color: var(--arm-web-safe-blue);
--ads-button-color-hover: var(--arm-green);
--ads-button-border-color: var(--arm-web-safe-blue);
--ads-button-border-color-hover: var(--arm-green);
}

html[theme='dark'] ads-button.generated-summary-faq__info {
--ads-button-color: var(--arm-light-blue);
--ads-button-color-hover: var(--arm-green);
--ads-button-border-color: var(--arm-light-blue);
--ads-button-border-color-hover: var(--arm-green);
}

ads-expansion-panel.generated-summary-faq__panel {
--ads-expansion-panel-border-color: var(--arm-light-grey);
--ads-expansion-panel-content-background-color: transparent;
--ads-expansion-panel-toggle-background-color: transparent;
--ads-expansion-panel-toggle-background-color-hover: transparent;
--ads-expansion-panel-toggle-icon-color-hover: var(--arm-green);
}

html[theme='dark'] ads-expansion-panel.generated-summary-faq__panel {
--ads-expansion-panel-border-color: rgba(163, 168, 174, 0.25);
--ads-expansion-panel-content-background-color: transparent;
--ads-expansion-panel-toggle-background-color: transparent;
--ads-expansion-panel-toggle-background-color-hover: transparent;
--ads-expansion-panel-toggle-icon-color-hover: var(--arm-green);
}

.share-icon {
width: 36px;
height: 36px;
Expand Down
1 change: 1 addition & 0 deletions config.toml
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ cloudFrontDistributionID = "EAMKPMDBM18II"
name = "prod"
URL = "s3://arm-learning-paths-prod?region=us-east-1"
cloudFrontDistributionID = "E2IA2AC83UE2VJ"
exclude = "md/**"

[markup]
[markup.goldmark]
Expand Down
108 changes: 96 additions & 12 deletions content/install-guides/sbx.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
title: Docker Sandboxes (sbx)

description: Install Docker Sandboxes (sbx) on macOS with Apple Silicon to run AI coding agents in isolated Arm Linux microVMs using Apple's virtualization framework.
description: Install Docker Sandboxes (sbx) on macOS with Apple Silicon or Arm Linux to run AI coding agents in isolated microVMs.

minutes_to_complete: 10

Expand All @@ -13,7 +13,6 @@ additional_search_terms:
- sandbox
- microvm
- containers
- apple silicon

author: Jason Andrews

Expand All @@ -30,21 +29,35 @@ layout: installtoolsall
Docker Sandboxes (`sbx`) is a standalone CLI from Docker for running AI coding agents in isolated microVMs. Each sandbox gets its own filesystem, network, and Docker daemon, so agents can install packages, modify files, and run containers without touching your host system.

{{% notice Note %}}
`sbx` is not available on Arm Linux.
Arm Linux support is available in `sbx` version 0.33 and later.
{{% /notice %}}

On macOS with Apple Silicon, `sbx` uses Apple's virtualization framework to launch Arm Linux (Ubuntu) microVMs. You don't need Docker Desktop.

On Arm Linux, `sbx` uses the KVM hypervisor to launch microVMs. KVM requires bare metal and does not work on virtual machines.

## Before you begin

### macOS prerequisites

You need:

- A Mac with Apple Silicon (M1 or later) running macOS Sonoma (version 14) or later.
- A [Docker Hub](https://hub.docker.com/) account to authenticate `sbx`.
- [Homebrew](https://brew.sh/) installed.
- A [Docker Hub](https://hub.docker.com/) account to authenticate `sbx`.

### Arm Linux prerequisites

You need:

- An Arm Linux system running Ubuntu 24.04 LTS or later on aarch64 architecture.
- Kernel-based Virtual Machine (KVM) enabled on bare metal hardware.
- A [Docker Hub](https://hub.docker.com/) account to authenticate `sbx`.

## Install the sbx CLI

### macOS installation

Install `sbx` using Homebrew:

```bash
Expand All @@ -53,6 +66,76 @@ brew install docker/tap/sbx

Homebrew installs the `sbx` binary at `/opt/homebrew/bin/sbx`.

### Arm Linux installation

On Arm Linux, `sbx` requires KVM acceleration. KVM does not typically work on virtual machines. It requires bare metal.

Install and run the `kvm-ok` command to confirm KVM is available.

Install `kvm-ok` on Debian-based Linux distributions:

```bash
sudo apt install cpu-checker -y
```

To check if KVM is available, run:

```console
sudo kvm-ok
```

If KVM is available, the output is similar to:

```output
INFO: /dev/kvm exists
KVM acceleration can be used
```

If KVM is not available, the output is similar to:

```output
INFO: /dev/kvm does not exist
HINT: sudo modprobe kvm
INFO: For more detailed results, you should run this as root
HINT: sudo /usr/sbin/kvm-ok
```

After KVM is available, install `sbx` using the appropriate .deb package for your Ubuntu version. First, check your Ubuntu version:

```bash
grep VERSION_ID /etc/os-release
```

{{% notice Note %}}
The following commands use Docker Sandboxes version 0.33.0. The same commands work with other versions. Replace the file used in these steps with the file for your version of choice. To find the latest release and available Ubuntu versions, see the [sbx releases page](https://github.com/docker/sbx-releases/releases).
{{% /notice %}}

For Ubuntu 26.04, download and install the .deb package:

```bash
wget https://github.com/docker/sbx-releases/releases/download/v0.33.0/DockerSandboxes-linux-arm64-ubuntu2604.deb
sudo apt install ./DockerSandboxes-linux-arm64-ubuntu2604.deb
```

For Ubuntu 24.04, download and install the .deb package:

```bash
wget https://github.com/docker/sbx-releases/releases/download/v0.33.0/DockerSandboxes-linux-arm64-ubuntu2404.deb
sudo apt install ./DockerSandboxes-linux-arm64-ubuntu2404.deb
```

Verify the installation:

```bash
which sbx
```

The output is similar to:

```output
/usr/bin/sbx
```

## Verify the installation

After installing the CLI, verify that the installation was successful.
Expand All @@ -66,13 +149,13 @@ sbx version
```

{{% notice Note %}}
The following output shows the version at the time this guide was written. Homebrew installs the latest available version. To find the latest release, see the [sbx releases page](https://github.com/docker/sbx-releases/releases).
The following output shows the version at the time this guide was written. To find the latest release, see the [sbx releases page](https://github.com/docker/sbx-releases/releases).
{{% /notice %}}

The output is similar to:

```output
sbx version: v0.32.0 55580366449bcfebfc1787b9944284cf64c856d7
sbx version: v0.33.0 d7da69cb30eb3000c4d4ef0c848ffe84f32058bf
```

### Authenticate with Docker Hub
Expand All @@ -94,6 +177,7 @@ sbx run shell
```

This launches a bare Arm Linux microVM with a shell prompt. No AI agent runs inside it.

On your first run, the CLI will ask you to select a network policy:

- `Open`: allows all network access from within the sandbox.
Expand Down Expand Up @@ -140,7 +224,7 @@ UBUNTU_CODENAME=resolute
LOGO=ubuntu-logo
```

This confirms that the shell sandbox is running Arm Linux (Ubuntu on aarch64) inside the microVM.
This confirms that the shell sandbox is running Arm Linux (Ubuntu on aarch64) inside the microVM.

Keep the shell running to test management commands in another terminal.

Expand All @@ -156,22 +240,22 @@ The output is similar to:

```output
SANDBOX AGENT STATUS PORTS WORKSPACE
shell-arm-learning-paths shell stopped /Users/arm-learning-paths
shell-arm-learning-paths shell stopped ~/my-project
```

Copy a file from your Mac into the sandbox. For example:
Copy a file from your host into the sandbox. For example:

```bash
sbx cp ./myfile.txt <SANDBOX>:/home/user/myfile.txt
```

Copy a file from a sandbox back to your Mac. For example:
Copy a file from a sandbox back to your host. For example:

```bash
sbx cp <SANDBOX>:/home/user/output.txt ./output.txt
```

## Clean up
## Clean up

Stop the running shell sandbox using its name:

Expand All @@ -191,7 +275,7 @@ You'll be prompted to confirm whether you want to remove the sandbox. Answer `y`

## Next steps

You're now ready to use Docker Sandboxes to run AI agents in isolated microVMs on macOS.
You're now ready to use Docker Sandboxes to run AI agents in isolated microVMs on macOS or Arm Linux.

To launch an agent sandbox, provide the name of the agent sandbox in the run command. For example, to launch a Claude sandbox:

Expand Down
7 changes: 4 additions & 3 deletions content/learning-paths/automotive/intro/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,12 @@ prerequisites:
draft: true
cascade:
draft: true

author: Jason Andrews

generate_summary_faq: true
rerun_summary: false
rerun_faqs: false

### Tags
skilllevels: Introductory
subjects: Performance and Architecture
Expand All @@ -29,7 +32,6 @@ operatingsystems:
- RTOS
tools_software_languages:


further_reading:
- resource:
title: Raspberry Pi Pico
Expand All @@ -40,7 +42,6 @@ further_reading:
link: https://microbit.org/
type: website


weight: 1
layout: "learningpathall" # All files under learning paths have this same wrapper
learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content.
Expand Down
Loading
Loading