---
# System prepended metadata

title: Tutorial Lesson Plan

---

# Tutorial Lesson Plan


## Getting Set up 
1. What and Why of legos
    - What is a lego
    - Where do they exist
    - Why do we use legos
2. Setting up a dev environment
    - git clone
    - linter

## Building a simple minion proposal
3. Make a form lego
- Welcome back.
- This video is about form legos
- In the code, you'll notice that these forms are not React components at all. Just data, or legos
- This helps us scale. Right now, we have 42 forms in the app, and we'd like to have hundreds more. 
- So we use these little data blocks, we like to call legos


- So let's make a new form
- Let's go into favourites, copy and paste a new form
- set dev as true
- By setting dev as true we're allowing the form to show up in the UI, which makes it easy to test. 
- Let's go through some of the fields here
5. Getting and adding an ABI
6. Making a Contract Lego
7. Setting up the Minion Transaction 
8. Nesting in the Swap TX (adapting to args to ABI data)
9. Multichain, updating chain.js
10. Make a custom slippage field
11. Testing contract interaction 

## Building a safeMinion proposal

11. Levelling up to SafeMinion
12. Creating a SafeMinion tx 
13. Adding in approve, Copying in swapTokensForExactTokens
14. Test it out
15. Make a playlist
16. Make a PR to DAOhaus, we test it and hook it up 