Cook spaghetti according to directions in heavily salted water.
Right when you start boiling the water for the pasta, sauté the sliced onion in 1 tablespoon of the olive oil over medium heat in a very large skillet or pot until it's soft and starting to brown (about 3 minutes).
Turn the heat to low. Add the lime zest, the three cloves garlic, and the cayenne pepper (1/8 teaspoon), continuing to sauté and stirring occasionally, allowing the onions to caramelize a bit until the spaghetti has finished cooking (for about 10 minutes).
When the pasta is done, add approximately 1/2 cup of the pasta water to the skillet (I use a ladle for this). Use tongs to transfer the cooked spaghetti to the skillet.
Add the rest of the olive oil (2 tablespoons), kosher salt (1/2 teaspoon), black pepper to taste, and the lime juice (from one lime) to the skillet. Stir to coat and turn the heat to low.
Add arugula to skillet. Toss with the pasta (tongs are great for this) and let the heat wilt the arugula (about 3 minutes).
When arugula is wilted, turn off the heat. Add the halved cherry tomatoes (1 pint), fresh basil (2 tablespoons), crumbled feta (4 oz.), and grated parmesan (1/2 cup). Stir together and serve.
I recommend using a very large skillet (12 inches) so you have enough room to toss everything together, or a deep skillet with sides. If you don't have one, use another pot or Dutch oven.
Ingredient substitutions: Cotija cheese, queso fresco, or goat cheese can be used for the feta. Lemon zest and juice may be substituted for the lime. Omit the cayenne pepper if you are sensitive to spice. Chopped large tomatoes can be used instead of cherry tomatoes.