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