I recently started using Chess Position Trainer. It's absolutely amazing. Especially for what you are looking for. I don't even use the training, just the repertoire building, and I still highly recommend it.
Chess Openings Trainers - 2021 thread edition

Which version do you have?
(I like building a repertoire, but I feel like I need to practice against it)
Hey all . . . there's a great thread with a similar name at https://www.chess.com/forum/view/chess-openings/chess-openings-trainer-1 -- but it's three years old. Software and tools have been updated, new ones made, etc. So, I thought it might be useful to start a 2021 thread.
I would love to see opinions on two thoughts:
1. I want to design my own (not necessarily very deep) repertoire. I'd like to practice my own lines, but I also want to make sure I feel comfortable with off-beat lines that many folks may throw at me
2. It's be great to create some of this in "puzzle" form. Not actually a puzzle, but more along the lines of "what's the best move here" (yes, yes, I know that many positions don't have a single "best" move), and explanations. (Chess.com has something like that here, https://www.chess.com/lessons/play-like-ian-nepomniachtchi, although, obviously, I'm not looking to create something so fancy -- I just like the concept)
I look forward to hearing the collective wisdom here!