A new project starts from a template rather than from an empty
project.yml. The template carries the top module, a test, and a
configuration that already names the part and the simulator.
Create it
mkdir first_project && cd first_project
rr init --template first_success --name first_project -y
first_success targets an iCE40 UP5K with the open toolchain: Yosys for
synthesis and Icarus Verilog for simulation. No vendor licence is needed.
To see the other templates:
rr init --list-templates
By default rr init also creates a .venv with RouteRTL installed in it.
Pass --no-venv when rr is already installed in the shell you are using,
as in the recording above.
What it writes
The project gets project.yml, the RTL under src/, a cocotb test under
sim/, and the generated build_env.mk and build_env.tcl. Before it
finishes, rr init prints an environment check of the tools it found. A
missing tool there is reported, not fatal: rr doctor lists the fix for
each one.
Check it
rr linting
Result
The scaffold is a project that lints clean before you change anything. A later lint or simulation failure then points at your change, not at the setup.