Make the dough: Put the flour in a large bowl and make a well in the center. Mix the ricotta and egg in a small bowl with a fork; add to the well. Using the fork and working your way around the well, gradually mix the flour into the ricotta mixture until the dough is crumbly. If the dough is too dry to come together, add up to 3 tablespoons water, a little at a time.
Turn the dough out onto a lightly floured surface and knead until smooth and elastic, about 6 minutes. Wrap the dough in plastic wrap and let rest at room temperature, 30 minutes. (The dough can be made a day ahead and refrigerated; bring it to room temperature before rolling.)
Divide the dough into 8 pieces. Working with 1 piece at a time (and keeping the other pieces wrapped), roll the dough on the counter with your hands into a 1/2-inch-thick log. With a knife or bench scraper, cut the log into 1/2-inch pieces. Roll each piece into a small ball. Flatten each ball of dough with your finger. Place the back of a butter knife on the flattened dough and gently pull it toward you so the dough curls around the knife. Repeat to form the remaining cavatelli; transfer to a floured baking sheet as you go.
Bring a large pot of salted water to a boil. Transfer the cavatelli to a colander and shake over the baking sheet to remove the excess flour. Add the cavatelli to the boiling water and cook until al dente, about 5 minutes.
Meanwhile, melt the butter in a large skillet over medium-high heat; add the asparagus and lemon zest and juice. Remove the cavatelli with a strainer or slotted spoon and add directly to the skillet along with 3/4 cup of the pasta cooking water. Cook, stirring gently, until the pasta is coated and the asparagus is tender, 3 to 4 minutes; season with salt and pepper. Stir in the parmesan and parsley; serve with more parmesan.