Files
curriculum/1.solar-system/1.welcome/17.team-build/index.md

1.7 KiB

type, title, xp, duration, difficulty
type title xp duration difficulty
battle Team Build 200 90 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.