Preheat oven to 350°F (175°C) and line a baking sheet with parchment paper.
In a medium bowl, whisk together the flour, baking soda, baking powder, salt, cinnamon, nutmeg, and ginger. Set aside.
In a large mixing bowl, beat butter, brown sugar, and granulated sugar until light and fluffy (about 2-3 minutes).
Add egg and vanilla extract, mixing until well combined.
Gradually add the dry ingredients to the wet mixture, stirring just until combined.
Fold in the shredded carrots, nuts, and raisins (if using).
For thicker cookies, chill the dough in the refrigerator for 30 minutes. (Optional, but Recommended)
Scoop the dough into tablespoon-sized balls and place them 2 inches apart on the prepared baking sheet.
Bake for 10-12 minutes, or until the edges are set but the centers are slightly soft.
Let cookies cool on the baking sheet for 5 minutes, then transfer to a wire rack to cool completely.
Beat cream cheese and butter until smooth and creamy.
Add powdered sugar, vanilla, and salt, mixing until light and fluffy.
Spread frosting on top of each cookie, or sandwich two cookies together with frosting in the middle.
Enjoy!