Use a food processor to combine all the ingredients (except olive oil) using the pulse setting until ingredients are combined with a little texture (not a paste).
Place mixture into a bowl and stir in the olive oil. Let sit 15-20 minutes before serving.
Serve over meat, chicken, seafood, etc.
Notes
When using the food processor, use the pulse setting so you can control how blended the ingredients get. You want the mixture to be slightly chunky (it shouldn't be totally smooth).
Add extra crushed red pepper if you want extra spice, and vide versa.
Add ¼ teaspoon of smoked paprika for a touch of smokiness and more heat.
Substitute white wine vinegar for red wine vinegar if needed.
Use both the stems and leaves of the cilantro for the best flavor.
Do not add the olive oil to the food processor - it should be stirred in with a spoon afterwards.
Letting it sit 15-20 minutes after making it allows the flavor to meld together before you serve it.