This repository contains an implementation of Semaphore using risczero, it can serve as a practical example.
If you want to learn how to use Risc-0 you should start with this. You can ignore Bonsai for learning about circuits. The risc0 github contains a lot of very useful examples. Another great ressource is Thor K.'s examples
├── Cargo.toml
├── merkletree
│ └── src
│ └── lib.rs
├── host
│ ├── Cargo.toml
│ └── src
│ └── main.rs <-- [Host, generate circuit inputs]
└── methods
├── Cargo.toml
├── build.rs
├── guest
│ ├── Cargo.toml
│ └── src
│ └── bin
│ └── method_name.rs
└── src
└── lib.rs <-- [Guest, contains Semaphore logic]