This repository is used for a 2-hour hands-on tutorial on AI agentic coding with a strong Robot Framework test-first workflow.
Participants learn how to:
- understand a real fullstack codebase with an AI agent
- define acceptance criteria before implementation
- use Robot Framework tests as quality guard rails
- implement a feature end-to-end with AI guidance
Current workshop feature exercise: add a Like button to existing yaps.
Yapster is a small social app with:
- backend health endpoint:
/health - message APIs:
GET /api/messages,POST /api/messages - frontend UI for posting and listing yaps
- in-memory storage (no database)
The Like button is intentionally left as a workshop implementation exercise.
- Intro to agentic coding concepts
- Clone and local setup
- Baseline walkthrough (frontend, backend, Robot tests)
- Test-first design for Like button
- Guided implementation with AI agent
- Validation and retrospective
Instructor slides are in INSTRUCTOR-RUNSHEET.md.
./setup-linux.sh
# or
./setup-macos.sh
# or
./setup-windows.ps1./check-environment.sh./run-tests.sh./manage-services.sh start
./manage-services.sh statusWindows PowerShell:
.\manage-services.ps1 start
.\manage-services.ps1 statuscurl http://localhost:3000/health
curl http://localhost:5173/healthRobot Framework is the primary quality gate in this repository.
- UI tests:
atests/ui/*.robot - API tests:
atests/api/*.robot - shared run command:
./run-tests.sh
Recommended implementation loop:
- Add/adjust Robot tests for expected behavior
- Run tests and observe failure
- Implement minimal code changes
- Re-run tests until green
yapster-robocon2026/
├── frontend/ # React + TypeScript (Vite)
├── backend/ # Express + TypeScript
├── atests/ # Robot Framework tests
├── manage-services.sh # Service manager (Linux/macOS)
├── manage-services.ps1 # Service manager (Windows)
├── INSTRUCTOR-RUNSHEET.md # Marp slides for workshop
├── DEMO-GUIDE.md # Facilitator guide (2-hour tutorial)
└── README.md
INSTRUCTOR-RUNSHEET.md: presentation deckDEMO-GUIDE.md: facilitator checklist and timing