seed: curriculum content

This commit is contained in:
2026-05-07 14:32:44 +00:00
parent 9258534803
commit ec76f4f56b
100 changed files with 2846 additions and 0 deletions

View File

@@ -0,0 +1,63 @@
---
type: battle
title: "Team Build"
xp: 200
duration: 90
difficulty: 3
---
# Team Build
> **[INCOMING — Mission Control, Earth]**
>
> Cadets, this is your final task before Python. You and a partner will
> automate a mission setup together — one writing, the other
> reviewing. Then swap.
>
> Pair up. Decide who goes first as **defender** and who goes first as
> **attacker**.
>
> [END TRANSMISSION]
## The Task
The **defender** writes a single shell script — `launch.sh` — that,
when run inside an empty workspace, does the following in order:
1. Creates a folder called `mission/` and enters it.
2. Initializes a fresh Git repo on branch `main`.
3. Sets `user.name` and `user.email` on the repo (use your own).
4. Creates `manifest.txt` containing exactly:
```
Mission Apollo
```
5. Creates `crew.txt` containing exactly:
```
Cadet A, Cadet B
```
6. Creates `coords.txt` containing exactly:
```
lat: 0.0, lon: 0.0
```
7. Commits each file separately, in this exact order, with messages:
- `add manifest`
- `add crew`
- `add coords`
8. Prints `MISSION READY` to stdout when done.
## Battle Rules
- **Defender**: writes `launch.sh` from scratch in a clean workspace.
Does not show the file until done. Time limit: 30 minutes.
- **Attacker**: receives the script, runs it in a clean folder,
inspects the resulting `mission/`, and submits a review through the
platform's review form.
- **Then swap**: roles flip. The new defender writes their own
`launch.sh` (no copy-pasting). 30 more minutes.
- Both pass the battle if both scripts pass review.
## Tools You'll Use
Everything you've learned this module:
`mkdir`, `cd`, `echo`, `>`, `git init`, `git config`, `git add`,
`git commit`, and a shebang to make the script run.